Win10安装tensorflow 1.13版本与tensorflow-gpu 1.12 +cuda 9.0+cudann 7.4.2的辛酸史(二)

实验室的电脑GPU性能太低,不符合tensorflow使用GPU运算的最低要求。好在我的笔记本GTX1050ti评分6.1,超过了最低的3.0分,可以尝试tensorflow-gpu,没想到,这个小心思是又一个噩梦的开始。

安装tensorflow-gpu 1.12 版

安装CUDA

CUDA(Compute Unified Device Architecture,点击进入安装网站),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。安装GPU版tensorflow,必须有这个环境。尽量选择你显卡驱动版本支持,同时tensorflow版本也需要与它支持的CUDA对应,不然会很麻烦…我的显卡驱动原生为398.82,支持CUDA 9.2以下的版本。同时,tensorflow-gpu表对应如下:

Version Python version cuDNN CUDA
tensorflow_gpu-1.12.0 2.7, 3.3-3.6 7 9
tensorflow_gpu-1.11.0 2.7, 3.3-3.6 7 9
tensorflow_gpu-1.10.0 2.7, 3.3-3.6 7 9
tensorflow_gpu-1.9.0 2.7, 3.3-3.6 7 9
tensorflow_gpu-1.8.0 2.7, 3.3-3.6 7 9
tensorflow_gpu-1.7.0 2.7, 3.3-3.6 7 9
tensorflow_gpu-1.6.0 2.7, 3.3-3.6 7 9
tensorflow_gpu-1.5.0 2.7, 3.3-3.6 7 9
tensorflow_gpu-1.4.0 2.7, 3.3-3.6 6 8
tensorflow_gpu-1.3.0 2.7, 3.3-3.6 6 8
tensorflow_gpu-1.2.0 2.7, 3.3-3.6 5.1 8
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 5.1 8

预计tensorflow_gpu-1.13.0支持CUDA 10.1 与 cuDNN 7.5 for 10.1, 但是由于之后的一些问题,心累,决定按照前人经验进行CUDA 9.0+ tensorflow-gpu 1.12+ cuDNN 7.5.0 环境的安装。

进入CUDA下载链接后,选择CUDA 9.0,进入以下界面:






选择windows等选项后,界面下方的所有下载项都需要下载(后四个是补丁,如果是10.1就没这么多补丁了)。下载完成后,安装顺序也按照上图所示排列顺序来。
安装本体cuda_9.0.176_win10_network.exe时,跟着索引走,如遇到以下图片时,请务必选择自定义安装。





进入自定义安装之后,请务必按上图中的去掉勾选项,尤其是最后一项,他会更新你的驱动程序,是的,更新完之后,很可能你的独立显卡就无法使用了,重装驱动才能解决问题,这也是为什么即使它能更新驱动也要你安装驱动支持的CUDA版本的原因。安装完主体后,剩下的补丁只要顺序安装即可。





安装cuDNN

NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。下载CuDNN需要注册账号,注册过程比较简单,经过注册可以进入以下界面。





因为cuDNN新的版本支持多个老版本的CUDA,选择最新版本对应CUDA版本对应平台的下载链接下载即可。下载得到一个zip文件。解压压缩包cudnn-9.0-windows10-x64-v7.5.zip,得到三个文件夹。





将这三个文件拷贝到CUDA9.0的安装路径根文件夹下,就完成了前期工作。





安装 tensorflow 1.12 gpu版

根据 Win10安装tensorflow 1.13版本与tensorflow-gpu 1.12 +cuda 9.0+cudann 7.4.2的辛酸史(一)的方法安装Anaconda并创建新环境。

conda create -n tensorflow-gpu python=3.6

由于tensorflow-gpu 1.12只支持到python 3.6 所以需要制定python 3.6.同时,默认安装tensorflow-gpu 1.13,虽然tensorflow-gpu 1.13也支持python 3.6 但为了防止万一,安装tensorflow-gpu 1.12更稳妥。安装之前,因为环境是python 3.6,首先,先升级pip

python -m pip install --upgrade pip

升级完成后,安装tensorflow-gpu

pip install --ignore-installed --upgrade tensorflow-gpu==1.12

利用(一)中的方法进入新环境后,输入测试代码

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

耐心等待,正确输出即表示成功。