PaddlePaddle的安装在官方网站已经比较详尽了,大多数用户可参考链接进行安装(https://www.paddlepaddle.org.cn/install/quick)。
PaddlePaddle目前仅支持Python语言进行训练,Python,C/C++语言进行模型推理。当前对Windows、OSX、Linux等多种操作系统进行支持。
但是快速安装的方案肯定不能满足有些用户的需求的,我这里就介绍一些编译Paddle的过程中会遇到的问题,希望能解决一些用户的困惑。
PaddlePaddle源码编译
现在PaddlePaddle支持在Windows, Ubuntu, Centos, OSX等操作系统上进行编译,具体可以参考PaddlePaddle官网编译里面的内容介绍。
前置条件
- CMake 3.0+
- GCC 4.8+
- Python(64 bit) 2.7+
- pip(64 bit) 9.0.1+
- Git
- GPU版本:CUDA 8.0+, cuDNN 7.3+
就目前来看,PaddlePaddle在Linux平台下的编译会比较顺畅一些,当然各平台的编译流程也是大同小异的。
Docker容器内编译
Docker这个软件非常的好,建议大家在docker中进行编译,因为虚拟化容器跟本地环境是隔离的,可以避免影响本地环境。
Docker介绍
如果还不了解docker的朋友,建议也去简单学习一下,这个东西是真的很有用处。
接下来就进入正题了。
首先是clone代码库,没有Git的朋友需要先装一下Git,或者在PaddlePaddle-Github里面下载代码的zip包也是可以的。
如果安装了Git,就直接clone代码库到你想要的文件夹里。1
git clone https://github.com/PaddlePaddle/Paddle.git
然后就可以创建编译环境了,官方提供了配置好部分环境的docker镜像
hub.baidubce.com/paddlepaddle/paddle:latest-dev
这个Ubuntu1604,CUDA8,cuDNN7.3的镜像,里面包含了CMake,python2.7,git等常用的软件。
但我更常用的是Nvidia给出的简单版的镜像nvidia/cuda:9.0-cudnn7-devel-centos7
nvidia/cuda:9.2-cudnn7-devel-ubuntu16.04
然后自己构造一下所需环境。
cd到刚刚下载Paddle代码的路径
如果没有GPU和nvidia-docker则只能使用docker1
docker run --name paddle-test -v $PWD:/paddle --network=host -w /paddle -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash
如果有GPU和nvidia-docker则执行以下代码1
nvidia-docker run --name paddle-test -v $PWD:/paddle --network=host -w /paddle -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash
- 然后现在就可以开始编译了
首先在 paddle主路径下创建build文件夹并进入。
1 | cd /paddle |
然后CMake里面会有一些参数,可以根据自己的需求选择。
具体的参数可以在Paddle-CMakeLists里查看一下。然后以下命令就可以编译出GPU,Python3.5版本的PaddlePaddle了。
1 | cmake .. -DPY_VERSION=3.5 \ |
1 | make -j$(nproc) |
完成编译之后
编译出来的whl包就在
python/dist
路径下。
执行pip install
即可