实验室的电脑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))
耐心等待,正确输出即表示成功。
