1. 背景
本机操作系统:win10,显卡:RTX 2060
各模块版本说明:
anaconda:5.2.0,自带python3.6;CUDA:9.2,CUDNN:7.2.1,Tensorflow:1.10
2. 配置流程
2.1 安装Anaconda
由于Tensorflow似乎还不支持python 3.7,所以最好安装python 3.6,为了避免后续安装其他模块出现问题,这里直接安装对应python 3.6的Anaconda 5.2.0。官网只提供最新版本,可在清华镜像站下载旧版本,下载完之后直接安装即可。
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
本地:E:\软件打包\tensorflow_gpu环境
2.2 安装vs 2015
不知道为什么要装vs,后面再研究,值得注意的是,据说vs 2017在安装过程中容易出问题,所以干脆安装2015了,在安装过程中选择自定义然后勾选所有选项。
下载地址:http://download.microsoft.com/download/B/4/8/B4870509-05CB-447C-878F-2F80E4CB464C/vs2015.com_chs.iso
本地:E:\迅雷下载
2.3 安装CUDA
最开始我是准备安装9.0版本,但是安装前的检查说没有支持的显卡,所以选择了9.2,其实官方推荐的是10。
下载地址:https://developer.nvidia.com/cuda-toolkit-archive
本地:E:\软件打包\tensorflow_gpu环境
2.4 安装CUDNN
CUDNN和CUDA的版本对应关系在下载的页面有。
文件解压后有三个文件夹,在CUDA的安装目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2 里面也有这些文件夹,所以将这三个文件夹里的文件分别复制到CUDA对应的文件夹里即可。
下载地址:https://developer.nvidia.com/rdp/cudnn-archive
本地:E:\软件打包\tensorflow_gpu环境
2.5 安装Tensorflow
其实Tensorflow的版本应该有不少可以用的,除了本文的1.10,还有人用过1.18(搭配CUDNN 7.12)。
在github中下载whl文件,然后在命令行中输入
pip install E:\软件打包\tensorflow_gpu环境\tensorflow_gpu-1.10.0-cp36-cp36m-win_amd64.whl
下载地址:https://github.com/fo40225/tensorflow-windows-wheel/blob/master/1.10.0/py36/GPU/cuda92cudnn72avx2/tensorflow_gpu-1.10.0-cp36-cp36m-win_amd64.whl
本地地址:E:\软件打包\tensorflow_gpu环境
3. 测试
运行下列代码,同时查看“性能”中的GPU使用情况
import tensorflow as tf
with tf.device('/cpu:0'):
a = tf.constant([1.0, 2.0, 3.0], shape=[3], name='a')
b = tf.constant([1.0, 2.0, 3.0], shape=[3], name='b')
with tf.device('/gpu:0'):
c = a + b
# 注意:allow_soft_placement=True表明:计算设备可自行选择,如果没有这个参数,会报错。
# 因为不是所有的操作都可以被放在GPU上,如果强行将无法放在GPU上的操作指定到GPU上,将会报错。
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True))
# sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
sess.run(tf.global_variables_initializer())
print(sess.run(c))
4. 参考
每个人的情况可能不完全一样,照葫芦画瓢未必行得通,但是多查资料多参考必能解决问题,感谢下面两个回答
1.RTX2060+win10+Tensorflow GPU+CUDA 9.2+CUDNN7.2+python 3.65
2.tensorflow-gpu1.8.0+win10+vs2017+CUDA9.2 安装——从挖坑到跳坑到出坑