提交 1371bae0 编写于 作者: W wopeizl 提交者: Cheerego

Windows/support (#415)

* add windows compile, install guide support

* adjust the format

* correct the format
test=develop

* fix the style
test=develop

* fix issue
test=develop

* disable the windows cpp-reference doc temporarily
test=develop

* restore the inference doc
test=develop
上级 736bb7ce
***
# **Windows下从源码编译**
本说明将介绍如何在*64位台式机或笔记本电脑*以及Windows 10系统下编译PaddlePaddle,我们支持的Windows系统需满足以下要求:
* Windows 10 家庭版/专业版/企业版
* Visual Studio 2015 Update3
## 确定要编译的版本
* **仅支持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的硬件设备*-->
## 选择如何编译
我们在Windows的系统下提供1种编译方式:
* 直接本机源码编译
由于在本机上的情况更加复杂,因此我们只支持特定的系统。
<a name="ct_source"></a>
### ***本机编译***
**请严格按照以下指令顺序执行**
1. 检查您的计算机和操作系统是否符合我们支持的编译标准
* Windows 10 家庭版/专业版/企业版
* Visual Studio 2015 Update3
2. 安装必要的工具 cmake,git 以及 python :
> cmake 需要3.0 及以上版本, 可以在官网进行下载,并添加到环境变量中。 [下载地址](https://cmake.org/download/)
> git可以在官网进行下载,并添加到环境变量中。 [下载地址](https://gitforwindows.org/)
> python 需要2.7 及以上版本, 同时确保 `numpy, protobuf, wheel` 等模块得到安装 [下载地址](https://www.python.org/download/releases/2.7/)
* 安装 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 clone https://github.com/PaddlePaddle/Paddle.git`
- `cd Paddle`
4. 切换到较稳定release分支下进行编译(支持1.2.x及以上版本):
- `git checkout release/x.x.x`
5. 创建名为build的目录并进入:
- `mkdir build`
- `cd build`
6. 执行cmake:
>具体编译选项含义请参见[编译选项表](../Tables.html/#Compile)<!--TODO:Link 安装选项表到这里-->
* 对于需要编译**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`
> 如果遇到`Could NOT find PROTOBUF (missing: PROTOBUF_LIBRARY PROTOBUF_INCLUDE_DIR)`可以重新执行一次cmake指令
7. 部分第三方依赖包(openblas,snappystream)目前需要用户自己提供预编译版本,也可以到 `https://github.com/wopeizl/Paddle_deps` 下载预编译好的文件, 将整个 `third_party` 文件夹放到 `build` 目录下.
8. 使用Blend for Visual Studio 2015 打开 `paddle.sln` 文件,选择平台为 `x64`,配置为 `Release`,开始编译
9. 编译成功后进入 `\paddle\build\python\dist` 目录下找到生成的 `.whl` 包:
`cd \paddle\build\python\dist`
10. 在当前机器或目标机器安装编译好的 `.whl` 包:
`pip install (whl包的名字)` 或 `pip3 install (whl包的名字)`
恭喜您,现在您已经完成使本机编译PaddlePaddle的过程了。
## ***验证安装***
安装完成后您可以使用:`python` 进入Python解释器,然后使用 `import paddle.fluid`, 如沒有提示错误,则表明安装成功。
## ***如何卸载***
请使用以下命令卸载PaddlePaddle:
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
......@@ -11,3 +11,4 @@
compile_Ubuntu.md
compile_CentOS.md
compile_MacOS.md
compile_Windows.md
......@@ -12,25 +12,33 @@
* Windows下我们目前仅提供支持CPU的PaddlePaddle。
## 选择如何安装
在Windows系统下请使用我们为您提供的[一键安装包](http://paddle-windows.bj.bcebos.com/1.1/PaddlePaddle-windows-1.1.zip)进行安装
> 我们提供的一键安装包将基于Docker为您进行便捷的安装流程
### ***使用pip安装***
我们之所以使用**基于Docker的安装方式**,是因为我们在把工具和配置都安装在一个 Docker image 里,这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。
我们暂不提供快速安装的命令,请您按照以下步骤进行安装
* 首先,**检查您的计算机和操作系统**是否满足以下要求:
For python2: 使用Python官方下载的python2.7.15
For python3: 使用Python官方下载的python3.5.x
* Python2.7.x,pip >= 9.0.1
* Python3.5.x,pip3 >= 9.0.1
下面将说明如何安装PaddlePaddle:
* 使用pip install来安装PaddlePaddle:
** paddlepaddle 的依赖包 `recordio` 有可能用 `pip` 的默认源无法安装,可以使用 `easy_install recordio` 来安装 **
** 对于需要**CPU版本PaddlePaddle**的用户:`pip install paddlepaddle` 或 `pip3 install paddlepaddle` **
现在您已经完成通过`pip install` 来安装的PaddlePaddle的过程。
<br/><br/>
## ***验证安装***
安装完成后您可以使用:`python``python3` 进入python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令):
......
......@@ -8,79 +8,50 @@ Windows环境模型预测使用说明
测试环境硬件配置:
| CPU | I7-8700K |
|----------|:-------------:|
| 内存 | 16G |
| 硬盘 | 1T hdd + 256G ssd |
| 显卡 | GTX1080 8G |
| CPU | I7-8700K |
|:---------|:-------------------|
| 内存 | 16G |
| 硬盘 | 1T hdd + 256G ssd |
| 显卡 | GTX1080 8G |
测试环境操作系统使用win10 Version 18.03 版本。下载地址:
测试环境操作系统使用 win10 家庭版本。
### 环境配置步骤
**一定要严格按照安装步骤顺序,否则会安装失败!**
**请您严格按照以下步骤进行安装,否则可能会导致安装失败!**
**安装vs2015**
**安装Visual Studio 2015 update3**
安装vs2015,安装选项中选择安装内容时勾选自定义,把关于c,c++,vc++的功能都安装上。下载地址:
安装Visual Studio 2015,安装选项中选择安装内容时勾选自定义,选择安装全部关于c,c++,vc++的功能。
**安装CUDA8**
需要去NVIDIA官网[https://www.geforce.cn/drivers](https://www.geforce.cn/drivers)
下载显卡对应的驱动。推荐391版本
<p align="center">
<img src="https://raw.githubusercontent.com/PaddlePaddle/FluidDoc/develop/doc/fluid/user_guides/howto/inference/image/image1.png" >
</p>
安装时需要勾选自定义,勾选安装全部。
验证安装需要进入cmd中,输入nvcc -V查看。
<p align="center">
<img src="https://raw.githubusercontent.com/PaddlePaddle/FluidDoc/develop/doc/fluid/user_guides/howto/inference/image/image2.png">
</p>
如果有显卡安装驱动,也可以选择直接安装CUDA8.0,[https://developer.nvidia.com/cuda-80-ga2-download-archive](https://developer.nvidia.com/cuda-80-ga2-download-archive)
**安装CUDNN**
安装CUDNN只需要将文件中CUDNN
7下的文件复制到对应的CUDA安装目录下。文件名,cudnn-8.0-windows10-x64-v7.zip。这里提供了cudnn
7
64位的版本。需要其他版本可在[https://developer.nvidia.com/cudnn](https://developer.nvidia.com/cudnn)
下载。
预测demo使用
------------
解压Paddle,Release,fluid\_install\_dir压缩包。
解压Paddle,Release,fluid_install_dir压缩包。
进入Paddle/paddle/fluid/inference/api/demo\_ci目录,新建build目录并进入,然后使用cmake生成vs2015的solution文件。
进入Paddle/paddle/fluid/inference/api/demo_ci目录,新建build目录并进入,然后使用cmake生成vs2015的solution文件。
指令为:
```cmake
cmake .. -G \"Visual Studio 14 2015 Win64\" -DWITH\_GPU=ON
-DWITH\_MKL=OFF -DWITH\_STATIC\_LIB=ON -DCMAKE\_BUILD\_TYPE=Release
-DDEMO\_NAME=simple\_on\_word2vec
-DPADDLE\_LIB=D:\\to\_the\_paddle\_fluid.lib
-DCUDA\_LIB=D:\\CUDA\\v8.0\\lib\\x64
```
`cmake .. -G "Visual Studio 14 2015 Win64" -DWITH_GPU=OFF -DWITH_MKL=OFF -DWITH_STATIC_LIB=ON -DCMAKE_BUILD_TYPE=Release -DDEMO_NAME=simple_on_word2vec -DPADDLE_LIB=path_to_the_patddle\paddle_fluid.lib`
注:
-DDEMO\_NAME 是要编译的文件
-DDEMO_NAME 是要编译的文件
-DPADDLE\_LIB 是fluid\_install\_dir路径,例如
-DPADDLE\_LIB=D:\\fluid\_install\_dir
-DPADDLE_LIB 是fluid_install_dir路径,例如
-DPADDLE_LIB=D:\fluid_install_dir
-DCUDA\_LIB 是CUDA安装目录对应的文件夹
Cmake可以在官网进行下载,并添加到环境变量中。[[https://cmake.org/download/]{.underline}](https://cmake.org/download/)
Cmake可以在[官网进行下载](https://cmake.org/download/),并添加到环境变量中。
执行完毕后,build目录如图所示,打开 箭头指向的solution文件:
执行完毕后,build 目录如图所示,打开箭头指向的 solution 文件:
<p align="center">
<img src="https://raw.githubusercontent.com/PaddlePaddle/FluidDoc/develop/doc/fluid/user_guides/howto/inference/image/image3.png">
</p>
修改编译属性为/MT
修改编译属性为 `/MT`
<p align="center">
<img src="https://raw.githubusercontent.com/PaddlePaddle/FluidDoc/develop/doc/fluid/user_guides/howto/inference/image/image4.png">
......@@ -90,7 +61,7 @@ Cmake可以在官网进行下载,并添加到环境变量中。[[https://cmake
<img src="https://raw.githubusercontent.com/PaddlePaddle/FluidDoc/develop/doc/fluid/user_guides/howto/inference/image/image5.png">
</p>
编译生成选项改成Release
编译生成选项改成 `Release`
<p align="center">
<img src="https://raw.githubusercontent.com/PaddlePaddle/FluidDoc/develop/doc/fluid/user_guides/howto/inference/image/image6.png">
......@@ -110,17 +81,13 @@ Cmake可以在官网进行下载,并添加到环境变量中。[[https://cmake
1. 开启GLOG
set GLOG\_v=3
`set GLOG_v=100`
2. 进行预测
simple\_on\_word2vec.exe \--dirname=.\\word2vec.inference.model
`simple_on_word2vec.exe --dirname=.\word2vec.inference.model`
<p align="center">
<img src="https://raw.githubusercontent.com/PaddlePaddle/FluidDoc/develop/doc/fluid/user_guides/howto/inference/image/image9.png">
</p>
**FAQ:**
路径中尽量不要包含空格,例如发现CUDA\_LIB路径是Program
Files(x86)可能会出错。可以将CUDA拷贝到一个新位置(这里直接拷贝就行)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册