CUDA+cuDNN+Tensorflow-GPU Instal
确保Visual Studio已经安装, 十几个G要装很久,手边可以拿本书边看边装,当前最新版本应该是VS2017,但请务必选择2015版本,2017有坑会break CUDA, 微软总是这么拎不清的。2015版本官方链接已失效,可以去 https://msdn.itellyou.cn/ 下载
英伟达开发者站点找CUDA下载,当前最新版本是9.1, 但是一定要安装9.0,因为tensorflow暂不兼容9.1
https://developer.nvidia.com/cuda-toolkit-31-downloads
这个页面有详细的安装说明,在下载完安装之前先阅读一下
https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/
安装完以后运行nvcc -V命令确保安装成功
打开 C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0 并双击 Samples_vs2015.sln 文件用VS加载,然后build solution, 可能会出现一些failed不过没关系。
在CUDA Samples文件夹找到下图中路径执行devicequery命令。官方文档有两处错误,一是说同时提供源码和binary, 其实只有源码所以需要用VS编译,二是说执行文件在release文件夹里,其实在debug目录下。
接下来下载cuDNN - https://developer.nvidia.com/cudnn, 打开文件夹三个目录(lib,bin,include),每个里面只有一个文件,全部拷贝到C:\Program Files\NVIDIA GPU Computing Tookit\CUDA\v9.0\下相应的目录中
最后打开Anaconda命令行窗口,执行pip install --upgrade tensorflow-gpu
安装完后执行以下官方给的这段代码能正常执行就应该是安装成功了
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
在命令行以交互方式执行也可以看到GPU的信息
虽然这里有一个AVX2的warning, 不过没有关系,stackoverflow说: If you have a GPU, you shouldn't care about AVX support, because most expensive ops will be dispatched on a GPU device (unless explicitly set not to).