在Windows安装tensorflow-gpu总共分为以下几点
安装Python或者Anaconda(建议后者,使用起来非常方便)
- 安装cuda
- 安装cuDNN
安装tensorflow-gpu
Anaconda的安装
Anaconda安装起来很简单,去Anaconda的官网寻找自己想要下载的版本,进行下载和安装即可。
NOTICE:正常情况下会自己将Anaconda的很多路径加入到环境变量中,但是为了保证万无一失,检查一下也无妨,路径包括
- ***\Anaconda3\Library\mingw-w64\bin
- ***\Anaconda3\Library\usr\bin
- ***\Anaconda3\Library\bin
- ***\Anaconda3\Scripts
其中,***
代表自己安装的Anaconda3所在的路径
CUDA的安装
CUDA的下载就是一个大问题,下什么版本的,去哪儿下,怎样安装,都很容易搞错。
版本的选择
在windows下,对应关系如下
Version | Python Version | Compiler | Build Tools | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow-gpu-1.12.0 | 3.5 - 3.6 | MSVC 2015 update 3 | Bazel 0.15.0 | 7 | 9 |
tensorflow-gpu-1.11.0 | 3.5 - 3.6 | MSVC 2015 update 3 | Bazel 0.15.0 | 7 | 9 |
tensorflow-gpu-1.10.0 | 3.5 - 3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow-gpu-1.9.0 | 3.5 - 3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow-gpu-1.8.0 | 3.5 - 3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow-gpu-1.7.0 | 3.5 - 3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow-gpu-1.6.0 | 3.5 - 3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow-gpu-1.5.0 | 3.5 - 3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
下载地址
最新版本的下载地址:https://developer.nvidia.com/cuda-downloads
旧的版本的下载地址:https://developer.nvidia.com/cuda-toolkit-archive
接下来,就是耐住性子等待下载了。
安装方法
将下载好的CUDA安装包用解压软件解压
运行解压之后的
setup.exe
文件选择自定义安装
将
Visual Studio Interpreter
选项勾掉(因为我不勾掉的话一下显示这个选项失败,造成无法安装CUDA,查到这个选项对我的个人需要不太大,所以我就将其勾掉了)安装完成之后,要将几个文件夹加入环境变量
- ***\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
- ***\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp
同样的,
***
代表自己安装的CUDA所在的路径
cuDNN的安装
- 到cuDNN的官方网站上面进行下载,注意匹配好需要的版本
- 下载完成之后,将其解压
- 然后将解压文件中的
bin
,include
,lib\x64
文件夹中的文件分别拷贝到***\NVIDIA GPU Computing Toolkit\CUDA\v9.0\
中的bin
,include
,lib\x64
文件夹中 - 添加如下路径到环境变量中
***\\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
Tensorflow-gpu的安装
- 按照相应Python版本新建Anaconda的env
- 执行
pip install tensorflow-gpu==1.2
进行安装,其中,1.2
指的想要安装的tensorflow的版本 - 执行测试程序测试一下是否安装成功
import tensorflow as tf
# Create TensorFlow object called tensor
hello_constant = tf.constant('Hello, World!')
with tf.Session() as sess:
# Run the tf.constant operation in the session
output = sess.run(hello_constant)
print(output.decode())
NOTICE:
第一次使用tf.Session()
,会有好长时间处于等待中,就像是程序卡住一样
不要担心,等一段时间就可以了,从第二次开始,就不会花那么长时间了
如果出来了Hello, World!
,那就表示已经安装成功啦!
使用如下程序测试tensorflow运算是否真正用到了gpu
import tensorflow as tf # Creates a graph. 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) # Creates a session with log_device_placement set to True. sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) # Runs the op. print(sess.run(c))
如果显示了
device:GPU:0
的字眼,就表示运算使用了gpu