主要参考了以下教程,本文部分图或文字摘自这两个教程。
https://zhuanlan.zhihu.com/p/29841665
http://blog.csdn.net/zhichitiany2014/article/details/77671481
1. anaconda使用
推荐用anaconda集中管理python,可方便创建多版本的独立的python环境,又可集中管理安装包。还提供spyder等编辑器。
基本语法:
conda create -n python=python3.5 #创建python环境
conda remove -n --all #移除环境
conda list #列出已安装的软件包
conda install == #安装软件,可制定版本
conda remove # 卸载
conda update #升级
2. 安装VS
注意VS要在CUDA前安装,对于CUDA8.0,VS选择2015版本以下均可。安装时只需要注意一点,手动勾选Visual C++编译器
3. 安装CUDA8.0
官方安装(windows)
建议完整版exe下载,当然也会有超过1G不能下载的情况,还好有北邮人论坛。。。
建议选择非默认位置安装,否则安装过程中空间不足很尴尬。比如我是D:\Program Files\GPU computing Toolkit\v8.0, sample安装在D:\Program Files\GPU computing Toolkit\CUDA Samples\v8.0
同时需要事先确认自己的显卡是否支持CUDA,我的是1080Ti,虽然列表中没有,但使用GPU-Z检测是支持的。
安装cuda8时出现如下警告
"This graphics driver could not find compatible graphics hardware. You may
continue installation. but you may not be able to run CUDA applications with this
driver. This may occur with graphics hardware that is newer than this toolkit. In
that case, it is suggested that you keep your existing driver and install the
remaining portions of the CUDA Toolkit."
在安装中勾选高级,并且不要覆盖原来的显卡驱动程序以及另外的physx驱动(即只选第一个)
安装成功后,除了自动新增的CUDA等系统变量,同时系统变量Path中会增加三个路径(若没有,需要手动添加)
验证是否安装成功,打开命令行,也就是cmd然后输入“nvcc -V”
编译CUDA 的sample项目
选择编译生成1_Utilities中所有的文件。具体操作就是在1_Utilities上右键选择Build,注意红框部分的64位和Release
我遇到的问题是
error MSB4062: The "Nvda.Build.CudaTasks.SanitizePaths" task could not be loaded from the assembly C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\Nvda.Build.CudaTasks.v8.0.dll. Could not load file or assembly 'Microsoft.Build.Utilities.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
这个错误意味着没有安装 MS .NET Framework 3.5 或者 installation is corrupted.
解决策略:To check is it installed or not type "Turn Windows features on or off" in Start menu or go to Control Panel -> Programs and Features -> Turn Windows features on or off. If .NET Framework 3.5 is not checked, install it.
后又遇到:无法打开包括文件:“d3dx9.h”: No such file or directory
解决策略:https://download.microsoft.com/download/4/C/F/4CFED5F5-B11C-4159-9ADC-E133B7E42E5C/DXSDK_Aug09.exe下载DXSDK
成功后,提示5个文件都编译成功
在D:\Program Files\GPU computing Toolkit\CUDA Samples\v8.0\bin\win64\Release中找到deviceQuery和bandwidthTest,拖动到CMD中执行
运行bandwidthTest.exe的方法一样,也是关注是否result = PASS
4. 安装cuDNN
根据英伟达官网「cuDNN 为标准的运算如前向和反向卷积、池化、归一化和激活层等提供高度调优的实现」,它是为卷积神经网络和深度学习设计的一款加速方案。
cuDNN 的下载地址: https://developer.nvidia.com/rdp/cudnn-download
下载解压cuDNN, 将lib, bin, include中的内容拷到对应CUDA安装位置的三个文件中(注意不是覆盖)
5. 安装TensorFlow的GPU版本
创建tensorflow环境
conda create -n tensorflow python=3.5
激活tensorflow环境
activate tensorflow
安装GPU加速的tensorflow
pip install --ignore-installed --upgrade tensorflow-gpu
安装独立环境下的spyder编辑器
conda install spyder
spyder
这里用参考中的一个例子来验证
import tensorflow as tf
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print sess.run(c)
注意:一般tensorflow没有安装成功,import时会有错误,sess定义处才会计算,这里通过才证明安装成功