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,具体的读者可以看技术文档。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐