提交 1e08258c 编写于 作者: W wangyanfei01

ISSUE=4588791 fix PaddlePaddle name error in doc

git-svn-id: https://svn.baidu.com/idl/trunk/paddle@1416 1ad973e4-5ce8-4261-8a94-b56d1f490c56
上级 d9ea3c27
...@@ -23,7 +23,7 @@ bool型的编译选项 ...@@ -23,7 +23,7 @@ bool型的编译选项
blas相关的编译选项 blas相关的编译选项
++++++++++++++++++ ++++++++++++++++++
Paddle可以使用 `MKL <https://software.intel.com/en-us/intel-mkl>`_ , PaddlePaddle可以使用 `MKL <https://software.intel.com/en-us/intel-mkl>`_ ,
`Atlas <http://math-atlas.sourceforge.net/>`_ , `Atlas <http://math-atlas.sourceforge.net/>`_ ,
`OpenBlas <http://www.openblas.net/>`_ 和 `OpenBlas <http://www.openblas.net/>`_ 和
`refference Blas <http://www.netlib.org/blas/>`_ ,任意一种cblas实现。 `refference Blas <http://www.netlib.org/blas/>`_ ,任意一种cblas实现。
...@@ -52,7 +52,7 @@ cmake编译时会首先在系统路径(/usr/lib\:/usr/local/lib)中寻找这些b ...@@ -52,7 +52,7 @@ cmake编译时会首先在系统路径(/usr/lib\:/usr/local/lib)中寻找这些b
cuda/cudnn相关的编译选项 cuda/cudnn相关的编译选项
++++++++++++++++++++++++ ++++++++++++++++++++++++
Paddle可以使用 cudnn v2之后的任何一个cudnn版本来编译运行。但需要注意的是编译和 PaddlePaddle可以使用 cudnn v2之后的任何一个cudnn版本来编译运行。但需要注意的是编译和
运行使用的cudnn尽量是同一个版本。推荐使用最新版本的cudnn v5.1。 运行使用的cudnn尽量是同一个版本。推荐使用最新版本的cudnn v5.1。
在cmake配置时可以使用 :code:`CUDNN_ROOT` 来配置CUDNN的安装路径。使用的命令也是 在cmake配置时可以使用 :code:`CUDNN_ROOT` 来配置CUDNN的安装路径。使用的命令也是
......
...@@ -25,7 +25,7 @@ PaddlePaddle提供的Docker镜像版本 ...@@ -25,7 +25,7 @@ PaddlePaddle提供的Docker镜像版本
同时,不同的稳定版本,会将latest替换成稳定版本的版本号。 同时,不同的稳定版本,会将latest替换成稳定版本的版本号。
Paddle提供的镜像并不包含任何命令运行,想要运行Paddle,您需要进入镜像运行paddle PaddlePaddle提供的镜像并不包含任何命令运行,想要运行PaddlePaddle,您需要进入镜像运行paddlePaddle
程序或者自定义一个含有启动脚本的image。具体请参考注意事项中的 程序或者自定义一个含有启动脚本的image。具体请参考注意事项中的
`使用ssh访问paddle镜像` `使用ssh访问paddle镜像`
......
安装Paddle 安装PaddlePaddle
========== ==========
Paddle提供数个预编译的二进制来进行安装。他们包括Docker镜像,ubuntu的deb安装包等 PaddlePaddle提供数个预编译的二进制来进行安装。他们包括Docker镜像,ubuntu的deb安装包等
。欢迎贡献更多的安装包。我们更推荐使用Docker镜像来部署Paddle环境。 。欢迎贡献更多的安装包。我们更推荐使用Docker镜像来部署PaddlePaddle环境。
.. toctree:: .. toctree::
docker_install.rst docker_install.rst
......
使用deb包在Ubuntu上安装paddle 使用deb包在Ubuntu上安装PaddlePaddle
============================= =============================
Paddle目前支持ubuntu 14.04版本使用deb包安装。更多的安装包Paddle会在近期提供。 PaddlePaddle目前支持ubuntu 14.04版本使用deb包安装。更多的安装包PaddlePaddle会在近期提供。
欢迎大家贡献各个发行版的安装包(例如,ubuntu,centos,debian,gentoo)。 欢迎大家贡献各个发行版的安装包(例如,ubuntu,centos,debian,gentoo)。
Paddle的ubuntu安装包分为两个版本,即CPU版本,和GPU版本,他们的下载地址是: PaddlePaddle的ubuntu安装包分为两个版本,即CPU版本,和GPU版本,他们的下载地址是:
* CPU版本的paddle安装包: TBD * CPU版本的PaddlePaddle安装包: TBD
* GPU版本的paddle安装包: TBD * GPU版本的PaddlePaddle安装包: TBD
需要注意的是,目前paddle的安装包只支持 需要注意的是,目前PaddlePaddle的安装包只支持
`AVX <https://en.wikipedia.org/wiki/Advanced_Vector_Extensions>`_ `AVX <https://en.wikipedia.org/wiki/Advanced_Vector_Extensions>`_
指令集的X86 CPU。如果系统使用不支持 `AVX`_ 指令集的CPU运行Paddle,那么需要从源码 指令集的X86 CPU。如果系统使用不支持 `AVX`_ 指令集的CPU运行PaddlePaddle,那么需要从源码
编译Paddle,请参考 `编译文档 <../cmake/index.html>`_ 。 编译PaddlePaddle,请参考 `编译文档 <../cmake/index.html>`_ 。
用户需要先讲paddle安装包下载到本地,然后执行如下命令即可完成安装。 用户需要先将PaddlePaddle安装包下载到本地,然后执行如下命令即可完成安装。
.. code-block:: shell .. code-block:: shell
dpkg -i paddle-1.0.0-cpu.deb dpkg -i paddle-1.0.0-cpu.deb
apt-get install -f apt-get install -f
需要注意的是,如果使用GPU版本的paddle,请安装CUDA 7.5 和CUDNN 5到本地环境中,并 需要注意的是,如果使用GPU版本的PaddlePaddle,请安装CUDA 7.5 和CUDNN 5到本地环境中,并
设置好对应的环境变量(LD_LIBRARY_PATH等等)。 设置好对应的环境变量(LD_LIBRARY_PATH等等)。
命令行参数 命令行参数
========== ==========
安装好的Paddle脚本包括多条命令,他们是 安装好的PaddlePaddle脚本包括多条命令,他们是
* paddle train即为paddle的训练进程。可以使用paddle train完成单机多显卡多线程的训 * paddle train即为PaddlePaddle的训练进程。可以使用paddle train完成单机多显卡多线程的训
练。也可以和paddle pserver组合使用,完成多机训练。 练。也可以和paddle pserver组合使用,完成多机训练。
* paddle pserver为paddle的parameter server进程。负责多机训练中的参数聚合工作。 * paddle pserver为PaddlePaddle的parameter server进程。负责多机训练中的参数聚合工作。
* paddle version可以打印出paddle的版本和编译时信息。 * paddle version可以打印出PaddlePaddle的版本和编译时信息。
* merge_model 可以将paddle的模型和配置打包成一个文件。方便部署分发。 * merge_model 可以将PaddlePaddle的模型和配置打包成一个文件。方便部署分发。
* dump_config 可以将paddle的训练模型以proto string的格式打印出来 * dump_config 可以将PaddlePaddle的训练模型以proto string的格式打印出来
* make_diagram 可以使用graphviz对paddle的网络模型进行绘制,方便调试使用。 * make_diagram 可以使用graphviz对PaddlePaddle的网络模型进行绘制,方便调试使用。
更详细的介绍请参考各个命令的命令行参数文档。 更详细的介绍请参考各个命令的命令行参数文档。
......
Paddle的数据提供(DataProvider)介绍 PaddlePaddle的数据提供(DataProvider)介绍
================================== ==================================
数据提供(DataProvider,后用DataProvider代替)是Paddle负责提供数据的模块。其作用是将训练数据 数据提供(DataProvider,后用DataProvider代替)是PaddlePaddle负责提供数据的模块。其作用是将训练数据
传入内存或者显存,让神经网络可以进行训练。简单的使用,用户可以使用Python的 传入内存或者显存,让神经网络可以进行训练。简单的使用,用户可以使用Python的
:code:`PyDataProvider` 来自定义传数据的过程。如果有更复杂的使用,或者需要更高的效率, :code:`PyDataProvider` 来自定义传数据的过程。如果有更复杂的使用,或者需要更高的效率,
用户也可以在C++端自定义一个 :code:`DataProvider` 。 用户也可以在C++端自定义一个 :code:`DataProvider` 。
Paddle需要用户在网络配置(trainer_config.py)中定义使用什么DataProvider,和DataProvider PaddlePaddle需要用户在网络配置(trainer_config.py)中定义使用什么DataProvider,和DataProvider
的一些参数,训练文件列表(train.list)和测试文件列表(test.list)。 的一些参数,训练文件列表(train.list)和测试文件列表(test.list)。
其中,train.list和test.list均为本地的两个文件(推荐直接放置到训练目录,以相对路径引用)。如果 其中,train.list和test.list均为本地的两个文件(推荐直接放置到训练目录,以相对路径引用)。如果
...@@ -14,7 +14,7 @@ test.list不设置,或者设置为None的话,那么在训练过程中,不 ...@@ -14,7 +14,7 @@ test.list不设置,或者设置为None的话,那么在训练过程中,不
参数指定的测试方式,在训练过程中进行测试,从而防止过拟合。 参数指定的测试方式,在训练过程中进行测试,从而防止过拟合。
一般情况下,train.list和test.list为纯文本文件,其每一行对应这每一个数据文件。数据文件存放在 一般情况下,train.list和test.list为纯文本文件,其每一行对应这每一个数据文件。数据文件存放在
本地磁盘中,将文件的绝对路径或相对路径(相对于Paddle程序运行时的路径)的方式写在train.list和 本地磁盘中,将文件的绝对路径或相对路径(相对于PaddlePaddle程序运行时的路径)的方式写在train.list和
test.list中。当然,train.list和test.list也可以放置hdfs文件路径,或者数据库连接地址等等。 test.list中。当然,train.list和test.list也可以放置hdfs文件路径,或者数据库连接地址等等。
用户在DataProvider中需要实现如何访问其中每一个文件。 用户在DataProvider中需要实现如何访问其中每一个文件。
......
PyDataProvider2的使用 PyDataProvider2的使用
===================== =====================
PyDataProvider是Paddle使用Python提供数据的推荐接口。使用该接口用户可以只关注如何 PyDataProvider是PaddlePaddle使用Python提供数据的推荐接口。使用该接口用户可以只关注如何
从文件中读取每一条数据,而不用关心数据如何传输给Paddle,数据如何存储等等。该数据 从文件中读取每一条数据,而不用关心数据如何传输给PaddlePaddle,数据如何存储等等。该数据
接口使用多线程读取数据,并提供了简单的Cache功能。 接口使用多线程读取数据,并提供了简单的Cache功能。
...@@ -26,9 +26,9 @@ train.list即为 ...@@ -26,9 +26,9 @@ train.list即为
.. literalinclude:: mnist_provider.py .. literalinclude:: mnist_provider.py
:linenos: :linenos:
其中第一行是引入Paddle的PyDataProvider2包。主要函数是process函数。process函数 其中第一行是引入PaddlePaddle的PyDataProvider2包。主要函数是process函数。process函数
具有两个参数,第一个参数是 settings 。这个参数在这个样例里没有使用,具 具有两个参数,第一个参数是 settings 。这个参数在这个样例里没有使用,具
体可以参考 settings 。第二个参数是filename,这个参数被Paddle进程传入,为 体可以参考 settings 。第二个参数是filename,这个参数被PaddlePaddle进程传入,为
train.list中的一行(即train.list若干数据文件路径的某一个路径)。 train.list中的一行(即train.list若干数据文件路径的某一个路径)。
:code:`@provider` 是一个Python的 `Decorator <http://www.learnpython.org/en/Decorators>`_ :code:`@provider` 是一个Python的 `Decorator <http://www.learnpython.org/en/Decorators>`_
...@@ -41,10 +41,10 @@ train.list中的一行(即train.list若干数据文件路径的某一个路径) ...@@ -41,10 +41,10 @@ train.list中的一行(即train.list若干数据文件路径的某一个路径)
式,请参考 `input_types`_ 的文档。 式,请参考 `input_types`_ 的文档。
process函数是实现数据输入的主函数,在这个函数中,实现了打开文本文件,从文本文件中读取 process函数是实现数据输入的主函数,在这个函数中,实现了打开文本文件,从文本文件中读取
每一行,并将每行转换成和 `input_types`_ 一致的特征,并在23行返回给Paddle进程。需要注意 每一行,并将每行转换成和 `input_types`_ 一致的特征,并在23行返回给PaddlePaddle进程。需要注意
的是, 返回的顺序需要和 `input_types`_ 中定义的顺序一致。 的是, 返回的顺序需要和 `input_types`_ 中定义的顺序一致。
同时,返回数据在Paddle中是仅仅返回一条完整的训练样本,并且使用关键词 :code:`yield` 。 同时,返回数据在PaddlePaddle中是仅仅返回一条完整的训练样本,并且使用关键词 :code:`yield` 。
在PyDataProvider中,可以为一个数据文件返回多条训练样本(就像这个样例一样),只需要在 在PyDataProvider中,可以为一个数据文件返回多条训练样本(就像这个样例一样),只需要在
process函数调用多次 :code:`yield` 即可。 :code:`yield` 是Python的一个关键词,相关的概 process函数调用多次 :code:`yield` 即可。 :code:`yield` 是Python的一个关键词,相关的概
念是 :code:`generator` 。使用这个关键词,可以在一个函数里,多次返回变量。 念是 :code:`generator` 。使用这个关键词,可以在一个函数里,多次返回变量。
...@@ -56,8 +56,8 @@ process函数调用多次 :code:`yield` 即可。 :code:`yield` 是Python的一 ...@@ -56,8 +56,8 @@ process函数调用多次 :code:`yield` 即可。 :code:`yield` 是Python的一
这里说明了训练数据是 'train.list',而没有测试数据。引用的DataProvider是 'mnist_provider' 这里说明了训练数据是 'train.list',而没有测试数据。引用的DataProvider是 'mnist_provider'
这个模块中的 'process' 函数。 这个模块中的 'process' 函数。
至此,简单的PyDataProvider样例就说明完毕了。对于用户来说,讲数据发送给Paddle,仅仅需要 至此,简单的PyDataProvider样例就说明完毕了。对于用户来说,讲数据发送给PaddlePaddle,仅仅需要
知道如何从 **一个文件** 里面读取 **一条** 样本。而Paddle进程帮助用户做了 知道如何从 **一个文件** 里面读取 **一条** 样本。而PaddlePaddle进程帮助用户做了
* 将数据组合成Batch训练 * 将数据组合成Batch训练
* Shuffle训练数据 * Shuffle训练数据
...@@ -140,7 +140,7 @@ DataProvider创建的时候执行。这个初始化函数具有如下参数: ...@@ -140,7 +140,7 @@ DataProvider创建的时候执行。这个初始化函数具有如下参数:
input_types input_types
+++++++++++ +++++++++++
Paddle的数据包括四种主要类型,和三种序列模式。其中,四种数据类型是 PaddlePaddle的数据包括四种主要类型,和三种序列模式。其中,四种数据类型是
* dense_vector 表示稠密的浮点数向量。 * dense_vector 表示稠密的浮点数向量。
* sparse_binary_vector 表示稀疏的零一向量,即大部分值为0,有值的位置只能取1 * sparse_binary_vector 表示稀疏的零一向量,即大部分值为0,有值的位置只能取1
...@@ -189,7 +189,7 @@ init_hook可以传入一个函数。这个函数在初始化的时候会被调 ...@@ -189,7 +189,7 @@ init_hook可以传入一个函数。这个函数在初始化的时候会被调
* file_list 所有文件列表。 * file_list 所有文件列表。
* 用户定义的参数使用args在训练配置中设置。 * 用户定义的参数使用args在训练配置中设置。
注意,paddle保留添加参数的权力,所以init_hook尽量使用 :code:`**kwargs` , 来接受不使用的 注意,PaddlePaddle保留添加参数的权力,所以init_hook尽量使用 :code:`**kwargs` , 来接受不使用的
函数来保证兼容性。 函数来保证兼容性。
.. _cache:: .. _cache::
......
Paddle的Python预测接口 PaddlePaddle的Python预测接口
================================== ==================================
Paddle目前使用Swig对其常用的预测接口进行了封装,使在Python环境下的预测接口更加简单。 PaddlePaddle目前使用Swig对其常用的预测接口进行了封装,使在Python环境下的预测接口更加简单。
在Python环境下预测结果,主要分为以下几个步骤。 在Python环境下预测结果,主要分为以下几个步骤。
* 读入解析训练配置 * 读入解析训练配置
...@@ -17,8 +17,8 @@ Paddle目前使用Swig对其常用的预测接口进行了封装,使在Python ...@@ -17,8 +17,8 @@ Paddle目前使用Swig对其常用的预测接口进行了封装,使在Python
主要的软件包为py_paddle.swig_paddle,这个软件包文档相对完善。可以使用python的 :code:`help()` 函数查询文档。主要步骤为: 主要的软件包为py_paddle.swig_paddle,这个软件包文档相对完善。可以使用python的 :code:`help()` 函数查询文档。主要步骤为:
* 在程序开始阶段,使用命令行参数初始化paddle * 在程序开始阶段,使用命令行参数初始化PaddlePaddle
* 在98行载入paddle的训练文件。读取config * 在98行载入PaddlePaddle的训练文件。读取config
* 在100行创建神经网络,并在83行载入参数。 * 在100行创建神经网络,并在83行载入参数。
* 103行创建一个从工具类,用来转换数据。 * 103行创建一个从工具类,用来转换数据。
- swig_paddle接受的原始数据是C++的Matrix,也就是直接写内存的float数组。 - swig_paddle接受的原始数据是C++的Matrix,也就是直接写内存的float数组。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册