|
4 | 4 | 准备数据 |
5 | 5 | ######## |
6 | 6 |
|
7 | | -PaddlePaddle Fluid支持两种传入数据的方式: |
| 7 | +使用PaddlePaddle Fluid准备数据分为两个步骤: |
8 | 8 |
|
9 | | -1. Python Reader同步方式:用户需要使用 :code:`fluid.layers.data` |
| 9 | +- 自定义Reader生成训练/预测数据,生成的数据类型可以为Numpy Array或LoDTensor。根据Reader返回的数据形式的不同,可分为Batch级的Reader(每次返回一个batch的数据)和样本级的Reader(每次返回单个样本的数据)。 |
| 10 | + |
| 11 | +- 使用同步Feed方式或异步py_reader接口方式将数据送入网络进行训练/预测。 |
| 12 | + |
| 13 | +同步Feed方式和异步py_reader接口方式的比较 |
| 14 | +###################################### |
| 15 | + |
| 16 | +同步Feed方式和异步py_reader接口方式的不同体现于: |
| 17 | + |
| 18 | +1. 同步Feed方式:用户需使用 :code:`fluid.layers.data` |
10 | 19 | 配置数据输入层,并在 :code:`fluid.Executor` 或 :code:`fluid.ParallelExecutor` |
11 | | -中,使用 :code:`executor.run(feed=...)` 传入训练数据。 |
| 20 | +中使用 :code:`executor.run(feed=...)` 传入训练数据。数据准备和模型训练/预测的过程是同步进行的, |
| 21 | +效率较低。 |
12 | 22 |
|
13 | | -2. py_reader接口异步方式:用户需要先使用 :code:`fluid.layers.py_reader` 配置数据输入层,然后使用 |
| 23 | +2. 异步py_reader接口方式:用户需要先使用 :code:`fluid.layers.py_reader` 配置数据输入层,然后使用 |
14 | 24 | :code:`py_reader` 的 :code:`decorate_paddle_reader` 或 :code:`decorate_tensor_provider` |
15 | | -方法配置数据源,再通过 :code:`fluid.layers.read_file` 读取数据。 |
| 25 | +方法配置数据源,再通过 :code:`fluid.layers.read_file` 读取数据。数据传入与模型训练/预测过程是异步进行的, |
| 26 | +效率较高。 |
16 | 27 |
|
17 | 28 |
|
18 | 29 | 这两种准备数据方法的比较如下: |
19 | 30 |
|
20 | 31 | ======== ================================= ===================================== |
21 | | -对比项 Python Reader同步方式 py_reader接口异步方式 |
| 32 | +对比项 同步Feed方式 异步py_reader接口方式 |
22 | 33 | ======== ================================= ===================================== |
23 | 34 | API接口 :code:`executor.run(feed=...)` :code:`fluid.layers.py_reader` |
24 | | -数据格式 Numpy Array Numpy Array或LoDTensor |
| 35 | +数据格式 Numpy Array或LoDTensor Numpy Array或LoDTensor |
25 | 36 | 数据增强 Python端使用其他库完成 Python端使用其他库完成 |
26 | 37 | 速度 慢 快 |
27 | 38 | 推荐用途 调试模型 工业训练 |
28 | 39 | ======== ================================= ===================================== |
29 | 40 |
|
30 | | -Python Reader同步方式 |
31 | | -##################### |
| 41 | +读取Batch级Reader数据 |
| 42 | +####################### |
32 | 43 |
|
33 | | -Fluid提供Python Reader方式传入数据。 |
34 | | -Python Reader是纯的Python端接口,数据传入与模型训练/预测过程是同步的。用户可通过Numpy Array传入 |
35 | | -数据,具体请参考: |
| 44 | +若使用同步Feed方式送入数据,具体请参见: |
36 | 45 |
|
37 | 46 | .. toctree:: |
38 | 47 | :maxdepth: 1 |
39 | 48 |
|
40 | 49 | feeding_data.rst |
41 | 50 |
|
42 | | -Python Reader支持组batch、shuffle等高级功能,具体请参考: |
| 51 | +若使用异步py_reader接口方式送入数据,请调用py_reader的 :code:`decorate_tensor_provider` 接口完成,具体方式请参见: |
43 | 52 |
|
44 | 53 | .. toctree:: |
45 | 54 | :maxdepth: 1 |
46 | 55 |
|
47 | | - reader_cn.md |
| 56 | + use_py_reader.rst |
48 | 57 |
|
49 | | -py_reader接口异步方式 |
| 58 | +读取样本级Reader数据 |
50 | 59 | ##################### |
51 | 60 |
|
52 | | -Fluid提供PyReader异步数据传入方式,数据传入与模型训练/预测过程是异步的,效率较高。具体请参考: |
| 61 | +若自定义的Reader每次返回单个样本的数据,用户需通过以下步骤完成数据送入: |
| 62 | + |
| 63 | +- 调用Fluid提供的Reader相关接口完成组batch和部分的数据预处理功能,具体请参见: |
| 64 | + |
| 65 | +.. toctree:: |
| 66 | + :maxdepth: 1 |
| 67 | + |
| 68 | + reader_cn.md |
| 69 | + |
| 70 | +- 若使用同步Feed方式送入数据,请使用DataFeeder接口将Reader数据转换为LoDTensor格式后送入网络,具体请参见 :ref:`cn_api_fluid_DataFeeder` 。若使用异步py_reader接口方式送入数据,请调用 :code:`decorate_paddle_reader` 接口完成,具体请参见: |
53 | 71 |
|
54 | 72 | .. toctree:: |
55 | 73 | :maxdepth: 1 |
|
0 commit comments