准备数据

PaddlePaddle Fluid支持两种传入数据的方式:

  1. Python Reader同步方式:用户需要使用 fluid.layers.data配置数据输入层,并在 fluid.Executorfluid.ParallelExecutor中,使用 executor.run(feed=…) 传入训练数据。

  2. py_reader接口异步方式:用户需要先使用 fluid.layers.py_reader 配置数据输入层,然后使用py_readerdecorate_paddle_readerdecorate_tensor_provider方法配置数据源,再通过 fluid.layers.read_file 读取数据。

这两种准备数据方法的比较如下:

对比项Python Reader同步方式py_reader接口异步方式
API接口executor.run(feed=…)fluid.layers.py_reader
数据格式Numpy ArrayNumpy Array或LoDTensor
数据增强Python端使用其他库完成Python端使用其他库完成
速度
推荐用途调试模型工业训练

Python Reader同步方式

Fluid提供Python Reader方式传入数据。Python Reader是纯的Python端接口,数据传入与模型训练/预测过程是同步的。用户可通过Numpy Array传入数据,具体请参考:

Python Reader支持组batch、shuffle等高级功能,具体请参考:

py_reader接口异步方式

Fluid提供PyReader异步数据传入方式,数据传入与模型训练/预测过程是异步的,效率较高。具体请参考:

原文: http://paddlepaddle.org/documentation/docs/zh/1.3/user_guides/howto/prepare_data/index.html