.. _user_guide_prepare_data: ######## 准备数据 ######## PaddlePaddle Fluid支持两种传入数据的方式: 1. Python Reader同步方式:用户需要使用 :code:`fluid.layers.data` 配置数据输入层,并在 :code:`fluid.Executor` 或 :code:`fluid.ParallelExecutor` 中,使用 :code:`executor.run(feed=...)` 传入训练数据。 2. py_reader接口异步方式:用户需要先使用 :code:`fluid.layers.py_reader` 配置数据输入层,然后使用 :code:`py_reader` 的 :code:`decorate_paddle_reader` 或 :code:`decorate_tensor_provider` 方法配置数据源,再通过 :code:`fluid.layers.read_file` 读取数据。 这两种准备数据方法的比较如下: ======== ================================= ===================================== 对比项 Python Reader同步方式 py_reader接口异步方式 ======== ================================= ===================================== API接口 :code:`executor.run(feed=...)` :code:`fluid.layers.py_reader` 数据格式 Numpy Array Numpy Array或LoDTensor 数据增强 Python端使用其他库完成 Python端使用其他库完成 速度 慢 快 推荐用途 调试模型 工业训练 ======== ================================= ===================================== Python Reader同步方式 ##################### Fluid提供Python Reader方式传入数据。 Python Reader是纯的Python端接口,数据传入与模型训练/预测过程是同步的。用户可通过Numpy Array传入 数据,具体请参考: .. toctree:: :maxdepth: 2 feeding_data.rst Python Reader支持组batch、shuffle等高级功能,具体请参考: .. toctree:: :maxdepth: 2 reader.md py_reader接口异步方式 ##################### Fluid提供PyReader异步数据传入方式,数据传入与模型训练/预测过程是异步的,效率较高。具体请参考: .. toctree:: :maxdepth: 2 use_py_reader.rst LoD-Tensor简介 ##################### LoD-Tensor是Fluid中特有的概念,它在Tensor基础上附加了序列信息,支持处理变长数据。具体请参考: .. toctree:: :maxdepth:2 lod_tensor.md