未验证 提交 55be9c74 编写于 作者: C Cheerego 提交者: GitHub

Cherrypick1.3 (#652)

* thorough clean

* delete_DS_Store

* [Don't merge now]update_install_doc (#643)

* update_install_doc

* follow_comments

* add maxdepth (#646)

* upload_md (#649)

* update_version (#650)

* Translation of 16 new apis (#651)

* fix_windows
上级 6faa1da8
......@@ -10,7 +10,7 @@ API Reference
=============
.. toctree::
:maxdepth: 1
''')
file_object.write(' ../api_guides/index_en.rst'+'\n')
......
......@@ -3,7 +3,7 @@ API Reference
=============
.. toctree::
:maxdepth: 1
../api_guides/index_en.rst
fluid.rst
......
......@@ -128,9 +128,62 @@ BOOL类型。如果设置为True, GPU操作中的一些锁将被释放,Paralle
.. _cn_api_fluid_CompiledProgram:
CompiledProgram
-------------------------------
.. py:class:: paddle.fluid.CompiledProgram(program)
编译一个接着用来执行的Program。
1. 首先使用layers(网络层)创建程序。
2. (可选)可使用CompiledProgram来在运行之前优化程序。
3. 定义的程序或CompiledProgram由Executor运行。
CompiledProgram用于转换程序以进行各种优化。例如,
- 预先计算一些逻辑,以便每次运行更快。
- 转换Program,使其可以在多个设备中运行。
- 转换Program以进行优化预测或分布式训练。
**代码示例**
.. code-block:: python
place = fluid.CUDAPlace(0) if use_cuda else fluid.CPUPlace()
exe = fluid.Executor(place)
exe.run(startup)
compiled_prog = compiler.CompiledProgram(main).with_data_parallel(
loss_name=loss.name)
for i in range(5):
test_loss, = exe.run(compiled_prog,
feed=feed_dict,
fetch_list=[loss.name])
参数:
- **program** : 一个Program对象,承载着用户定义的模型计算逻辑
.. py:method:: with_data_parallel(loss_name=None, build_strategy=None, exec_strategy=None, share_vars_from=None)
配置Program使其以数据并行方式运行。
参数:
- **loss_name** (str) - 损失函数名称必须在训练过程中设置。 默认None。
- **build_strategy** (BuildStrategy) - build_strategy用于构建图,因此它可以在具有优化拓扑的多个设备/核上运行。 有关更多信息,请参阅 ``fluid.BuildStrategy`` 。 默认None。
- **exec_strategy** (ExecutionStrategy) - exec_strategy用于选择执行图的方式,例如使用多少线程,每次清理临时变量之前进行的迭代次数。 有关更多信息,请参阅 ``fluid.ExecutionStrategy`` 。 默认None。
- **share_vars_from** (CompiledProgram) - 如果有,此CompiledProgram将共享来自share_vars_from的变量。 share_vars_from指定的Program必须由此CompiledProgram之前的Executor运行,以便vars准备就绪。
返回: self
.. py:method:: with_inference_optimize(config)
添加预测优化。
参数:
- **config** - 用于创建预测器的NativeConfig或AnalysisConfig的实例
返回: self
......@@ -1512,56 +1565,6 @@ release_memory
.. _cn_api_fluid_Scope:
Scope
-------------------------------
.. py:class:: paddle.fluid.scope(scope)
(作用域)Scope为变量名的联合。所有变量都属于Scope。
从本地作用域中可以拉取到其双亲作用域的变量。
要想运行一个网络,需要指明它运行所在的域,确切的说: exe.Run(&scope) 。
一个网络可以在不同域上运行,并且更新该域的各类变量。
在作用域上创建一个变量,并在域中获取。
**代码示例**
.. code-block:: python
# create tensor from a scope and set value to it.
param = scope.var('Param').get_tensor()
param_array = np.full((height, row_numel), 5.0).astype("float32")
param.set(param_array, place)
.. py:method:: drop_kids(self: paddle.fluid.core.Scope) → None
.. py:method:: find_var(self: paddle.fluid.core.Scope, arg0: unicode) → paddle.fluid.core.Variable
.. py:method:: new_scope(self: paddle.fluid.core.Scope) → paddle.fluid.core.Scope
.. py:method:: var(self: paddle.fluid.core.Scope, arg0: unicode) → paddle.fluid.core.Variable
.. _cn_api_fluid_scope_guard:
scope_guard
......
......@@ -10,7 +10,7 @@ API Reference
=============
.. toctree::
:maxdepth: 1
''')
file_object.write(' ../api_guides/index.rst'+'\n')
......
......@@ -3,7 +3,7 @@ API
=====
.. toctree::
:maxdepth: 1
../api_guides/index.rst
fluid_cn.rst
......
......@@ -6,7 +6,7 @@
.. _cn_api_fluid_initializer_Bilinear:
Bilinear
>>>>>>>>>>>
-------------------------------
.. py:attribute:: paddle.fluid.initializer.Bilinear
......@@ -16,7 +16,7 @@ Bilinear
.. _cn_api_fluid_initializer_BilinearInitializer:
BilinearInitializer
>>>>>>>>>>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.initializer.BilinearInitializer
......@@ -49,7 +49,7 @@ num_filters = C和groups = C 表示这是按通道转置的卷积函数。滤波
.. _cn_api_fluid_initializer_Constant:
Constant
>>>>>>>>>>
-------------------------------
.. py:attribute:: paddle.fluid.initializer.Constant
......@@ -59,7 +59,7 @@ Constant
.. _cn_api_fluid_initializer_ConstantInitializer:
ConstantInitializer
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.initializer.ConstantInitializer(value=0.0, force_cpu=False)
......@@ -84,7 +84,7 @@ ConstantInitializer
.. _cn_api_fluid_initializer_force_init_on_cpu:
force_init_on_cpu
>>>>>>>>>>>>>>>>>>>
-------------------------------
.. py:function:: paddle.fluid.initializer.force_init_on_cpu()
......@@ -114,7 +114,7 @@ force_init_on_cpu
.. _cn_api_fluid_initializer_init_on_cpu:
init_on_cpu
>>>>>>>>>>>>
-------------------------------
.. py:function:: paddle.fluid.initializer.init_on_cpu(*args, **kwds)
......@@ -135,7 +135,7 @@ init_on_cpu
.. _cn_api_fluid_initializer_MSRA:
MSRA
>>>>>>
-------------------------------
.. py:attribute:: paddle.fluid.initializer.MSRA
......@@ -144,7 +144,7 @@ MSRA
.. _cn_api_fluid_initializer_MSRAInitializer:
MSRAInitializer
>>>>>>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.initializer.MSRAInitializer(uniform=True, fan_in=None, seed=0)
......@@ -189,7 +189,7 @@ MSRAInitializer
.. _cn_api_fluid_initializer_Normal:
Normal
>>>>>>>>
-------------------------------
.. py:attribute:: paddle.fluid.initializer.Normal
......@@ -199,7 +199,7 @@ Normal
.. _cn_api_fluid_initializer_NormalInitializer:
NormalInitializer
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.initializer.NormalInitializer(loc=0.0, scale=1.0, seed=0)
......@@ -218,15 +218,30 @@ NormalInitializer
param_attr=fluid.initializer.Normal(loc=0.0, scale=2.0)
.. _cn_api_fluid_initializer_NumpyArrayInitializer:
NumpyArrayInitializer
-------------------------------
.. py:class:: paddle.fluid.initializer.NumpyArrayInitializer(value)
使用Numpy型数组来初始化参数变量。
参数:
- **value** (numpy) - 用于初始化变量的一个Numpy型数组。
**代码示例**
.. code-block:: python
fc = fluid.layers.fc(input=x, size=10,
param_attr=fluid.initializer.NumpyArrayInitializer(numpy.array([1,2])))
.. _cn_api_fluid_initializer_TruncatedNormal:
TruncatedNormal
>>>>>>>>>>>>>>>>>
-------------------------------
.. py:attribute:: paddle.fluid.initializer.TruncatedNormal
......@@ -236,7 +251,7 @@ TruncatedNormal
.. _cn_api_fluid_initializer_TruncatedNormalInitializer:
TruncatedNormalInitializer
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.initializer.TruncatedNormalInitializer(loc=0.0, scale=1.0, seed=0)
......@@ -265,7 +280,7 @@ Random Truncated Normal(高斯)分布初始化器
.. _cn_api_fluid_initializer_Uniform:
Uniform
>>>>>>>>>
-------------------------------
.. py:attribute:: paddle.fluid.initializer.Uniform
......@@ -276,7 +291,7 @@ Uniform
.. _cn_api_fluid_initializer_UniformInitializer:
UniformInitializer
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.initializer.UniformInitializer(low=-1.0, high=1.0, seed=0)
......@@ -305,7 +320,7 @@ UniformInitializer
.. _cn_api_fluid_initializer_Xavier:
Xavier
>>>>>>>>>
-------------------------------
.. py:attribute:: paddle.fluid.initializer.Xavier
......@@ -319,7 +334,8 @@ Xavier
.. _cn_api_fluid_initializer_XavierInitializer:
XavierInitializer
>>>>>>>>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.initializer.XavierInitializer(uniform=True, fan_in=None, fan_out=None, seed=0)
该类实现Xavier权重初始化方法( Xavier weight initializer),Xavier权重初始化方法出自Xavier Glorot和Yoshua Bengio的论文 `Understanding the difficulty of training deep feedforward neural networks <http://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf>`_
......
此差异已折叠。
***
<a name="FAQ"></a>
<a name="FAQ"></a>
# **FAQ**
- CentOS6下如何编译python2.7为共享库?
- 报错“nccl.h找不到”
> 请[安装nccl2](https://developer.nvidia.com/nccl/nccl-download)
- 报错`Cannot uninstall 'six'.`
> 此问题可能与系统中已有Python有关,请使用`pip install paddlepaddle --ignore-installed six`(CPU)或`pip install paddlepaddle --ignore-installed six`(GPU)解决
- CentOS6下如何编译python2.7为共享库?
> 使用以下指令:
./configure --prefix=/usr/local/python2.7 --enable-shared
make && make install
./configure --prefix=/usr/local/python2.7 --enable-shared
make && make install
<!--TODO please add more F&Q parts here-->
- Ubuntu18.04下libidn11找不到?
> 使用以下指令:
apt install libidn11
apt install libidn11
- Ubuntu编译时出现大量的代码段不能识别?
> 这可能是由于cmake版本不匹配造成的,请在gcc的安装目录下使用以下指令:
apt install gcc-4.8 g++-4.8
cp gcc gcc.bak
cp g++ g++.bak
......@@ -28,46 +35,21 @@
rm g++
ln -s gcc-4.8 gcc
ln -s g++-4.8 g++
- 遇到paddlepaddle.whl is not a supported wheel on this platform?
> 出现这个问题的主要原因是,没有找到和当前系统匹配的paddlepaddle安装包。 请检查Python版本是否为2.7系列。另外最新的pip官方源中的安装包默认是manylinux1标准, 需要使用最新的pip (>9.0.0) 才可以安装。您可以执行以下指令更新您的pip:
- 遇到paddlepaddle*.whl is not a supported wheel on this platform?
> 出现这个问题的主要原因是,没有找到和当前系统匹配的paddlepaddle安装包。 请检查Python版本是否为2.7系列。另外最新的pip官方源中的安装包默认是manylinux1标准, 需要使用最新的pip (>9.0.0) 才可以安装。您可以执行以下指令更新您的pip:
pip install --upgrade pip
或者
python -c "import pip; print(pip.pep425tags.get_supported())"
pip install --upgrade pip
或者
python -c "import pip; print(pip.pep425tags.get_supported())"
> 如果系统支持的是 linux_x86_64 而安装包是 manylinux1_x86_64 ,需要升级pip版本到最新; 如果系统支持 manylinux1_x86_64 而安装包 (本地)是 linux_x86_64, 可以重命名这个whl包为 manylinux1_x86_64 再安装。
- 使用Docker编译出现问题?
> 请参照GitHub上[Issue12079](https://github.com/PaddlePaddle/Paddle/issues/12079)
- 什么是 Docker?
> 如果您没有听说 Docker,可以把它想象为一个类似 virtualenv 的系统,但是虚拟的不仅仅是 Python 的运行环境。
- Docker 还是虚拟机?
> 有人用虚拟机来类比 Docker。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。
- 为什么用 Docker?
> 把工具和配置都安装在一个 Docker image 里可以标准化编译环境。这样如果遇到问题,其他人可以复现问题以便帮助。
另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。
- 可以选择不用Docker吗?
> 当然可以。大家可以用把开发工具安装进入 Docker image 一样的方式,把这些工具安装到本机。这篇文档介绍基于 Docker 的开发流程,是因为这个流程比其他方法都更简便。
- 学习 Docker 有多难?
> 理解 Docker 并不难,大概花十分钟看一下[这篇文章](https://zhuanlan.zhihu.com/p/19902938)。
这可以帮您省掉花一小时安装和配置各种开发工具,以及切换机器时需要新安装的辛苦。别忘了 PaddlePaddle 更新可能导致需要新的开发工具。更别提简化问题复现带来的好处了。
> 请参照GitHub上[Issue12079](https://github.com/PaddlePaddle/Paddle/issues/12079)
- 可以用 IDE 吗?
......@@ -81,10 +63,6 @@
> 是的。我们的 Docker image 运行一个 [Bash 脚本](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/paddle/scripts/paddle_build.sh)。这个脚本调用`make -j$(nproc)` 来启动和 CPU 核一样多的进程来并行编译。
- Docker 需要 sudo?
> 如果用自己的电脑开发,自然也就有管理员权限(sudo)了。如果用公用的电脑开发,需要请管理员安装和配置好 Docker。此外,PaddlePaddle 项目在努力开始支持其他不需要 sudo 的集装箱技术,比如 rkt。
- 在 Windows/MacOS 上编译很慢?
> Docker 在 Windows 和 MacOS 都可以运行。不过实际上是运行在一个 Linux 虚拟机上。可能需要注意给这个虚拟机多分配一些 CPU 和内存,以保证编译高效。具体做法请参考[issue627](https://github.com/PaddlePaddle/Paddle/issues/627)。
......@@ -94,24 +72,24 @@
> 本文中的例子里,`docker run` 命令里都用了 `--rm` 参数,这样保证运行结束之后的 containers 不会保留在磁盘上。可以用 `docker ps -a` 命令看到停止后但是没有删除的 containers。`docker build` 命令有时候会产生一些中间结果,是没有名字的 images,也会占用磁盘。可以参考 [这篇文章](https://zaiste.net/posts/removing_docker_containers) 来清理这些内容。
- 在DockerToolbox下使用book时`http://localhost:8888/`无法打开?
> 需要将localhost替换成虚拟机ip,一般需要在浏览器中输入:`http://192.168.99.100:8888/`
- pip install gpu版本的PaddlePaddle后运行出现SegmentFault如下:
@ 0x7f6c8d214436 paddle::platform::EnforceNotMet::EnforceNotMet()
@ 0x7f6c8dfed666 paddle::platform::GetCUDADeviceCount()
@ 0x7f6c8dfed666 paddle::platform::GetCUDADeviceCount()
@ 0x7f6c8d2b93b6 paddle::framework::InitDevices()
> 出现这个问题原因主要是由于您的显卡驱动低于对应CUDA版本的要求,请保证您的显卡驱动支持所使用的CUDA版本
<a name="MACPRO"></a>
- MacOS下安装PaddlePaddle后import paddle.fluid出现`Fatal Python error: PyThreadState_Get: no current thread running`错误
<a name="MACPRO"></a>
- MacOS下安装PaddlePaddle后import paddle.fluid出现`Fatal Python error: PyThreadState_Get: no current thread running`错误
- For Python2.7.x (install by brew): 请使用`export LD_LIBRARY_PATH=/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7 && export DYLD_LIBRARY_PATH=/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7`
- For Python2.7.x (install by Python.org): 请使用`export LD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/2.7 && export DYLD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/2.7`
......@@ -120,11 +98,11 @@
<a name="OPENBLAS"></a>
- MACOS下使用自定义的openblas 详见issue:
> [ISSUE 13217](https://github.com/PaddlePaddle/Paddle/issues/13721)
- 已经安装swig但是仍旧出现swig找不到的问题 详见issue:
> [ISSUE 13759](https://github.com/PaddlePaddle/Paddle/issues/13759)
- 出现 “target pattern contain no '%'.”的问题 详见issue:
......
***
# **CentOS下从源码编译**
本说明将介绍如何在*64位台式机或笔记本电脑*以及CentOS系统下编译PaddlePaddle,我们支持的Ubuntu系统需满足以下要求:
## 环境准备
* CentOS 7 / 6(这涉及到相关工具是否能被正常安装)
* *64位操作系统*
* *CentOS 6 / 7*
* *Python 2.7/3.5/3.6/3.7*
* *pip或pip3 >= 9.0.1*
## 确定要编译的版本
* **仅支持CPU的PaddlePaddle**
## 选择CPU/GPU
<!--* 支持GPU的PaddlePaddle,为了使得PaddlePaddle程序运行的更加迅速,我们通常使用GPU对PaddlePaddle程序进行加速,但安装GPU版本的PaddlePaddle需要先拥有满足以下条件的NVIDIA® GPU(具体安装流程和配置请务必参见NVIDIA官方文档:[For CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)[For cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/)
* *Cuda 工具包9.0配合cuDNN v7*
* *Cuda 工具包8.0配合cuDNN v7*
* *GPU运算能力超过1.0的硬件设备*-->
* 目前仅支持在CentOS环境下编译安装CPU版本的PaddlePaddle
## 选择如何编译
我们在CentOS的系统下提供2种编译方式:
## 安装步骤
* Docker源码编译(不支持CentOS 6 / 7的GPU版本)(该镜像已经包含python2.7、python3.6、python3.7环境)
* 直接本机源码编译(不支持CentOS 6的全部版本以及CentOS 7的GPU版本)
在CentOS的系统下有2种编译方式:
我们更加推荐**使用Docker进行编译**,因为我们在把工具和配置都安装在一个 Docker image 里。这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。
同样对于那些出于各种原因不能够安装Docker的用户我们也提供了可以从**本机直接源码编译**的方法,但是由于在本机上的情况更加复杂,因此我们只支持特定的系统。
* Docker源码编译
* 本机源码编译(不支持CentOS 6)
<a name="ct_docker"></a>
<br/><br/>
### ***使用Docker编译***
为了更好的使用Docker并避免发生问题,我们推荐使用**最高版本的Docker**,关于**安装和使用Docker**的细节请参阅Docker[官方文档](https://docs.docker.com/install/)
[Docker](https://docs.docker.com/install/)是一个开源的应用容器引擎。使用Docker,既可以将PaddlePaddle的安装&使用与系统环境隔离,也可以与主机共享GPU、网络等资源
使用Docker编译PaddlePaddle,您需要:
- 在本地主机上[安装Docker](https://hub.docker.com/search/?type=edition&offering=community)
<!--TODO add the following back when support gpu version on Cent-->
- 如需在Linux开启GPU支持,请[安装nvidia-docker](https://github.com/NVIDIA/nvidia-docker)
当您已经**正确安装Docker**后你就可以开始**使用Docker编译PaddlePaddle**
请您按照以下步骤安装
1. 请首先选择您希望储存PaddlePaddle的路径,然后在该路径下使用以下命令将PaddlePaddle的源码从github克隆到本地当前目录下名为Paddle的文件夹中:
......@@ -44,27 +37,36 @@
2. 进入Paddle目录下: `cd Paddle`
3. 利用我们提供的镜像(使用该命令您可以不必提前下载镜像)
3. 创建并进入已配置好编译环境的Docker容器
`docker run --name paddle-test -v $PWD:/paddle --network=host -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash`
> --name paddle-test为您创建的Docker容器命名为paddle-test,-v $PWD:/paddle 将当前目录挂载到Docker容器中的/paddle目录下(Linux中PWD变量会展开为当前路径的[绝对路径](https://baike.baidu.com/item/绝对路径/481185)),-it 与宿主机保持交互状态,`hub.baidubce.com/paddlepaddle/paddle` 使用名为`hub.baidubce.com/paddlepaddle/paddle:latest-dev`的镜像创建Docker容器,/bin/bash 进入容器后启动/bin/bash命令。
4. 进入Docker后进入paddle目录下:`cd paddle`
4. 进入Docker后进入paddle目录下:
`cd paddle`
5. 切换到较稳定版本下进行编译:
`git checkout v1.1`
`git checkout [分支名]`
例如:
`git checkout release/1.2`
注意:python3.6、python3.7版本从release/1.2分支开始支持
6. 创建并进入/paddle/build路径下:
`mkdir -p /paddle/build && cd /paddle/build`
7. 使用以下命令安装相关依赖:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
7. 使用以下命令安装相关依赖:
For Python2: pip install protobuf==3.1.0
For Python3: pip3.5 install protobuf==3.1.0
注意:以上用Python3.5命令来举例,如您的Python版本为3.6/3.7,请将上述命令中的Python3.5改成Python3.6/Python3.7
> 安装protobuf 3.1.0。
......@@ -75,7 +77,7 @@
8. 执行cmake:
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)
>请注意修改参数`-DPY_VERSION`为您希望编译使用的python版本, 如以下命令中`-DPY_VERSION=3.5`表示python版本为3.5.x
>请注意修改参数`-DPY_VERSION`为您希望编译使用的python版本, 例如`-DPY_VERSION=3.5`表示python版本为3.5.x
* 对于需要编译**CPU版本PaddlePaddle**的用户:
......@@ -91,35 +93,23 @@
10. 编译成功后进入`/paddle/build/python/dist`目录下找到生成的`.whl`包: `cd /paddle/build/python/dist`
11. 在当前机器或目标机器安装编译好的`.whl`包:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
11. 在当前机器或目标机器安装编译好的`.whl`包:
For Python2: pip install (whl包的名字)
For Python3: pip3.5 install (whl包的名字)
注意:以上涉及Python3的命令,用Python3.5来举例,如您的Python版本为3.6/3.7,请将上述命令中的Python3.5改成Python3.6/Python3.7
至此您已经成功使用Docker安装PaddlePaddle,您只需要进入Docker容器后运行PaddlePaddle即可,更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
> 注:PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 安装后,在容器中编辑代码。
恭喜您,现在您已经完成使用Docker编译PaddlePaddle的过程。
恭喜,至此您已完成PaddlePaddle的编译安装。您只需要进入Docker容器后运行PaddlePaddle,即可开始使用。更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
> 注:PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 来安装
<a name="ct_source"></a>
<br/><br/>
### ***本机编译***
**请严格按照以下指令顺序执行**
1. 检查您的计算机和操作系统是否符合我们支持的编译标准: `uname -m && cat /etc/*release`
2. 更新`yum`的源: `yum update`, 并添加必要的yum源:`yum install -y epel-release`, 并提前安装openCV
2. 更新`yum`的源: `yum update`, 并添加必要的yum源:`yum install -y epel-release`, 并提前安装[OpenCV](https://opencv.org/releases.html)
3. 安装必要的工具`bzip2`以及`make``yum install -y bzip2``yum install -y make`
......@@ -159,7 +149,7 @@
5. 进入虚环境:`workon paddle-venv`
6. **执行编译前**请您确认在虚环境中安装有[编译依赖表](../Tables.html/#third_party)中提到的相关依赖:<!--TODO:Link 安装依赖表到这里-->
6. **执行编译前**请您确认在虚环境中安装有[编译依赖表](../Tables.html/#third_party)中提到的相关依赖:
* 这里特别提供`patchELF`的安装方法,其他的依赖可以使用`yum install`或者`pip install`/`pip3 install` 后跟依赖名称和版本安装:
......@@ -172,7 +162,11 @@
- `cd Paddle`
8. 切换到较稳定release分支下进行编译(从1.2分支开始支持python3.6及3.7版本):
8. 切换到较稳定release分支下进行编译:
`git checkout [分支名]`
例如:
`git checkout release/1.2`
......@@ -182,7 +176,7 @@
10. 执行cmake:
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)<!--TODO:Link 安装选项表到这里-->
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)
* 对于需要编译**CPU版本PaddlePaddle**的用户:
......@@ -203,16 +197,14 @@
`pip install (whl包的名字)`或`pip3 install (whl包的名字)`
恭喜您,现在您已经完成使本机编译PaddlePaddle的过程了。
恭喜,至此您已完成PaddlePaddle的编译安装
<br/><br/>
## ***验证安装***
安装完成后您可以使用:`python` 进入Python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
安装完成后您可以使用:`python` `python3` 进入Python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用对应版本pip)
请使用以下命令卸载PaddlePaddle:
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
使用Docker安装PaddlePaddle的用户,请进入包含PaddlePaddle的容器中使用上述命令,注意使用对应版本的pip
***
# **MacOS下从源码编译**
本说明将介绍如何在*64位台式机或笔记本电脑*以及MacOS系统下编译PaddlePaddle,我们支持的MacOS系统需满足#以下要求:
## 环境准备
* MacOS 10.12/10.13/10.14(这涉及到相关工具是否能被正常安装)
* *64位操作系统*
* *MacOS 10.12/10.13/10.14*
* *Python 2.7/3.5/3.6/3.7*
* *pip或pip3 >= 9.0.1*
## 确定要编译的版本
* **仅支持CPU的PaddlePaddle**
<!--* 支持GPU的PaddlePaddle,为了使得PaddlePaddle程序运行的更加迅速,我们通常使用GPU对PaddlePaddle程序进行加速,但安装GPU版本的PaddlePaddle需要先拥有满足以下条件的NVIDIA® GPU(具体安装流程和配置请务必参见NVIDIA官方文档:[For CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)[For cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/)
* *Cuda 工具包9.0配合cuDNN v7*
* *Cuda 工具包8.0配合cuDNN v7*
* *GPU运算能力超过1.0的硬件设备*-->
## 选择如何编译
在MacOS 10.12/10.13/10.14 的系统下我们提供2种编译方式:
* Docker源码编译 (该镜像已经包含python2.7、python3.6、python3.7环境)
* 直接本机源码编译
我们更加推荐**使用Docker进行编译**,因为我们在把工具和配置都安装在一个 Docker image 里。这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。
同样对于那些出于各种原因不能够安装Docker的用户我们也提供了可以从**本机直接源码编译**的方法,但是由于在本机上的情况更加复杂,因此我们只支持特定的系统。
## 选择CPU/GPU
* 目前仅支持在MacOS环境下编译安装CPU版本的PaddlePaddle
## 安装步骤
在MacOS系统下有2种编译方式:
* Docker源码编译
* 本机源码编译
<a name="mac_docker"></a>
<br/><br/>
### ***使用Docker编译***
为了更好的使用Docker并避免发生问题,我们推荐使用**最高版本的Docker**,关于**安装和使用Docker**的细节请参阅Docker[官方文档](https://docs.docker.com/install/)
[Docker](https://docs.docker.com/install/)是一个开源的应用容器引擎。使用Docker,既可以将PaddlePaddle的安装&使用与系统环境隔离,也可以与主机共享GPU、网络等资源
使用Docker编译PaddlePaddle,您需要:
> 请注意,在MacOS系统下登陆docker需要使用您的dockerID进行登录,否则将出现`Authenticate Failed`错误。
- 在本地主机上[安装Docker](https://hub.docker.com/search/?type=edition&offering=community)
- 使用Docker ID登陆Docker,以避免出现`Authenticate Failed`错误
当您已经**正确安装Docker**后你就可以开始**使用Docker编译PaddlePaddle**
请您按照以下步骤安装
1. 进入Mac的终端
......@@ -52,27 +38,36 @@
3. 进入Paddle目录下: `cd Paddle`
4. 利用我们提供的镜像(使用该命令您可以不必提前下载镜像)
4. 创建并进入满足编译环境的Docker容器
`docker run --name paddle-test -v $PWD:/paddle --network=host -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash`
> --name paddle-test为您创建的Docker容器命名为paddle-test,-v $PWD:/paddle 将当前目录挂载到Docker容器中的/paddle目录下(Linux中PWD变量会展开为当前路径的[绝对路径](https://baike.baidu.com/item/绝对路径/481185)),-it 与宿主机保持交互状态,`hub.baidubce.com/paddlepaddle/paddle:latest-dev` 使用名为`hub.baidubce.com/paddlepaddle/paddle:latest-dev`的镜像创建Docker容器,/bin/bash 进入容器后启动/bin/bash命令。
5. 进入Docker后进入paddle目录下:`cd paddle`
5. 进入Docker后进入paddle目录下:
`cd paddle`
6. 切换到较稳定版本下进行编译:
`git checkout v1.1`
`git checkout [分支名]`
例如:
`git checkout release/1.2`
注意:python3.6、python3.7版本从release/1.2分支开始支持
7. 创建并进入/paddle/build路径下:
`mkdir -p /paddle/build && cd /paddle/build`
8. 使用以下命令安装相关依赖:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
8. 使用以下命令安装相关依赖:
For Python2: pip install protobuf==3.1.0
For Python3: pip3.5 install protobuf==3.1.0
注意:以上用Python3.5命令来举例,如您的Python版本为3.6/3.7,请将上述命令中的Python3.5改成Python3.6/Python3.7
> 安装protobuf 3.1.0。
......@@ -82,18 +77,14 @@
9. 执行cmake:
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)<!--TODO: Link 编译选项表到这里-->
>请注意修改参数`-DPY_VERSION`为您希望编译使用的python版本, 如以下命令中`-DPY_VERSION=3.5`表示python版本为3.5.x
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)
>请注意修改参数`-DPY_VERSION`为您希望编译使用的python版本, 例如`-DPY_VERSION=3.5`表示python版本为3.5.x
* 对于需要编译**CPU版本PaddlePaddle**的用户:
`cmake .. -DPY_VERSION=3.5 -DWITH_FLUID_ONLY=ON -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release`
> 我们目前不支持CentOS下GPU版本PaddlePaddle的编译
> 我们目前不支持MacOS下GPU版本PaddlePaddle的编译
10. 执行编译:
......@@ -103,30 +94,28 @@
11. 编译成功后进入`/paddle/build/python/dist`目录下找到生成的`.whl`包: `cd /paddle/build/python/dist`
12. 在当前机器或目标机器安装编译好的`.whl`包:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
12. 在当前机器或目标机器安装编译好的`.whl`包:
For Python2: pip install (whl包的名字)
For Python3: pip3.5 install (whl包的名字)
注意:以上涉及Python3的命令,用Python3.5来举例,如您的Python版本为3.6/3.7,请将上述命令中的Python3.5改成Python3.6/Python3.7
至此您已经成功使用Docker安装PaddlePaddle,您只需要进入Docker容器后运行PaddlePaddle即可,更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
> 注:PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 安装后,在容器中编辑代码。
恭喜您,现在您已经完成使用Docker编译PaddlePaddle的过程。
恭喜,至此您已完成PaddlePaddle的编译安装。您只需要进入Docker容器后运行PaddlePaddle,即可开始使用。更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
> 注:PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 来安装
<a name="mac_source"></a>
<br/><br/>
### ***本机编译***
**请严格按照以下指令顺序执行**
1. 检查您的计算机和操作系统是否符合我们支持的编译标准: `uname -m` 并且在`关于本机`中查看系统版本。并提前安装[OpenCV](https://opencv.org/releases.html)
1. 检查您的计算机和操作系统是否符合我们支持的编译标准: `uname -m` 并且在`关于本机`中查看系统版本。并提前安装openCV。
2. 安装Python以及pip:
2. 安装python以及pip:
> **请不要使用MacOS中自带python**,我们强烈建议您使用[Homebrew](https://brew.sh)安装python(对于**Python3**请使用python[官方下载](https://www.python.org/downloads/mac-osx/)python3.5.x、python3.6.x、python3.7.x), pip以及其他的依赖,这会大大降低您安装编译的难度。
> **请不要使用MacOS中自带Python**,我们强烈建议您使用[Homebrew](https://brew.sh)安装python(对于**Python3**请使用python[官方下载](https://www.python.org/downloads/mac-osx/)python3.5.x、python3.6.x、python3.7.x), pip以及其他的依赖,这将会使您高效编译。
For python2: brew install python@2
For python3: 使用Python官网安装
......@@ -155,9 +144,6 @@
- g. (可选)如果您是在MacOS 10.14上编译PaddlePaddle,请保证您已经安装了[对应版本](http://developer.apple.com/download)的Xcode。
5. **执行编译前**请您确认您的环境中安装有[编译依赖表](../Tables.html/#third_party)中提到的相关依赖,否则我们强烈推荐使用`Homebrew`安装相关依赖。
> MacOS下如果您未自行修改或安装过“编译依赖表”中提到的依赖,则仅需要使用`pip`安装`numpy,protobuf,wheel`,使用`homebrew`安装`wget,swig`,另外安装`cmake`即可
......@@ -171,24 +157,29 @@
- b. 如果您不想使用系统默认的blas而希望使用自己安装的OPENBLAS请参见[FAQ](../FAQ.html/#OPENBLAS)
6. 将PaddlePaddle的源码clone在当下目录下的Paddle的文件夹中,并进入Padde目录下:
- `git clone https://github.com/PaddlePaddle/Paddle.git`
- `cd Paddle`
7. 切换到较稳定release分支下进行编译:(注意,python3.6、python3.7版本是从1.2分支开始支持)
7. 切换到较稳定release分支下进行编译:
`git checkout [分支名]`
例如:
`git checkout release/1.2`
注意:python3.6、python3.7版本从release/1.2分支开始支持
8. 并且请创建并进入一个叫build的目录下:
`mkdir build && cd build`
9. 执行cmake:
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)<!--TODO:Link 安装选项表到这里-->
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)
* 对于需要编译**CPU版本PaddlePaddle**的用户:
......@@ -197,7 +188,6 @@
-DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DWITH_FLUID_ONLY=ON -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
>`-DPY_VERSION=3.5`请修改为安装环境的Python版本
10. 使用以下命令来编译:
`make -j4`
......@@ -210,17 +200,14 @@
> 如果您的电脑上安装有多个python环境以及pip请参见[FAQ](../Tables.html/#MACPRO)
恭喜您,现在您已经完成使用本机编译PaddlePaddle的过程了。
恭喜,至此您已完成PaddlePaddle的编译安装
<br/><br/>
## ***验证安装***
安装完成后您可以使用:`python` 进入Python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
安装完成后您可以使用:`python` `python3` 进入Python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用相应版本的pip):
请使用以下命令卸载PaddlePaddle
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
使用Docker安装PaddlePaddle的用户,请进入包含PaddlePaddle的容器中使用上述命令,注意使用对应版本的pip
***
# **Ubuntu下从源码编译**
本说明将介绍如何在*64位台式机或笔记本电脑*以及Ubuntu系统下编译PaddlePaddle,我们支持的Ubuntu系统需满足以下要求:
* Ubuntu 14.04/16.04/18.04(这涉及到相关工具是否能被正常安装)
## 确定要编译的版本
* **仅支持CPU的PaddlePaddle**,如果您的系统没有 NVIDIA® GPU,则必须安装此版本。而此版本较GPU版本更加容易安
因此即使您的计算机上拥有GPU我们也推荐您先安装CPU版本的PaddlePaddle来检测您本地的环境是否适合。
## 环境准备
* **支持GPU的PaddlePaddle**,为了使得PaddlePaddle程序运行的更加迅速,我们通常使用GPU对PaddlePaddle程序进行加速,但安装GPU版本的PaddlePaddle需要先拥有满足以下条件的NVIDIA® GPU(具体安装流程和配置请务必参见NVIDIA官方文档:[For CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)[For cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/)
* *CUDA 工具包9.0配合cuDNN v7*
* *CUDA 工具包8.0配合cuDNN v7*
* *GPU运算能力超过1.0的硬件设备*
* *64位操作系统*
* *Ubuntu 14.04 /16.04 /18.04*
* *Python 2.7/3.5/3.6/3.7*
* *pip或pip3 >= 9.0.1*
## 选择如何编译
在Ubuntu的系统下我们提供2种编译方式:
## 选择CPU/GPU
* Docker源码编译 (该镜像已经包含python2.7、python3.6、python3.7环境)
* 直接本机源码编译(不支持ubuntu18.04下GPU版本)
* 如果您的计算机没有 NVIDIA® GPU,请编译CPU版的PaddlePaddle
我们更加推荐**使用Docker进行编译**,因为我们在把工具和配置都安装在一个 Docker image 里。这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。有人用虚拟机来类比 Docker。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。
* 如果您的计算机有NVIDIA® GPU,并且满足以下条件,推荐编译GPU版的PaddlePaddle
* *CUDA 工具包9.0配合cuDNN v7*
* *CUDA 工具包8.0配合cuDNN v7*
* *CUDA 工具包8.0配合cuDNN v5*
* *GPU运算能力超过1.0的硬件设备*
## 安装步骤
在Ubuntu的系统下有2种编译方式:
我们也提供了可以从**本机直接源码编译**的方法,但是由于在本机上的情况更加复杂,我们只对特定系统提供了支持。
* Docker源码编译(暂不支持Ubuntu18.04下GPU版本)
* 本机源码编译
<a name="ubt_docker"></a>
### 用Docker编译
<br/><br/>
### ***使用Docker编译***
为了更好的使用Docker并避免发生问题,我们推荐使用**最高版本的Docker**,关于**安装和使用Docker**的细节请参阅Docker[官方文档](https://docs.docker.com/install/)
[Docker](https://docs.docker.com/install/)是一个开源的应用容器引擎。使用Docker,既可以将PaddlePaddle的安装&使用与系统环境隔离,也可以与主机共享GPU、网络等资源
使用Docker编译PaddlePaddle,您需要:
> 请注意,要安装和使用支持 GPU 的PaddlePaddle版本,您必须先安装[nvidia-docker](https://github.com/NVIDIA/nvidia-docker)
- 在本地主机上[安装Docker](https://hub.docker.com/search/?type=edition&offering=community)
- 如需在Linux开启GPU支持,请[安装nvidia-docker](https://github.com/NVIDIA/nvidia-docker)
当您已经**正确安装Docker**后你就可以开始**使用Docker编译PaddlePaddle**
请您按照以下步骤安装:
1. 请首先选择您希望储存PaddlePaddle的路径,然后在该路径下使用以下命令将PaddlePaddle的源码从github克隆到本地当前目录下名为Paddle的文件夹中:
......@@ -46,47 +43,58 @@
2. 进入Paddle目录下: `cd Paddle`
3. 利用我们提供的镜像(使用该命令您可以不必提前下载镜像)
3. 创建并进入满足编译环境的Docker容器
`docker run --name paddle-test -v $PWD:/paddle --network=host -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash`
> --name paddle-test为您创建的Docker容器命名为paddle-test,-v $PWD:/paddle 将当前目录挂载到Docker容器中的/paddle目录下(Linux中PWD变量会展开为当前路径的[绝对路径](https://baike.baidu.com/item/绝对路径/481185)),-it 与宿主机保持交互状态,`hub.baidubce.com/paddlepaddle/paddle:latest-dev` 使用名为`hub.baidubce.com/paddlepaddle/paddle:latest-dev`的镜像创建Docker容器,/bin/bash 进入容器后启动/bin/bash命令。
4. 进入Docker后进入paddle目录下:`cd paddle`
4. 进入Docker后进入paddle目录下:
`cd paddle`
5. 切换到较稳定release分支下进行编译:
5. 切换到较稳定release分支下进行编译:(注意,python3.6、python3.7版本是从1.2分支开始支持)
`git checkout [分支名]`
例如:
`git checkout release/1.2`
注意:python3.6、python3.7版本从release/1.2分支开始支持
6. 创建并进入/paddle/build路径下:
`mkdir -p /paddle/build && cd /paddle/build`
7. 使用以下命令安装相关依赖:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
7. 使用以下命令安装相关依赖:
For Python2: pip install protobuf==3.1.0
For Python3: pip3.5 install protobuf==3.1.0
注意:以上用Python3.5命令来举例,如您的Python版本为3.6/3.7,请将上述命令中的Python3.5改成Python3.6/Python3.7
> 安装protobuf 3.1.0。
`apt install patchelf`
> 安装patchelf,PatchELF 是一个小而实用的程序,用于修改ELF可执行文件的动态链接器和RPATH。
> 安装patchelf
这是一个小而实用的程序,用于修改ELF可执行文件的动态链接器和RPATH
8. 执行cmake:
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)<!--TODO: Link 编译选项表到这里-->
>请注意修改参数`-DPY_VERSION`为您希望编译使用的python版本, 如以下命令中`-DPY_VERSION=3.5`表示python版本为3.5.x
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)
* 对于需要编译**CPU版本PaddlePaddle**的用户:
>请注意修改参数`-DPY_VERSION`为您希望编译使用的python版本, 例如`-DPY_VERSION=3.5`表示python版本为3.5.x
* 编译**CPU版本PaddlePaddle**:
`cmake .. -DPY_VERSION=3.5 -DWITH_FLUID_ONLY=ON -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release`
* 对于需要编译**GPU版本PaddlePaddle**的用户
* 编译**GPU版本PaddlePaddle**
`cmake .. -DPY_VERSION=3.5 -DWITH_FLUID_ONLY=ON -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release`
9. 执行编译:
`make -j$(nproc)`
......@@ -95,42 +103,37 @@
10. 编译成功后进入`/paddle/build/python/dist`目录下找到生成的`.whl`包: `cd /paddle/build/python/dist`
11. 在当前机器或目标机器安装编译好的`.whl`包:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
11. 在当前机器或目标机器安装编译好的`.whl`包:
For Python2: pip install (whl包的名字)
For Python3: pip3.5 install (whl包的名字)
注意:以上涉及Python3的命令,用Python3.5来举例,如您的Python版本为3.6/3.7,请将上述命令中的Python3.5改成Python3.6/Python3.7
至此您已经成功使用Docker安装PaddlePaddle,您只需要进入Docker容器后运行PaddlePaddle即可,更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
> 注:PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 安装后,在容器中编辑代码。
恭喜,至此您已完成PaddlePaddle的编译安装。您只需要进入Docker容器后运行PaddlePaddle,即可开始使用。更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
恭喜您,现在您已经完成使用Docker编译PaddlePaddle的过程
> 注:PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 来安装
<a name="ubt_source"></a>
<br/><br/>
### ***本机编译***
**请严格按照以下指令顺序执行**
1. 检查您的计算机和操作系统是否符合我们支持的编译标准: `uname -m && cat /etc/*release`
2. 更新`apt`的源: `apt update`, 并提前安装openCV
2. 更新`apt`的源: `apt update`, 并提前安装[OpenCV](https://opencv.org/releases.html)
3. 我们支持使用virtualenv进行编译安装,首先请使用以下命令创建一个名为`paddle-venv`的虚环境:
* a. 安装Python-dev:(请安装与当前环境python版本匹配的python3.x-dev)
* a. 安装Python-dev:
For Python2: apt install python-dev
For Python3: apt install python3.5-dev
* b. 安装pip: (请保证拥有9.0.1及以上版本的pip):(请注意修改对应python3的版本)
* b. 安装pip: (请保证拥有9.0.1及以上版本的pip):
For Python2: apt install python-pip
For Python3: apt-get udpate && apt-get install -y software-properties-common && add-apt-repository ppa:deadsnakes/ppa && apt install curl && curl https://bootstrap.pypa.io/get-pip.py -o - | python3.5 && easy_install pip
* c. 安装虚环境`virtualenv`以及`virtualenvwrapper`并创建名为`paddle-venv`的虚环境:(请注意修改python版本)
* c. 安装虚环境`virtualenv`以及`virtualenvwrapper`并创建名为`paddle-venv`的虚环境:
1. `apt install virtualenv` 或 `pip install virtualenv` 或 `pip3 install virtualenv`
2. `apt install virtualenvwrapper` 或 `pip install virtualenvwrapper` 或 `pip3 install virtualenvwrapper`
......@@ -140,9 +143,11 @@
6. 按照`virtualenvwrapper.sh`中的描述,安装`virtualwrapper`
7. 创建名为`paddle-venv`的虚环境: `mkvirtualenv paddle-venv`
注意:以上涉及Python3的命令,用Python3.5来举例,如您的Python版本为3.6/3.7,请将上述命令中的Python3.5改成Python3.6/Python3.7
4. 进入虚环境:`workon paddle-venv`
5. **执行编译前**请您确认在虚环境中安装有[编译依赖表](../Tables.html/#third_party)中提到的相关依赖<!--TODO:Link 安装依赖表到这里-->
5. **执行编译前**请您确认在虚环境中安装有[编译依赖表](../Tables.html/#third_party)中提到的相关依赖:
* 这里特别提供`patchELF`的安装方法,其他的依赖可以使用`apt install`或者`pip install` 后跟依赖名称和版本安装:
......@@ -158,7 +163,11 @@
6. 切换到较稳定release分支下进行编译,将中括号以及其中的内容替换为**目标分支名**
`git checkout [name of target branch]`
`git checkout [分支名]`
例如:
`git checkout release/1.2`
7. 并且请创建并进入一个叫build的目录下:
......@@ -166,9 +175,9 @@
8. 执行cmake:
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)<!--TODO:Link 安装选项表到这里-->
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)
* 对于需要编译**CPU版本PaddlePaddle**的用户:(*For Python3: 请给PY_VERSION参数配置正确的python版本*)
* 对于需要编译**CPU版本PaddlePaddle**的用户:
For Python2: cmake .. -DWITH_FLUID_ONLY=ON -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
For Python3: cmake .. -DPY_VERSION=3.5 -DWITH_FLUID_ONLY=ON -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
......@@ -182,10 +191,10 @@
2. 如果您已经正确安装了`nccl2`,就可以开始cmake了:(*For Python3: 请给PY_VERSION参数配置正确的python版本*)
For Python2: cmake .. -DWITH_FLUID_ONLY=ON -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
For Python3: cmake .. -DPY_VERSION=3.5 -DWITH_FLUID_ONLY=ON -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
>`-DPY_VERSION=3.5`请修改为安装环境的Python版本
For Python2: cmake .. -DWITH_FLUID_ONLY=ON -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
For Python3: cmake .. -DPY_VERSION=3.5 -DWITH_FLUID_ONLY=ON -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
注意:以上涉及Python3的命令,用Python3.5来举例,如您的Python版本为3.6/3.7,请将上述命令中的Python3.5改成Python3.6/Python3.7
9. 使用以下命令来编译:
......@@ -197,17 +206,16 @@
`pip install (whl包的名字)`或`pip3 install (whl包的名字)`
恭喜您,现在您已经完成使本机编译PaddlePaddle的过程了。
恭喜,至此您已完成PaddlePaddle的编译安装
<br/><br/>
## ***验证安装***
安装完成后您可以使用:`python``python3` 进入Python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用对应版本的pip)
请使用以下命令卸载PaddlePaddle:
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
* ***GPU版本的PaddlePaddle***: `pip uninstall paddlepaddle-gpu``pip3 uninstall paddlepaddle-gpu`
使用Docker安装PaddlePaddle的用户,请进入包含PaddlePaddle的容器中使用上述命令,注意使用对应版本的pip
***
# **Windows下从源码编译**
本说明将介绍如何在*64位台式机或笔记本电脑*以及Windows 10系统下编译PaddlePaddle,我们支持的Windows系统需满足以下要求:
## 环境准备
* Windows 10 家庭版/专业版/企业版
* Visual Studio 2015 Update3
* *64位操作系统*
* *Windows 10 家庭版/专业版/企业版*
* *Python 2.7/3.5/3.6/3.7*
* *pip或pip3 >= 9.0.1*
* *Visual Studio 2015 Update3*
## 确定要编译的版本
## 选择CPU/GPU
* 1.3支持GPU的PaddlePaddle,为了使得PaddlePaddle程序运行的更加迅速,我们通常使用GPU对PaddlePaddle程序进行加速,但安装GPU版本的PaddlePaddle需要先拥有满足以下条件的NVIDIA GPU(具体安装流程和配置请务必参见NVIDIA官方文档:[For CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)[For cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/)
* Cuda 工具包8.0配合cuDNN v7
* GPU运算能力超过1.0的硬件设备
* 如果您的计算机没有 NVIDIA® GPU,请编译CPU版的PaddlePaddle
## 选择如何编译
我们在Windows的系统下提供1种编译方式:
* 如果您的计算机有NVIDIA® GPU,并且满足以下条件,推荐编译GPU版的PaddlePaddle
* *CUDA 工具包8.0配合cuDNN v7*
* *GPU运算能力超过1.0的硬件设备*
* 直接本机源码编译
## 安装步骤
由于在本机上的情况更加复杂,因此我们只支持特定的系统。
在Windows的系统下提供1种编译方式:
请注意:当前版本不支持NCCL,分布式等相关功能。
<a name="ct_source"></a>
* 直接本机源码编译(暂不支持NCCL,分布式等相关功能)
<a name="win_source"></a>
### ***本机编译***
**请严格按照以下指令顺序执行**
1. 安装必要的工具 cmake,git 以及 python :
1. 检查您的计算机和操作系统是否符合我们支持的编译标准
> cmake 需要3.5 及以上版本, 可在官网[下载](https://cmake.org/download/),并添加到环境变量中。
* Windows 10 家庭版/专业版/企业版
* Visual Studio 2015 Update3
> python 需要2.7 及以上版本, 可在官网[下载](https://www.python.org/download/releases/2.7/)。
2. 安装必要的工具 cmake,git 以及 python :
> 需要安装`numpy, protobuf, wheel` 。python2.7下, 请使用`pip`命令; 如果是python3.x, 请使用`pip3`命令。
> cmake 需要3.5 及以上版本, 可以在官网进行下载,并添加到环境变量中。 [下载地址](https://cmake.org/download/)
> git可以在官网进行下载,并添加到环境变量中。 [下载地址](https://gitforwindows.org/)
> python 需要2.7 及以上版本, 同时确保 `numpy, protobuf, wheel` 等模块得到安装 [下载地址](https://www.python.org/download/releases/2.7/)
> python2.7下, 使用`pip`命令就可以; 如果是python3.x, 则建议使用`pip3`命令来使用pip安装工具。
* 安装 numpy 包可以通过命令 `pip install numpy` 或 `pip3 install numpy`
* 安装 protobuf 包可以通过命令 `pip install protobuf` 或 `pip3 install protobuf`
* 安装 wheel 包可以通过命令 `pip install wheel` 或 `pip3 install wheel`
3. 将PaddlePaddle的源码clone在当下目录下的Paddle的文件夹中,并进入Padde目录下:
> git可以在官网[下载](https://gitforwindows.org/),并添加到环境变量中。
2. 将PaddlePaddle的源码clone在当下目录下的Paddle的文件夹中,并进入Padde目录下:
- `git clone https://github.com/PaddlePaddle/Paddle.git`
- `cd Paddle`
4. 切换到较稳定release分支下进行编译(支持1.3.x及以上版本):
3. 切换到较稳定release分支下进行编译:
`git checkout [分支名]`
例如:
- `git checkout release/x.x.x`
`git checkout release/1.2`
5. 创建名为build的目录并进入:
注意:python3.6、python3.7版本从release/1.2分支开始支持
4. 创建名为build的目录并进入:
- `mkdir build`
- `cd build`
6. 执行cmake:
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)<!--TODO:Link 安装选项表到这里-->
5. 执行cmake:
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)
* 对于需要编译**CPU版本PaddlePaddle**的用户
* 编译**CPU版本PaddlePaddle**
For Python2: `cmake .. -G "Visual Studio 14 2015 Win64" -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIRS}
-DPYTHON_LIBRARY=${PYTHON_LIBRARY}
-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -DWITH_FLUID_ONLY=ON -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release`
For Python3: `cmake .. -G "Visual Studio 14 2015 Win64" -DPY_VERSION=3.5 -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIRS}
-DPYTHON_LIBRARY=${PYTHON_LIBRARY}
-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -DWITH_FLUID_ONLY=ON -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release`
* 对于需要编译**GPU版本PaddlePaddle**的用户:
* 编译**GPU版本PaddlePaddle**:
For Python2: `cmake .. -G "Visual Studio 14 2015 Win64" -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIRS}
-DPYTHON_LIBRARY=${PYTHON_LIBRARY}
......@@ -91,24 +87,22 @@
-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
-DWITH_FLUID_ONLY=ON -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DCUDA_TOOLKIT_ROOT_DIR=${CUDA_TOOLKIT_ROOT_DIR}`
6. 部分第三方依赖包(openblas,snappystream)目前需要用户自己提供预编译版本,也可以到 `https://github.com/wopeizl/Paddle_deps` 下载预编译好的文件, 将整个 `third_party` 文件夹放到 `build` 目录下.
7. 部分第三方依赖包(openblas,snappystream)目前需要用户自己提供预编译版本,也可以到 `https://github.com/wopeizl/Paddle_deps` 下载预编译好的文件, 将整个 `third_party` 文件夹放到 `build` 目录下.
7. 使用Blend for Visual Studio 2015 打开 `paddle.sln` 文件,选择平台为 `x64`,配置为 `Release`,先编译third_party模块,然后编译其他模块
8. 使用Blend for Visual Studio 2015 打开 `paddle.sln` 文件,选择平台为 `x64`,配置为 `Release`,先编译third_party模块,然后编译其他模块
8. 编译成功后进入 `\paddle\build\python\dist` 目录下找到生成的 `.whl` 包:
9. 编译成功后进入 `\paddle\build\python\dist` 目录下找到生成的 `.whl` 包:
`cd \paddle\build\python\dist`
10. 在当前机器或目标机器安装编译好的 `.whl` 包:
9. 在当前机器或目标机器安装编译好的 `.whl` 包:
`pip install (whl包的名字)` 或 `pip3 install (whl包的名字)`
恭喜您,现在您已经完成使本机编译PaddlePaddle的过程了。
恭喜,至此您已完成PaddlePaddle的编译安装
## ***验证安装***
安装完成后您可以使用:`python` 进入Python解释器,然后使用 `import paddle.fluid`, 如沒有提示错误,则表明安装成功。
安装完成后您可以使用:`python` `python3`进入Python解释器,然后使用 `import paddle.fluid`, 如沒有提示错误,则表明安装成功。
## ***如何卸载***
请使用以下命令卸载PaddlePaddle:
......@@ -116,3 +110,5 @@
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
* ***GPU版本的PaddlePaddle***: `pip uninstall paddlepaddle-gpu``pip3 uninstall paddlepaddle-gpu`
使用Docker安装PaddlePaddle的用户,请进入包含PaddlePaddle的容器中使用上述命令,注意使用对应版本的pip
......@@ -2,11 +2,8 @@
**从源码编译**
===========================
您也可以选择源码编译的方式编译安装PaddlePaddle,但由于本机环境的多样性,在编译源码时易出现复杂问题,可能会造成您安装失败。为保证您顺利安装,推荐您优先选择普通安装方式。
.. toctree::
:hidden:
:maxdepth: 1
compile_Ubuntu.md
compile_CentOS.md
......
==========
安装说明
==========
本说明将指导您在64位台式机或笔记本电脑上编译和安装PaddlePaddle
本说明将指导您在64位操作系统编译和安装PaddlePaddle
PaddlePaddle目前支持的Python版本包括:Python 2.7-3.7
......@@ -12,8 +12,7 @@ PaddlePaddle目前支持以下环境:
* *MacOS 10.11 / 10.12 / 10.13 / 10.14*
* *Windows7 / 8/ 10(专业版/企业版)*
请确保您的环境满足以上条件,我们默认提供的安装同时需要您的计算机拥有64位操作系统,处理器支持AVX指令集,否则请选择 `多版本whl包安装列表 <Tables.html/#ciwhls>`_ 中 :code:`no_avx` 的版本
请确保您的环境满足以上条件,我们默认提供的安装同时需要您的计算机拥有64位操作系统,处理器支持AVX指令集和MKL,如您有其他需求,请参考 `多版本whl包安装列表 <Tables.html/#ciwhls>`_
- 如果您希望使用 `pip <https://pypi.org/pypi/>`_ 进行安装PaddlePaddle可以直接使用以下命令:
......@@ -37,6 +36,7 @@ PaddlePaddle目前支持以下环境:
install_CentOS.md
install_MacOS.md
install_Windows.md
install_Docker.md
compile/fromsource.rst
FAQ.md
Tables.md
***
# **CentOS下安装**
本说明将介绍如何在*64位台式机或笔记本电脑*以及CentOS系统下安装PaddlePaddle,我们支持的CentOS系统需满足以下要求:
请注意:在其他系统上的尝试可能会导致安装失败。请确保您的环境满足以上条件,我们默认提供的安装同时需要您的计算机处理器支持AVX指令集,否则请选择[[最新Release安装包列表](./Tables.html/#ciwhls-release)`no_avx`的版本。
CentOS系统下您可以使用`cat /proc/cpuinfo | grep avx`来检测您的处理器是否支持AVX指令集
## 环境准备
* *64位操作系统*
* *CentOS 6 / 7*
* *Python 2.7/3.5/3.6/3.7*
* *pip或pip3 >= 9.0.1*
## 确定要安装的版本
* 仅支持CPU的PaddlePaddle。如果您的计算机没有 NVIDIA® GPU,则只能安装此版本。如果您的计算机有GPU,
推荐您先安装CPU版本的PaddlePaddle,来检测您本地的环境是否适合。
* 支持GPU的PaddlePaddle,为了使PaddlePaddle程序运行的更加迅速,我们通过GPU对PaddlePaddle程序进行加速,但安装GPU版本的PaddlePaddle需要先拥有满足以下条件的NVIDIA® GPU(具体安装流程和配置请务必参见NVIDIA官方文档:[For CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)[For cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/)
* *CUDA 工具包9.0配合cuDNN v7*
* *CUDA 工具包8.0配合cuDNN v7*
* *GPU运算能力超过1.0的硬件设备*
## 选择如何安装
在CentOS的系统下我们提供4种安装方式:
* pip安装
* Docker安装(不支持GPU版本)(镜像中python的版本为2.7)
* 源码编译安装(不支持CentOS 6的所有版本以及CentOS 7的GPU版本)
* Docker源码编译安装(不支持GPU版本)(镜像中的python版本为2.7,3.5,3.6,3.7)
**使用pip安装**(最便捷的安装方式),我们为您提供pip安装方法,但它更依赖您的本机环境,可能会出现和您本机环境相关的一些问题。
**使用Docker进行安装**(最保险的安装方式),因为我们在把工具和配置都安装在一个 Docker image 里,这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。
[**源码编译安装**](#ct_source)以及[**使用Docker进行源码编译安装**](#ct_docker),这是一种通过将PaddlePaddle源代码编译成为二进制文件,然后在安装这个二进制文件的过程,相比使用我们为您编译过的已经通过测试的二进制文件形式的PaddlePaddle,手动编译更为复杂,我们将在说明的最后详细为您解答。
<br/><br/>
### ***使用pip安装PaddlePaddle***
首先,我们使用以下指令来**检测本机的环境**是否适合安装PaddlePaddle:
`uname -m && cat /etc/*release`
> 上面的命令将会显示本机的操作系统和位数信息,请确保您的计算机和本教程的要求一致。
其次,您的计算机需要满足以下要求:
* Python2.7.x (devel),Pip >= 9.0.1
> CentOS6需要编译Python2.7成[共享库](./FAQ.html/#FAQ)。
* Python3.5+.x (devel),Pip3 >= 9.0.1
> 您的CentOS上可能已经安装pip请使用pip -V来确认我们建议使用pip 9.0.1或更高版本来安装。
更新yum的源: `yum update` 并安装拓展源以安装pip: `yum install -y epel-release`
使用以下命令安装或升级Python和pip到需要的版本:
### 注意事项
- For Python2: `sudo yum install python-devel python-pip`
- For Python3: (请参照Python官方流程安装,并注意pip3命令对应的python3版本是否一致,如果有多个python3版本,请指定pip版本如pip3.7,或者将pip3软链到您使用的python版本下)
* 可以使用`uname -m && cat /etc/*release`查看本机的操作系统和位数信息
* 可以使用`pip -V`(Python版本为2.7)或`pip3 -V`(Python版本为3.5/3.6/3.7),确认pip/pip3版本是否满足要求
* 默认提供的安装包需要计算机支持AVX指令集和MKL。如果您对机器环境不了解,请下载使用[快速安装脚本](https://fast-install.bj.bcebos.com/fast_install.sh),配套说明请参考[这里](https://github.com/PaddlePaddle/FluidDoc/tree/develop/doc/fluid/beginners_guide/install/install_script.md)。或者您也可以使用`cat /proc/cpuinfo | grep avx`来检测您的处理器是否支持该指令集,如不支持,请在[这里](./Tables.html/#ciwhls-release)下载`no_avx`版本的安装包
> 即使您的环境中已经有`Python`也需要安装`python develop`套装。
## 选择CPU/GPU
下面将说明如何安装PaddlePaddle:
* 如果您的计算机没有 NVIDIA® GPU,请安装CPU版本的PaddlePaddle
1. 使用pip install来安装PaddlePaddle:
* 如果您的计算机有NVIDIA® GPU,并且满足以下条件,推荐安装GPU版PaddlePaddle
* *CUDA 工具包9.0配合cuDNN v7*
* *CUDA 工具包8.0配合cuDNN v7*
* *CUDA 工具包8.0配合cuDNN v5*
* *GPU运算能力超过1.0的硬件设备*
* 对于需要**CPU版本PaddlePaddle**的用户:`pip install paddlepaddle` 或 `pip3 install paddlepaddle`
您可参考NVIDIA官方文档了解CUDA和CUDNN的安装流程和配置方法,请见[CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)[cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/)
* 对于需要**GPU版本PaddlePaddle**的用户: `pip install paddlepaddle-gpu` 或 `pip3 install paddlepaddle-gpu`
## 安装方式
> 1. 为防止出现nccl.h找不到的问题请首先按照NVIDIA[官方网站](https://developer.nvidia.com/nccl/nccl-download)的指示正确安装nccl2
> 2. 如果您不规定pypi包版本号,我们默认为您提供支持Cuda 9/cuDNN v7的PaddlePaddle版本。
CentOS系统下有4种安装方式:
* 对于出现`Cannot uninstall 'six'.`问题的用户,可是由于您的系统中已有的Python安装问题造 成的,请使用`pip install paddlepaddle --ignore-installed six`(CPU)或`pip install paddlepaddle-gpu --ignore-installed six`(GPU)解决。
* pip安装(推荐)
* [Docker安装](./install_Docker.html)
* [源码编译安装](./compile/compile_CentOS.html/#ct_source)
* [Docker源码编译安装](./compile/compile_CentOS.html/#ct_docker)
* 对于有**其他要求**的用户:`pip install paddlepaddle==[版本号]` 或 `pip3 install paddlepaddle==[版本号]`
这里为您介绍pip安装方式
> `版本号`参见[最新Release安装包列表](./Tables.html/#whls)或者您如果需要获取并安装**最新的PaddlePaddle开发分支**,可以从[[最新dev安装包列表](./Tables.html/#ciwhls)或者我们的[CI系统](https://paddleci.ngrok.io/project.html?projectId=Manylinux1&tab=projectOverview) 中下载最新的whl安装包和c-api开发包并安装。如需登录,请点击“Log in as guest”。
## 安装步骤
* CPU版PaddlePaddle:`pip install paddlepaddle``pip3 install paddlepaddle`
* GPU版PaddlePaddle:`pip install paddlepaddle-gpu``pip3 install paddlepaddle-gpu`
您可[验证是否安装成功](#check),如有问题请查看[FAQ](./FAQ.html)
注:
* pip与python版本对应。如果是python2.7, 建议使用`pip`命令; 如果是python3.x, 则建议使用`pip3`命令
* `pip install paddlepaddle-gpu` 此命令将安装支持CUDA 9.0 cuDNN v7的PaddlePaddle,如您对CUDA或cuDNN版本有不同要求,可用`pip install paddlepaddle==[版本号]``pip3 install paddlepaddle==[版本号]`命令来安装,版本号请见[这里](https://pypi.org/project/paddlepaddle-gpu/#history)
* 默认下载最新稳定版的安装包,如需获取开发版安装包,请参考[这里](./Tables.html/#ciwhls)
现在您已经完成通过`pip install` 来安装的PaddlePaddle的过程。
<br/><br/>
### ***使用Docker进行安装***
<!-- 我们更加推荐**使用Docker进行安装**,因为我们在把工具和配置都安装在一个 Docker image 里,这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。-->
为了更好的使用Docker并避免发生问题,我们推荐使用**最高版本的Docker**,关于**安装和使用Docker**的细节请参阅Docker[官方文档](https://docs.docker.com/install/)
> 请注意,要安装和使用支持 GPU 的PaddlePaddle版本,您必须先安装[nvidia-docker](https://github.com/NVIDIA/nvidia-docker)
当您已经**正确安装Docker**后你就可以开始**使用Docker安装PaddlePaddle**
1. 使用以下指令拉取我们为您预安装好PaddlePaddle的镜像:
* 对于需要**CPU版本的PaddlePaddle**的用户请使用以下指令拉取我们为您预安装好*PaddlePaddle For CPU*的镜像:
`docker pull hub.baidubce.com/paddlepaddle/paddle:1.2`
* 您也可以通过以下指令拉取任意的我们提供的Docker镜像:
`docker pull hub.baidubce.com/paddlepaddle/paddle:[tag]`
> (请把[tag]替换为[镜像表](./Tables.html/#dockers)中的内容)
2. 使用以下指令用已经拉取的镜像构建并进入Docker容器:
`docker run --name [Name of container] -it -v $PWD:/paddle <imagename> /bin/bash`
> 上述命令中,--name [Name of container] 设定Docker的名称;-it 参数说明容器已和本机交互式运行; -v $PWD:/paddle 指定将当前路径(Linux中PWD变量会展开为当前路径的[绝对路径](https://baike.baidu.com/item/绝对路径/481185))挂载到容器内部的 /paddle 目录; `<imagename>` 指定需要使用的image名称,如果您需要使用我们的镜像请使用`hub.baidubce.com/paddlepaddle/paddle:[tag]` 注:tag的意义同第二步,/bin/bash是在Docker中要执行的命令。
3. (可选:当您需要第二次进入Docker容器中)使用如下命令使用PaddlePaddle:
`docker start [Name of container]`
> 启动之前创建的容器。
`docker attach [Name of container]`
> 进入启动的容器。
至此您已经成功使用Docker安装PaddlePaddle,您只需要进入Docker容器后运行PaddlePaddle即可,更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
> 注:PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 安装后,在容器中编辑代码。
<br/><br/>
<a name="check"></a>
## ***验证安装***
安装完成后您可以使用`python``python3` 进入Python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
安装完成后您可以使用命令`python``python3` 进入python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用相应版本的pip)
请使用以下命令卸载PaddlePaddle:
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
* ***GPU版本的PaddlePaddle***: `pip uninstall paddlepaddle-gpu``pip3 uninstall paddlepaddle-gpu`
# **使用Docker安装**
[Docker](https://docs.docker.com/install/)是一个开源的应用容器引擎。使用Docker,既可以将PaddlePaddle的安装&使用与系统环境隔离,也可以与主机共享GPU、网络等资源
## 环境准备
- 在本地主机上[安装Docker](https://hub.docker.com/search/?type=edition&offering=community)
- 如需在Linux开启GPU支持,请[安装nvidia-docker](https://github.com/NVIDIA/nvidia-docker)
## 安装步骤
1. 拉取PaddlePaddle镜像
* CPU版的PaddlePaddle: `docker pull hub.baidubce.com/paddlepaddle/paddle:[版本号]`
* GPU版的PaddlePaddle: `docker pull hub.baidubce.com/paddlepaddle/paddle:[版本号]-gpu-cuda9.0-cudnn7`
在`:`后请您填写PaddlePaddle版本号,例如1.2,更多请见[镜像简介](#dockers)
2. 构建、进入Docker容器
`docker run --name [Name of container] -it -v $PWD:/paddle <imagename> /bin/bash`
> 上述命令中,各项参数分别指: --name [Name of container] 设定Docker的名称;-it 参数说明容器已和本机交互式运行; -v $PWD:/paddle 指定将当前路径(Linux中PWD变量会展开为当前路径的绝对路径)挂载到容器内部的 /paddle 目录; `<imagename>` 指定需要使用的image名称,您可以通过`docker images`命令查看;/bin/bash是在Docker中要执行的命令
至此,您已经成功使用Docker安装PaddlePaddle,更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
<a name="dockers"></a>
</br></br>
### **镜像简介**
<p align="center">
<table>
<thead>
<tr>
<th> 版本名称 </th>
<th> 版本说明 </th>
</tr>
</thead>
<tbody>
<tr>
<td> hub.baidubce.com/paddlepaddle/paddle:latest </td>
<td> 最新的预先安装好PaddlePaddle CPU版本的镜像 </td>
</tr>
<tr>
<td> hub.baidubce.com/paddlepaddle/paddle:[Version] </td>
<td> 将version换成具体的版本,历史版本的预安装好PaddlePaddle的镜像 </td>
</tr>
<tr>
<td> hub.baidubce.com/paddlepaddle/paddle:latest-gpu </td>
<td> 最新的预先安装好PaddlePaddle GPU版本的镜像 </td>
</tr>
<tr>
<td> hub.baidubce.com/paddlepaddle/paddle:latest-dev </td>
<td> 最新的PaddlePaddle的开发环境 </td>
</tr>
</tbody>
</table>
</p>
您可以在 [DockerHub](https://hub.docker.com/r/paddlepaddle/paddle/tags/) 中找到PaddlePaddle的各个发行的版本的docker镜像。
### 注意事项
* 镜像中Python版本为2.7
* PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 安装后,在容器中编辑代码
### 补充说明
* 当您需要第二次进入Docker容器中,使用如下命令:
```
#启动之前创建的容器
docker start [Name of container]
#进入启动的容器
docker attach [Name of container]
```
* 如您是Docker新手,您可以参考互联网上的资料学习,例如[Docker教程](http://www.runoob.com/docker/docker-hello-world.html)
## 如何卸载
请您进入Docker容器后,执行如下命令
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
* ***GPU版本的PaddlePaddle***: `pip uninstall paddlepaddle-gpu``pip3 uninstall paddlepaddle-gpu`
或通过`docker rm [Name of container]`来直接删除Docker容器
***
# **MacOS下安装**
本说明将介绍如何在*64位台式机或笔记本电脑*以及MacOS系统下安装PaddlePaddle,我们支持的MacOS系统需满足以下要求。
请注意:在其他系统上的尝试可能会导致安装失败。
* MacOS 10.11/10.12/10.13/10.14
## 确定要安装的版本
* 仅支持CPU的PaddlePaddle。
## 选择如何安装
在MacOS的系统下我们提供3种安装方式:
* pip安装(不支持GPU版本)(python3下不支持分布式)
* Docker安装(不支持GPU版本)(镜像中python的版本为2.7)
* Docker源码编译安装(不支持GPU版本)(镜像中的python版本为2.7,3.5,3.6,3.7)
**使用pip安装**(最便捷的安装方式),我们为您提供pip安装方法,但它更依赖您的本机环境,可能会出现和您本机环境相关的一些问题。
**使用Docker进行安装**(最保险的安装方式),因为我们在把工具和配置都安装在一个 Docker image 里,这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。
<br/><br/>
### ***使用pip安装***
由于在MacOS中的Python情况差别较大我们暂不提供快速安装的命令,请您按照以下步骤进行安装
首先,**检查您的计算机和操作系统**是否符合我们支持的编译标准: `uname -m` 并且在`关于本机`中查看系统版本。
其次,您的计算机需要满足以下要求:
> **请不要使用MacOS中自带python**,对于**Python2**,建议您使用[Homebrew](https://brew.sh)或[Python.org](https://www.python.org/ftp/python/2.7.15/python-2.7.15-macosx10.9.pkg)提供的python2.7.15;对于**Python3**,请使用[Python.org](https://www.python.org/downloads/mac-osx/)提供的python3.5.x、python3.6.x或python3.7.x。
For python2: brew install python@2 或 使用Python官方下载的python2.7.15
For python3: 使用Python官方下载的python3.5.x、python3.6.x或python3.7.x
* Python2.7.x,Pip >= 9.0.1
* Python3.5.x,Pip3 >= 9.0.1
* Python3.6.x,Pip3 >= 9.0.1
* Python3.7.x,Pip3 >= 9.0.1
> 注: 您的MacOS上可能已经安装pip请使用pip -V来确认我们建议使用pip 9.0.1或更高版本来安装。
下面将说明如何安装PaddlePaddle:
1. 使用pip install来安装PaddlePaddle:
* 对于需要**CPU版本PaddlePaddle**的用户:`pip install paddlepaddle` 或 `pip3 install paddlepaddle`
* 对于有**其他要求**的用户:`pip install paddlepaddle==[版本号]` 或 `pip3 install paddlepaddle==[版本号]`
> `版本号`参见[最新Release安装包列表](./Tables.html/#ciwhls-release)或者您如果需要获取并安装**最新的PaddlePaddle开发分支**,可以从[CI系统](https://paddleci.ngrok.io/project.html?projectId=Manylinux1&tab=projectOverview) 中下载最新的whl安装包和c-api开发包并安装。如需登录,请点击“Log in as guest”。
现在您已经完成通过`pip install` 来安装的PaddlePaddle的过程。
<br/><br/>
### ***使用Docker安装***
<!-- 我们更加推荐**使用Docker进行安装**,因为我们在把工具和配置都安装在一个 Docker image 里,这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。-->
为了更好的使用Docker并避免发生问题,我们推荐使用**最高版本的Docker**,关于**安装和使用Docker**的细节请参阅Docker[官方文档](https://docs.docker.com/install/)
> 请注意,在MacOS系统下登陆docker需要使用您的dockerID进行登录,否则将出现`Authenticate Failed`错误。
如果已经**正确安装Docker**,即可以开始**使用Docker安装PaddlePaddle**
1. 使用以下指令拉取我们为您预安装好PaddlePaddle的镜像:
* 对于需要**CPU版本的PaddlePaddle**的用户请使用以下指令拉取我们为您预安装好*PaddlePaddle For CPU*的镜像:
`docker pull hub.baidubce.com/paddlepaddle/paddle:1.2`
* 您也可以通过以下指令拉取任意的我们提供的Docker镜像:
`docker pull hub.baidubce.com/paddlepaddle/paddle:[tag]`
> (请把[tag]替换为[镜像表](./Tables.html/#dockers)中的内容)
## 环境准备
2. 使用以下指令用已经拉取的镜像构建并进入Docker容器:
* *64位操作系统*
* *MacOS 10.11/10.12/10.13/10.14*
* *Python 2.7/3.5/3.6/3.7*
* *pip或pip3 >= 9.0.1*
`docker run --name [Name of container] -it -v $PWD:/paddle <imagename> /bin/bash`
### 注意事项
> 上述命令中,--name [Name of container] 设定Docker的名称;-it 参数说明容器已和本机交互式运行; -v $PWD:/paddle 指定将当前路径(Linux中PWD变量会展开为当前路径的[绝对路径](https://baike.baidu.com/item/绝对路径/481185))挂载到容器内部的 /paddle 目录; `<imagename>` 指定需要使用的image名称,如果您需要使用我们的镜像请使用`hub.baidubce.com/paddlepaddle/paddle:[tag]` 注:tag的意义同第二步;/bin/bash是在Docker中要执行的命令。
* 可以使用`pip -V`(Python版本为2.7)或`pip3 -V`(Python版本为3.5/3.6/3.7),确认pip/pip3版本是否满足要求
* 默认提供的安装包需要计算机支持AVX指令集
3. (可选:当您需要第二次进入Docker容器中)使用如下命令使用PaddlePaddle:
## 选择CPU/GPU
`docker start [Name of container]`
* 目前在MacOS环境仅支持CPU版PaddlePaddle
> 启动之前创建的容器。
## 安装方式
`docker attach [Name of container]`
MacOS系统下有4种安装方式:
> 进入启动的容器。
* pip安装(推荐)
* [Docker安装](./install_Docker.html)
* [源码编译安装](./compile/compile_MacOS.html/#mac_source)
* [Docker源码编译安装](./compile/compile_MacOS.html/#mac_docker)
这里为您介绍pip安装方式
至此您已经成功使用Docker安装PaddlePaddle,您只需要进入Docker容器后运行PaddlePaddle即可,更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
## 安装步骤
> 注:PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 安装后,在容器中编辑代码。
* CPU版PaddlePaddle:`pip install paddlepaddle``pip3 install paddlepaddle`
<!--TODO: When we support pip install mode on MacOS, we can write on this part -->
您可[验证是否安装成功](#check),如有问题请查看[FAQ](./FAQ.html)
注:
* pip与python版本对应。如果是python2.7, 建议使用`pip`命令; 如果是python3.x, 则建议使用`pip3`命令
* 默认下载最新稳定版的安装包,如需获取开发版安装包,请参考[这里](./Tables.html/#ciwhls)
* 使用MacOS中自带Python可能会导致安装失败。对于**Python2**,建议您使用[Homebrew](https://brew.sh)[Python.org](https://www.python.org/ftp/python/2.7.15/python-2.7.15-macosx10.9.pkg)提供的python2.7.15;对于**Python3**,请使用[Python.org](https://www.python.org/downloads/mac-osx/)提供的python3.5.x、python3.6.x或python3.7.x。
<br/><br/>
## ***验证安装***
<a name="check"></a>
## 验证安装
安装完成后您可以使用:`python``python3` 进入python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用相应版本的pip):
## 如何卸载
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
请使用以下命令卸载PaddlePaddle:
* `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
***
# **Ubuntu下安装**
本说明将介绍如何在*64位台式机或笔记本电脑*以及Ubuntu系统下安装PaddlePaddle,我们支持的Ubuntu系统需满足以下要求:
请注意:在其他系统上的尝试可能会导致安装失败。请确保您的环境满足以上条件,我们默认提供的安装同时需要您的计算机处理器支持AVX指令集,否则请选择[最新Release安装包列表](./Tables.html/#ciwhls-release)`no_avx`的版本。
Ubuntu系统下您可以使用`cat /proc/cpuinfo | grep avx`来检测您的处理器是否支持AVX指令集
## 环境准备
* *64位操作系统*
* *Ubuntu 14.04 /16.04 /18.04*
* *Python 2.7/3.5/3.6/3.7*
* *pip或pip3 >= 9.0.1*
## 确定要安装的版本
* 仅支持CPU的PaddlePaddle。如果您的计算机没有 NVIDIA® GPU,则只能安装此版本。如果您的计算机有GPU,
也推荐您先安装CPU版本的PaddlePaddle,来检测您本地的环境是否适合。
* 支持GPU的PaddlePaddle。为了使PaddlePaddle程序运行更加迅速,我们通过GPU对PaddlePaddle程序进行加速,但安装GPU版本的PaddlePaddle需要先拥有满足以下条件的NVIDIA® GPU(具体安装流程和配置请务必参见NVIDIA官方文档:[For CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)[For cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/)
* *CUDA 工具包9.0配合cuDNN v7*
* *CUDA 工具包8.0配合cuDNN v7*
* *GPU运算能力超过1.0的硬件设备*
## 选择如何安装
在Ubuntu的系统下我们提供4种安装方式:
* pip安装
* Docker安装(镜像中python的版本为2.7)
* 源码编译安装
* Docker源码编译安装(镜像中的python版本为2.7,3.5,3.6,3.7)
**使用pip安装**(最便捷的安装方式),我们为您提供pip安装方法,但它更依赖您的本机环境,可能会出现和您本机环境相关的一些问题。
**使用Docker进行安装**(最保险的安装方式),因为我们在把工具和配置都安装在一个 Docker image 里,这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。
[**源码编译安装**](#ubt_source)以及[**使用Docker进行源码编译安装**](#ubt_docker),这是一种通过将PaddlePaddle源代码编译成为二进制文件,然后在安装这个二进制文件的过程,相比使用我们为您编译过的已经通过测试的二进制文件形式的PaddlePaddle,手动编译更为复杂,我们将在说明的最后详细为您解答。
<br/><br/>
### ***使用pip安装***
首先,我们使用以下指令来**检测本机的环境**是否适合安装PaddlePaddle:
uname -m && cat /etc/*release
> 上面的命令将会显示本机的操作系统和位数信息,请确保您的计算机和本教程的要求一致。
其次,您的电脑需要满足以下任一要求:
* Python2.7.x (dev),Pip >= 9.0.1
* Python3.5+.x (dev),Pip3 >= 9.0.1
> 您的Ubuntu上可能已经安装pip请使用pip -V或pip3 -V来确认我们建议使用pip 9.0.1或更高版本来安装
更新apt的源: `apt update`
使用以下命令安装或升级Python和pip到需要的版本:(python3.6、python3.7安装pip和dev在不同Ubuntu版本下差别较大,不一一描述)
- For python2: `sudo apt install python-dev python-pip`
- For python3.5:`sudo apt install python3.5-dev` and `curl https://bootstrap.pypa.io/get-pip.py -o - | python3.5 && easy_install pip`
- For python3.6、python3.7: 我们默认您应准备好python3.6(3.7)以及对应版本的dev和pip3
> 即使您的环境中已经有Python2或Python3也需要安装Python-dev或Python3.5(3.6、3.7)-dev。
### 注意事项
现在,让我们来安装PaddlePaddle:
* 可以使用`uname -m && cat /etc/*release`查看本机的操作系统和位数信息
* 可以使用`pip -V`(Python版本为2.7)或`pip3 -V`(Python版本为3.5/3.6/3.7),确认pip/pip3版本是否满足要求
* 默认提供的安装包需要计算机支持AVX指令集和MKL。如果您对机器环境不了解,请下载使用[快速安装脚本](https://fast-install.bj.bcebos.com/fast_install.sh),配套说明请参考[这里](https://github.com/PaddlePaddle/FluidDoc/tree/develop/doc/fluid/beginners_guide/install/install_script.md)。或者您也可以使用`cat /proc/cpuinfo | grep avx`来检测您的处理器是否支持该指令集,如不支持,请在[这里](./Tables.html/#ciwhls-release)下载`no_avx`版本的安装包
1. 使用pip install来安装PaddlePaddle
## 选择CPU/GPU
* 对于需要**CPU版本PaddlePaddle**的用户:`pip install paddlepaddle` 或 `pip3 install paddlepaddle`
* 如果您的计算机没有 NVIDIA® GPU,请安装CPU版的PaddlePaddle
* 对于需要**GPU版本PaddlePaddle**的用户:`pip install paddlepaddle-gpu` 或 `pip3 install paddlepaddle-gpu`
* 如果您的计算机有 NVIDIA® GPU,并且满足以下条件,推荐安装GPU版的PaddlePaddle
* *CUDA 工具包9.0配合cuDNN v7*
* *CUDA 工具包8.0配合cuDNN v7*
* *CUDA 工具包8.0配合cuDNN v5*
* *GPU运算能力超过1.0的硬件设备*
> 1. 为防止出现nccl.h找不到的问题请首先按照以下命令安装nccl2(这里提供的是ubuntu 16.04,CUDA9,cuDNN v7下nccl2的安装指令),更多版本的安装信息请参考NVIDIA[官方网站](https://developer.nvidia.com/nccl/nccl-download):
i. `wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb`
ii. `dpkg -i nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb`
iii. `sudo apt-get install -y libnccl2=2.2.13-1+cuda9.0 libnccl-dev=2.2.13-1+cuda9.0`
您可参考NVIDIA官方文档了解CUDA和CUDNN的安装流程和配置方法,请见[CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)[cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/)
> 2. 如果您不规定pypi包版本号,我们默认为您提供支持Cuda 9/cuDNN v7的PaddlePaddle版本。
## 安装方式
* 对于出现`Cannot uninstall 'six'.`问题的用户,可是由于您的系统中已有的Python安装问题造成的,请使用`pip install paddlepaddle --ignore-installed six`(CPU)或`pip install paddlepaddle --ignore-installed six`(GPU)解决。
Ubuntu系统下有4种安装方式:
* 对于有**其他要求**的用户:`pip install paddlepaddle==[版本号]` 或 `pip3 install paddlepaddle==[版本号]`
* pip安装(推荐)
* [Docker安装](./install_Docker.html)
* [源码编译安装](./compile/compile_Ubuntu.html/#ubt_source)
* [Docker源码编译安装](./compile/compile_Ubuntu.html/#ubt_docker)
> `版本号`参见[最新Release安装包列表](./Tables.html/#whls)或者您如果需要获取并安装**最新的PaddlePaddle开发分支**,可以从[最新dev安装包列表](./Tables.html/#ciwhls)或者我们的[CI系统](https://paddleci.ngrok.io/project.html?projectId=Manylinux1&tab=projectOverview) 中下载最新的whl安装包和c-api开发包并安装。如需登录,请点击“Log in as guest”。
这里为您介绍pip安装方式
## 安装步骤
* CPU版PaddlePaddle:`pip install paddlepaddle``pip3 install paddlepaddle`
* GPU版PaddlePaddle:`pip install paddlepaddle-gpu``pip3 install paddlepaddle-gpu`
您可[验证是否安装成功](#check),如有问题请查看[FAQ](./FAQ.html)
注:
现在您已经完成使用`pip install` 来安装的PaddlePaddle的过程。
* pip与python版本对应。如果是python2.7, 建议使用`pip`命令; 如果是python3.x, 则建议使用`pip3`命令
* `pip install paddlepaddle-gpu` 此命令将安装支持CUDA 9.0 cuDNN v7的PaddlePaddle,如您对CUDA或cuDNN版本有不同要求,可用`pip install paddlepaddle==[版本号]``pip3 install paddlepaddle==[版本号]`命令来安装,版本号请见[这里](https://pypi.org/project/paddlepaddle-gpu/#history)
* 默认下载最新稳定版的安装包,如需获取开发版安装包,请参考[这里](./Tables.html/#ciwhls)
<a name="check"></a>
## 验证安装
安装完成后您可以使用命令`python``python3` 进入python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
<br/><br/>
### ***使用Docker安装***
<!-- TODO: uncomment it when the offical website can split it to different pages我们更加推荐**使用Docker进行安装**,因为我们在把工具和配置都安装在一个 Docker image 里,这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。-->
为了更好的使用Docker并避免发生问题,我们推荐使用**最高版本的Docker**,关于**安装和使用Docker**的细节请参阅Docker[官方文档](https://docs.docker.com/install/)
> 请注意,要安装和使用支持 GPU 的PaddlePaddle版本,您必须先安装[nvidia-docker](https://github.com/NVIDIA/nvidia-docker)
如果已经**正确安装Docker**,即可以开始**使用Docker安装PaddlePaddle**
1. 使用以下指令拉取我们为您预安装好PaddlePaddle的镜像:
* 对于需要**CPU版本的PaddlePaddle**的用户请使用以下指令拉取我们为您预安装好*PaddlePaddle For CPU*的镜像:
`docker pull hub.baidubce.com/paddlepaddle/paddle:1.2`
* 对于需要**GPU版本的PaddlePaddle**的用户请使用以下指令拉取我们为您预安装好*PaddlePaddle For GPU*的镜像:
`docker pull hub.baidubce.com/paddlepaddle/paddle:1.2-gpu-cuda9.0-cudnn7`
* 您也可以通过以下指令拉取任意的我们提供的Docker镜像:
`docker pull hub.baidubce.com/paddlepaddle/paddle:[tag]`
> (请把[tag]替换为[镜像表](./Tables.html/#dockers)中的内容)
2. 使用以下指令用已经拉取的镜像构建并进入Docker容器:
`docker run --name [Name of container] -it -v $PWD:/paddle <imagename> /bin/bash`
> 上述命令中,--name [Name of container] 设定Docker的名称;-it 参数说明容器已和本机交互式运行; -v $PWD:/paddle 指定将当前路径(Linux中PWD变量会展开为当前路径的绝对路径)挂载到容器内部的 /paddle 目录; `<imagename>` 指定需要使用的image名称,如果您需要使用我们的镜像请使用`hub.baidubce.com/paddlepaddle/paddle:[tag]` 注:tag的意义同第二步;/bin/bash是在Docker中要执行的命令。
3. (可选:当您需要第二次进入Docker容器中)使用如下命令使用PaddlePaddle:
`docker start [Name of container]`
> 启动之前创建的容器。
`docker attach [Name of container]`
> 进入启动的容器。
至此您已经成功使用Docker安装PaddlePaddle,您只需要进入Docker容器后运行PaddlePaddle即可,更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
> 注:PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 安装后,在容器中编辑代码。
<br/><br/>
## ***验证安装***
安装完成后您可以使用:`python``python3` 进入python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用相应版本的pip):
## 如何卸载
请使用以下命令卸载PaddlePaddle:
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
* ***GPU版本的PaddlePaddle***: `pip uninstall paddlepaddle-gpu``pip3 uninstall paddlepaddle-gpu`
***
# **Windows下安装**
本文将介绍如何在Windows系统下安装PaddlePaddle,您的计算机需要满足以下要求:
* *64位台式机或笔记本电脑*
## 环境准备
* *64位操作系统*
* *Windows 7/8 ,Windows 10 专业版/企业版*
* *Python 2.7/3.5/3.6/3.7*
* *pip或pip3 >= 9.0.1*
注:
### 注意事项
* 默认提供的安装包需要计算机支持AVX指令集和MKL
* 当前版本暂不支持NCCL,分布式等相关功能
## 安装步骤
## 选择CPU/GPU
### ***使用pip安装***
* 如果您的计算机没有 NVIDIA® GPU,请安装CPU版的PaddlePaddle
* 对Python版本的要求
* 如果您的计算机有 NVIDIA® GPU,并且满足以下条件,推荐安装GPU版的PaddlePaddle
* *CUDA 工具包8.0配合cuDNN v7*
* *GPU运算能力超过1.0的硬件设备*
我们支持[Python官方提供](https://www.python.org/downloads/)的Python2.7.15,Python3.5.x,Python3.6.x,Python3.7.x
您可参考NVIDIA官方文档了解CUDA和CUDNN的安装流程和配置方法,请见[CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)[cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/)
* 对pip版本的要求
## 安装方式
您的pip或pip3版本号需不低于9.0.1。pip与python版本是对应的, 如果是python2.7, 建议使用`pip`命令; 如果是python3.x, 则建议使用`pip3`命令。
Windows系统下有3种安装方式:
* 开始安装
* pip安装(推荐)
* [Docker安装](./install_Docker.html)
* [源码编译安装](./compile/compile_Windows.html/#win_source)
* ***CPU版本的PaddlePaddle***:
执行如下命令:`pip install paddlepaddle`(python2.7) 或 `pip3 install paddlepaddle`(python3.x) 安装PaddlePaddle
这里为您介绍pip安装方式
* ***GPU版本的PaddlePaddle***:
执行如下命令:`pip install paddlepaddle-gpu`(python2.7) 或 `pip3 install paddlepaddle-gpu`(python3.x) 安装PaddlePaddle
## 安装步骤
## ***验证安装***
安装完成后您可以使用 `python``python3` 进入python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
* CPU版PaddlePaddle:`pip install paddlepaddle``pip3 install paddlepaddle`
* GPU版PaddlePaddle:`pip install paddlepaddle-gpu``pip3 install paddlepaddle-gpu`
## ***如何卸载***
您可[验证是否安装成功](#check),如有问题请查看[FAQ](./FAQ.html)
注:
* pip与python版本对应。如果是python2.7, 建议使用`pip`命令; 如果是python3.x, 则建议使用`pip3`命令
* `pip install paddlepaddle-gpu` 此命令将安装支持CUDA 8.0 cuDNN v7的PaddlePaddle,目前windows环境下暂不支持其他版本的CUDA和cuDNN。
<a name="check"></a>
## 验证安装
安装完成后您可以使用 `python``python3` 进入python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
* ***CPU版本的PaddlePaddle***:
请使用以下命令:`pip uninstall paddlepaddle``pip3 uninstall paddlepaddle` 卸载PaddlePaddle
## 如何卸载
* ***GPU版本的PaddlePaddle***:
请使用以下命令:`pip uninstall paddlepaddle-gpu``pip3 uninstall paddlepaddle-gpu` 卸载PaddlePaddle
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
* ***GPU版本的PaddlePaddle***: `pip uninstall paddlepaddle-gpu``pip3 uninstall paddlepaddle-gpu`
# 辅助安装脚本
## 使用方法
下载脚本至本地后,使用命令`/bin/bash fast_install.sh`启动脚本
### Ubuntu和CentOS
脚本会执行以下几步:
1. GPU检测
检测您的机器是否含有我们支持的GPU,如果有,会安装GPU版本的PaddlePaddle,否则会安装CPU版本。
(PaddlePaddle目前支持NVIDIA[官网](https://developer.nvidia.com/cuda-gpus#collapseOne)列出的,算力7.0以下的GPU和v100系列的GPU)
2. CUDA,cuDNN检测
检测您的机器是否安装我们支持的CUDA,cuDNN,具体地:
1. 在`/usr/local/` 及其子目录下寻找 `cuda/cuda8/cuda9` 目录下的`version.txt`文件(通常如果您以默认方式安装了CUDA)。 如果提示未找到CUDA请使用命令`find / -name version.txt`找到您所需要的CUDA目录下的“version.txt”路径,然后按照提示输入。
2. 在`/usr` 及其子目录下寻找文件 `cudnn.h` , 如果您的cuDNN未安装在默认路径请使用命令`find / -name cudnn.h`寻找您希望使用的cuDNN版本的`cudnn.h`路径并按提示输入
如果未找到相应文件,则会安装CPU版本的PaddlePaddle
3. 选择数学库
脚本默认会为您安装支持[MKL](https://software.intel.com/en-us/mkl)数学库的PaddlePaddle,如果您的机器不支持`MKL`,请选择安装支持[OPENBLAS](https://www.openblas.net)的PaddlePaddle
4. 选择PaddlePaddle版本
我们为您提供2种版本:开发版和稳定版,推荐您选择测试验证过的稳定版
5. 选择Python版本
脚本默认会使用您机器中的Python,您也可以输入您希望使用的Python的路径
6. 检查[AVX](https://zh.wikipedia.org/zh-hans/AVX指令集)指令集
7. 使用[Python virtualenv](https://virtualenv.pypa.io/en/latest/)
脚本也支持按您的需求创建Python的虚拟环境
以上检查完成后就会为您安装对应您系统的PaddlePaddle了,安装一般需要1~2分钟会根据您的网络来决定,请您耐心等待。
### MacOS
脚本会执行以下几步:
1. 选择PaddlePaddle版本
我们为您提供2种版本:开发版和稳定版,推荐您选择测试验证过的稳定版
2. 检查Python版本
由于MacOS自带的Python通常依赖于系统环境,因此我们不支持MacOS自带的Python环境,请重新从Python.org安装Python,然后根据提示输入您希望使用的Python的路径
3. 检查是否支持[AVX](https://zh.wikipedia.org/zh-hans/AVX指令集)指令集
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册