compile_Windows.md 4.7 KB
Newer Older
W
wopeizl 已提交
1 2
# **Windows下从源码编译**

3
## 环境准备
W
wopeizl 已提交
4

J
Jiabin Yang 已提交
5 6 7
* *Windows 7/8/10 专业版/企业版 (64bit) (GPU版本支持CUDA 8/9.2, 且仅支持单卡)*
* *Python 版本 2.7/3.5.1+/3.6/3.7 (64 bit)*
* *pip 或 pip3 版本 9.0.1+ (64 bit)*
8
* *Visual Studio 2015 Update3*
W
wopeizl 已提交
9

10 11 12
## 选择CPU/GPU

* 如果您的计算机没有 NVIDIA® GPU,请编译CPU版的PaddlePaddle
W
wopeizl 已提交
13

14
* 如果您的计算机有NVIDIA® GPU,并且满足以下条件,推荐编译GPU版的PaddlePaddle
15
    * *CUDA 工具包8.0/9.2配合cuDNN v7.3+*
16
    * *GPU运算能力超过1.0的硬件设备*
W
wopeizl 已提交
17

18
## 安装步骤
W
wopeizl 已提交
19

20
在Windows的系统下提供1种编译方式:
W
wopeizl 已提交
21

22
* 本机编译(暂不支持NCCL,分布式等相关功能)
W
wopeizl 已提交
23

24
<a name="win_source"></a>
W
wopeizl 已提交
25 26
### ***本机编译***

27
1. 安装必要的工具 cmake,git 以及 python :
W
wopeizl 已提交
28

29
    > cmake 需要3.5 及以上版本, 可在官网[下载](https://cmake.org/download/),并添加到环境变量中。
W
wopeizl 已提交
30

31
    > python 需要2.7 及以上版本, 可在官网[下载](https://www.python.org/download/releases/2.7/)。
W
wopeizl 已提交
32

33
    > 需要安装`numpy, protobuf, wheel` 。python2.7下, 请使用`pip`命令; 如果是python3.x, 请使用`pip3`命令。
W
wopeizl 已提交
34 35

        * 安装 numpy 包可以通过命令 `pip install numpy` 或 `pip3 install numpy`
36

W
wopeizl 已提交
37
        * 安装 protobuf 包可以通过命令 `pip install protobuf` 或 `pip3 install protobuf`
38

W
wopeizl 已提交
39 40
        * 安装 wheel 包可以通过命令 `pip install wheel` 或 `pip3 install wheel`

41 42 43
    > git可以在官网[下载](https://gitforwindows.org/),并添加到环境变量中。

2. 将PaddlePaddle的源码clone在当下目录下的Paddle的文件夹中,并进入Padde目录下:
W
wopeizl 已提交
44 45 46 47

	- `git clone https://github.com/PaddlePaddle/Paddle.git`
	- `cd Paddle`

48 49 50 51 52
3. 切换到较稳定release分支下进行编译:

	`git checkout [分支名]`

	例如:
W
wopeizl 已提交
53

54
	`git checkout release/1.2`
W
wopeizl 已提交
55

56 57 58
	注意:python3.6、python3.7版本从release/1.2分支开始支持

4. 创建名为build的目录并进入:
W
wopeizl 已提交
59 60 61 62

	- `mkdir build`
	- `cd build`

63
5. 执行cmake:
W
wopeizl 已提交
64

65
	>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)
W
wopeizl 已提交
66

67
	*  编译**CPU版本PaddlePaddle**:
W
wopeizl 已提交
68 69 70 71

		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`
72

W
wopeizl 已提交
73 74 75 76
		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`

77 78 79 80 81
	*  编译**GPU版本PaddlePaddle**:

		For Python2: `cmake .. -G "Visual Studio 14 2015 Win64" -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIRS}
			 -DPYTHON_LIBRARY=${PYTHON_LIBRARY}
			 -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
82
			 -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DCUDA_TOOLKIT_ROOT_DIR=${CUDA_TOOLKIT_ROOT_DIR}`
83 84 85 86

		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}
87
			 -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DCUDA_TOOLKIT_ROOT_DIR=${CUDA_TOOLKIT_ROOT_DIR}`
88

C
Cheerego 已提交
89
6. 部分第三方依赖包(openblas,snappystream)目前需要用户自己提供预编译版本,也可以到 `https://github.com/wopeizl/Paddle_deps` 下载预编译好的文件, 将整个 `third_party` 文件夹放到 `build` 目录下.
W
wopeizl 已提交
90

C
Cheerego 已提交
91
7. 使用Blend for Visual Studio 2015 打开 `paddle.sln` 文件,选择平台为 `x64`,配置为 `Release`,先编译third_party模块,然后编译其他模块
W
wopeizl 已提交
92

C
Cheerego 已提交
93
8. 编译成功后进入 `\paddle\build\python\dist` 目录下找到生成的 `.whl` 包:
94

W
wopeizl 已提交
95 96
	`cd \paddle\build\python\dist`

C
Cheerego 已提交
97
9. 在当前机器或目标机器安装编译好的 `.whl` 包:
W
wopeizl 已提交
98

J
Jiabin Yang 已提交
99
	`pip install -U(whl包的名字)` 或 `pip3 install -U(whl包的名字)`
W
wopeizl 已提交
100

101
恭喜,至此您已完成PaddlePaddle的编译安装
W
wopeizl 已提交
102 103

## ***验证安装***
C
Cheerego 已提交
104 105 106 107
安装完成后您可以使用 `python``python3` 进入python解释器,输入`import paddle.fluid as fluid` ,再输入
 `fluid.install_check.run_check()`

如果出现`Your Paddle Fluid is installed succesfully!`,说明您已成功安装。
W
wopeizl 已提交
108 109 110 111 112

## ***如何卸载***
请使用以下命令卸载PaddlePaddle:

* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
P
peizhilin 已提交
113 114

* ***GPU版本的PaddlePaddle***: `pip uninstall paddlepaddle-gpu``pip3 uninstall paddlepaddle-gpu`
115 116

使用Docker安装PaddlePaddle的用户,请进入包含PaddlePaddle的容器中使用上述命令,注意使用对应版本的pip