我也一懒人,用pip install tensorflow未果,才决心编译源码。好在Tensorflow源码实在赏心阅目。加上今天上海阳光明媚。Just Do it ! :)
0 看看自己平台信息
这是我的:
OS: Windows 8.1 64 bits
GPU:NVIDIA GeForce M720 比较挫。聊胜于无。好歹是支持CUDA
已经安装了Python 3.6, Visual Studio 2015, GIT, CMake。
1 第一个准备环境
照这个提示做
https://github.com/tensorflow/tensorflow/tree/r0.12/tensorflow/contrib/cmake
==============================================================
re-requisites
-
CMake version 3.5 up to 3.6
-
Additional pre-requisites for Microsoft Windows:
- Visual Studio 2015
- Python 3.5
- NumPy 1.11.0 or late
===============================================================
//说明:
1 .CMake:是跨平台的构建工具。在Windows下可以直接生成Visual Studio的工程文件。
2.GIT就不解释了。
3.SWIG: 一个绝妙工具,把C/C++写的库自动暴露给脚本。这里用来生成Python包装。须知神经网络这种耗CPU的东西,核心部分当然得用C/C++写。加上脚本只是为了应用的方便。
4. Visual Studio 2015, Python 3.5不解释了。 Numpy是Python中数值计算库,计算向量,矩阵用。
Known-good configurations
Microsoft Windows 10
- Microsoft Visual Studio Enterprise 2015 with Visual C++ 2015
- Anaconda 4.1.1 (Python 3.5 64-bit)
- Git for Windows version 2.9.2.windows.1
- swigwin-3.0.10
- NVidia CUDA Toolkit 8.0
- NVidia CUDNN 5.1
Anaconda is the leading open data science platform powered by Python. The open source version of Anaconda is a high performance distribution of Python and R and includes over 100 of the most popular Python, R and Scala packages for data science.
********************************************************************************************************
OK 一通下载,NVidia CUDNN 5.1 需要注册。
1.1 先准备Python
安装Anaconda 4.1.1这个东西内置Python 3.5。感觉要冲突,不过Python环境集中在一个目录中。解决办法只需要PATH中保留一个即可。并且集成了numpy。如果不放心,可以操作一把:
打开命令行。
c:\python
import numpy
1.2 安装NVidia CUDA Toolkit 8.0
1.3 安装NVidia CUDNN 5.1
这个简单,就是库+头文件。解压到一个目录就可以。
********************************************************************************************************
2 编译的检查:
不要照搬Tensorflow的命令。可能不一样。要点是
a)设置Visual Studio环境变量:
到安装目录上找一下,这个是我的。
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"
b ) 确保nvidia CUDA是否可用。
命令行中输入:c:\nvcc
如果能运行起来。说明可以。
c) CUDNN需要手动设置:
我cudnn放在这里。
C:\cudnn\cuda\bin
把这个目录添加到PATH中。
3 调用cmake生成工程。
进入tensorflow源码目录,我的在d:\project\tensorflow下。
如果用git clone 太慢,可以到github上直接下载zip文件。用迅雷。
cd D:\project\tensorflow\tensorflow\contrib\cmake
mkdir build
cd build
此时工作目录为D:\project\tensorflow\tensorflow\contrib\cmake\build
输入命令:
cmake .. -A x64 -DCMAKE_BUILD_TYPE=Release -DSWIG_EXECUTABLE=C:/swig/swig.exe -DPYTHON_EXECUTABLE=C:/Users/%USERNAME%/Anaconda3/python.exe -DPYTHON_LIBRARIES=C:/Users/%USERNAME%/Anaconda3/libs/python35.lib -Dtensorflow_ENABLE_GPU=ON -DCUDNN_HOME="c:\cudnn"
4 编译
cmake会在build目录下生成一堆目录,先不用细看。今天的任务是编译。就是要找到tensorflow.sln。
打开。编译。先要选择Debug版本编译,因为快。
OK
让她编译吧。我去吃饭,看电影,如果有错误。下回分解。