如何理解return paddle.reader.xmap_readers(train_mapper,reader,cpu_count(),102400)?
paddle.reader.xmap_readers(train_mapper,reader,cpu_count(),102400)
·
paddle的数据读取
paddle读取数据时自带一个多线程读取数据的函数
return paddle.reader.xmap_readers(train_mapper,reader,cpu_count(),102400)该如何理解这个语句呢?
1.train_mapper 从reader生成器里获得一个个数据之后会先使用train_mapper的函数来处理数据。
2.reader参数是一个生成器函数。
3.cpu_count() 线程数
4.102400 可以类比于buffer_size:指一次读取多少个数据。
原本的例子如下:
paddle.reader.xmap_readers(mapper, reader, process_num, buffer_size, order=False),
这个函数有理解如下:
reader参数是一个生成器函数。
如函数名所示,xmap,里面用到了python的map函数,c
process_num是线程数,可以设置为cpu_count(),把所有核都用上。
buffer_size是一次读取多少个数据。
此外,还有并行读取数据的函数multiprocess_reader,具体的读者可以看技术文档。
更多推荐
所有评论(0)