win10[10.0.14393],有GPU的硬件。
vs2015 update3[14.0.25431.01 Update3]、
cmake 3.7.2。
Git[git version 2.11.0.windows.1]、
python3.5.3、CUDA8.0、cuDNN5.1、swigwin-3.0.12、
numpy-1.12.1+mkl-cp35-cp35m-win_amd64.whl[http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy]
cuda_8.0.61_win10.exe下载地址:
http://developer.download.nvidia.com/compute/cuda/8.0/secure/Prod2/local_installers/cuda_8.0.61_win10.exe?autho=1487739113_9ad462b1e508ab177490b79065da6a6a&file=cuda_8.0.61_win10.exe
安装后有如下环境变量:
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
cuDNN下载需要注册个账号。下载cudnn-8.0-windows10-x64-v5.1-zip后解压到 C:\Program Files\cuda
https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v5.1/prod_20161129/8.0/cudnn-8.0-windows10-x64-v5.1-zip
C:\Program Files\cuda下有bin、include、lib3个目录。
设置环境变量
- 1
- 1
安装pthon3.5.3及必要组件
pytho3.5.3下载地址:https://www.python.org/ftp/python/3.5.3/python-3.5.3-amd64.exe
安装到c:\python35。安装时选择设置环境变量、勾选pip。
安装后,环境变量path中会加入如下两项(如果你安装了其他版本的Python,请确保这个环境变量在path的较前位置)。
注意:
python安装在[Advanced Options]选项页中需要勾选
【Download debugging symbols】
【DownLoad debug binaries (requires VS 2015 later)】
- 1
- 2
- 3
- 1
- 2
- 3
从http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy下载numpy-1.12.1+mkl-cp35-cp35m-win_amd64.whl
并安装。
pip3 install numpy-1.12.1+mkl-cp35-cp35m-win_amd64.whl
下载:swigwin-3.0.12
https://sourceforge.net/projects/swig/files/latest/download?source=typ_redirect
解压到d:\install\swigwin-3.0.12
02 下载代码
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
03 使用cmake-gui生成vs2015工程
根据tensorflow\tensorflow\contrib\cmake\README.md说明,设置SWIG_EXECUTABLE、PYTHON_EXECUTABLE、PYTHON_LIBRARIES、CUDNN_HOME变量。
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
勾选除一下三项外的所有选项
- 1
- 2
- 3
- 1
- 2
- 3
设置CMAKE_INSTALL_PREFIX目录
D:/git/DeepLearning/tensorflow/tensorflow/contrib/cmake/build/tensorflow
指定:源码目录是编译目标目录
- 1
- 2
- 1
- 2
依次点击[configure]和[Generate]按钮,并选择Visual Studio 14 2015 Win64
编译选项。生成的解决方案在D:\git\DeepLearning\tensorflow\tensorflow\contrib\cmake\build\tensorflow.sln
如下图所示:
04 使用vs2015修改部分编译选项
使用vs2015打开D:\git\DeepLearning\tensorflow\tensorflow\contrib\cmake\build\tensorflow.sln
共有254个项目。先编译Release版本。
编译过程中会下载以来代码,比较漫长,耐心等待即可。
Release版最后出现:LINK : fatal error LNK1181: 无法打开输入文件“\pywrap_tensorflow_internal.lib”
错误。
这是因为3个项目的配置有问题,修改如下:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
配置属性==>连接器==>常规==>附加库目录==>添加:$(SolutionDir)$(Configuration);
再次编译,即可全部编译通过。默认调过了
05生tensorflow_gpu-1.2.0rc0-cp35-cp35m-win_amd64.whl
默认编译tensorflow会跳过tf_python_build_pip_package
项目。找到 编译 tf_python_build_pip_package 项目,单独生成一下,即可生成 tensorflow_gpu-1.2.0rc0-cp35-cp35m-win_amd64.whl 安装包。生成在目录:
D:\git\DeepLearning\tensorflow\tensorflow\contrib\cmake\build\tf_python\dist\