Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
587e9e16
F
FluidDoc
项目概览
PaddlePaddle
/
FluidDoc
通知
10
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
23
列表
看板
标记
里程碑
合并请求
111
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
FluidDoc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
23
Issue
23
列表
看板
标记
里程碑
合并请求
111
合并请求
111
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
587e9e16
编写于
3月 19, 2019
作者:
C
Cheerego
提交者:
GitHub
3月 19, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update_reading_data (#699)
上级
69eb3400
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
65 addition
and
29 deletion
+65
-29
doc/fluid/user_guides/howto/prepare_data/feeding_data.rst
doc/fluid/user_guides/howto/prepare_data/feeding_data.rst
+4
-4
doc/fluid/user_guides/howto/prepare_data/index.rst
doc/fluid/user_guides/howto/prepare_data/index.rst
+55
-20
doc/fluid/user_guides/howto/prepare_data/reader_cn.md
doc/fluid/user_guides/howto/prepare_data/reader_cn.md
+3
-2
doc/fluid/user_guides/howto/prepare_data/use_py_reader.rst
doc/fluid/user_guides/howto/prepare_data/use_py_reader.rst
+3
-3
未找到文件。
doc/fluid/user_guides/howto/prepare_data/feeding_data.rst
浏览文件 @
587e9e16
.. _user_guide_use_numpy_array_as_train_data:
.. _user_guide_use_numpy_array_as_train_data:
##############
##############
##############
使用同步Feed方式读取训练和测试数据
同步数据读取
##############
##############
##############
PaddlePaddle Fluid支持使用 :code:`fluid.layers.data()` 配置数据层;
PaddlePaddle Fluid支持使用 :code:`fluid.layers.data()` 配置数据层;
再使用 Numpy Array 或者直接使用Python创建C++的
再使用 Numpy Array 或者直接使用Python创建C++的
...
@@ -166,4 +166,4 @@ PaddlePaddle Fluid目前支持的数据类型包括:
...
@@ -166,4 +166,4 @@ PaddlePaddle Fluid目前支持的数据类型包括:
* uint64: 次要标签类型
* uint64: 次要标签类型
* bool: 控制流数据类型
* bool: 控制流数据类型
* int16: 次要标签类型
* int16: 次要标签类型
* uint8: 输入数据类型,可用于图像像素
* uint8: 输入数据类型,可用于图像像素
\ No newline at end of file
doc/fluid/user_guides/howto/prepare_data/index.rst
浏览文件 @
587e9e16
...
@@ -6,21 +6,31 @@
...
@@ -6,21 +6,31 @@
使用PaddlePaddle Fluid准备数据分为两个步骤:
使用PaddlePaddle Fluid准备数据分为两个步骤:
- 自定义Reader生成训练/预测数据,生成的数据类型可以为Numpy Array或LoDTensor。根据Reader返回的数据形式的不同,可分为Batch级的Reader(每次返回一个batch的数据)和样本级的Reader(每次返回单个样本的数据)。
Step1: 自定义Reader生成训练/预测数据
###################################
- 使用同步Feed方式或异步py_reader接口方式将数据送入网络进行训练/预测
。
生成的数据类型可以为Numpy Array或LoDTensor。根据Reader返回的数据形式的不同,可分为Batch级的Reader和Sample(样本)级的Reader
。
同步Feed方式和异步py_reader接口方式的比较
Batch级的Reader每次返回一个Batch的数据,Sample级的Reader每次返回单个样本的数据
######################################
同步Feed方式和异步py_reader接口方式的不同体现于:
如果您的数据是Sample级的数据,我们提供了一个可以组建batch及数据预处理的工具::code:`Python Reader` 。
1. 同步Feed方式:用户需使用 :code:`fluid.layers.data`
Step2: 将数据送入网络进行训练/预测
###################################
Fluid提供两种方式,分别是同步Feed方式或异步py_reader接口方式,具体介绍如下:
- 同步Feed方式
用户需使用 :code:`fluid.layers.data`
配置数据输入层,并在 :code:`fluid.Executor` 或 :code:`fluid.ParallelExecutor`
配置数据输入层,并在 :code:`fluid.Executor` 或 :code:`fluid.ParallelExecutor`
中使用 :code:`executor.run(feed=...)` 传入训练数据。数据准备和模型训练/预测的过程是同步进行的,
中使用 :code:`executor.run(feed=...)` 传入训练数据。数据准备和模型训练/预测的过程是同步进行的,
效率较低。
效率较低。
2. 异步py_reader接口方式:用户需要先使用 :code:`fluid.layers.py_reader` 配置数据输入层,然后使用
- 异步py_reader接口方式
用户需要先使用 :code:`fluid.layers.py_reader` 配置数据输入层,然后使用
:code:`py_reader` 的 :code:`decorate_paddle_reader` 或 :code:`decorate_tensor_provider`
:code:`py_reader` 的 :code:`decorate_paddle_reader` 或 :code:`decorate_tensor_provider`
方法配置数据源,再通过 :code:`fluid.layers.read_file` 读取数据。数据传入与模型训练/预测过程是异步进行的,
方法配置数据源,再通过 :code:`fluid.layers.read_file` 读取数据。数据传入与模型训练/预测过程是异步进行的,
效率较高。
效率较高。
...
@@ -38,8 +48,45 @@ API接口 :code:`executor.run(feed=...)` :code:`fluid.layers.py_reader
...
@@ -38,8 +48,45 @@ API接口 :code:`executor.run(feed=...)` :code:`fluid.layers.py_reader
推荐用途 调试模型 工业训练
推荐用途 调试模型 工业训练
======== ================================= =====================================
======== ================================= =====================================
Reader数据类型对使用方式的影响
###############################
根据Reader数据类型的不同,上述Step1和Step2的具体操作将有所不同,具体介绍如下:
读取Sample级Reader数据
+++++++++++++++++++++
若自定义的Reader每次返回单个样本的数据,用户需通过以下步骤完成数据送入:
Step1. 组建数据
=============================
调用Fluid提供的Reader相关接口完成组batch和部分的数据预处理功能,具体请参见:
.. toctree::
:maxdepth: 1
reader_cn.md
Step2. 送入数据
=================================
若使用同步Feed方式送入数据,请使用DataFeeder接口将Reader数据转换为LoDTensor格式后送入网络,具体请参见 :ref:`cn_api_fluid_DataFeeder`
若使用异步py_reader接口方式送入数据,请调用 :code:`decorate_paddle_reader` 接口完成,具体请参见:
- :ref:`user_guides_use_py_reader`
读取Batch级Reader数据
读取Batch级Reader数据
#######################
+++++++++++++++++++++++
Step1. 组建数据
=================
由于Batch已经组好,已经满足了Step1的条件,可以直接进行Step2
Step2. 送入数据
=================================
若使用同步Feed方式送入数据,具体请参见:
若使用同步Feed方式送入数据,具体请参见:
...
@@ -55,18 +102,6 @@ API接口 :code:`executor.run(feed=...)` :code:`fluid.layers.py_reader
...
@@ -55,18 +102,6 @@ API接口 :code:`executor.run(feed=...)` :code:`fluid.layers.py_reader
use_py_reader.rst
use_py_reader.rst
读取样本级Reader数据
#####################
若自定义的Reader每次返回单个样本的数据,用户需通过以下步骤完成数据送入:
1.调用Fluid提供的Reader相关接口完成组batch和部分的数据预处理功能,具体请参见:
.. toctree::
:maxdepth: 1
reader_cn.md
2.若使用同步Feed方式送入数据,请使用DataFeeder接口将Reader数据转换为LoDTensor格式后送入网络,具体请参见 :ref:`cn_api_fluid_DataFeeder` 。若使用异步py_reader接口方式送入数据,请调用 :code:`decorate_paddle_reader` 接口完成,具体请参见:
- :ref:`user_guides_use_py_reader`
doc/fluid/user_guides/howto/prepare_data/reader_cn.md
浏览文件 @
587e9e16
# Python Reader
# 数据预处理工具
在模型训练和预测阶段,PaddlePaddle程序需要读取训练或预测数据。为了帮助用户编写数据读取的代码,我们提供了如下接口:
在模型训练和预测阶段,PaddlePaddle程序需要读取训练或预测数据。为了帮助您编写数据读取的代码,我们提供了如下接口:
-
*reader*
: 样本级的reader,用于读取数据的函数,数据可来自于文件、网络、随机数生成器等,函数每次返回一个样本数据项。
-
*reader*
: 样本级的reader,用于读取数据的函数,数据可来自于文件、网络、随机数生成器等,函数每次返回一个样本数据项。
-
*reader creator*
: 接受一个或多个reader作为参数、返回一个新reader的函数。
-
*reader creator*
: 接受一个或多个reader作为参数、返回一个新reader的函数。
...
...
doc/fluid/user_guides/howto/prepare_data/use_py_reader.rst
浏览文件 @
587e9e16
.. _user_guides_use_py_reader:
.. _user_guides_use_py_reader:
#############
###############
#############
使用PyReader读取训练和测试数据
异步数据读取
#############
###############
#############
除同步Feed方式外,我们提供了PyReader。PyReader的性能比 :ref:`user_guide_use_numpy_array_as_train_data` 更好,因为PyReader的数据读取和模型训练过程是异步进行的,且能与 :code:`double_buffer_reader` 配合以进一步提高数据读取性能。此外, :code:`double_buffer_reader` 负责异步完成CPU Tensor到GPU Tensor的转换,一定程度上提升了数据读取效率。
除同步Feed方式外,我们提供了PyReader。PyReader的性能比 :ref:`user_guide_use_numpy_array_as_train_data` 更好,因为PyReader的数据读取和模型训练过程是异步进行的,且能与 :code:`double_buffer_reader` 配合以进一步提高数据读取性能。此外, :code:`double_buffer_reader` 负责异步完成CPU Tensor到GPU Tensor的转换,一定程度上提升了数据读取效率。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录