前言
看到DateWhale出了一篇安装教程(微信公众号DateWhale),决定体验一下Tensorflow1.9的GPU版本。。其实一开始装的是2.0,但是tf.Session()就报错了,说是2.0不能这么用,
于是有点怂,还是装回1.X版本先玩玩吧,至少教程多啊。。
正文
总共所需环境为
Anaconda3.X,
CUDA9.0以上,以及
cuDNN7.5以上的配置,
一、
首先Anaconda是已经有3.6的版本了,
二、
然后在自己机子上看了一下环境变量,原来很久以前我就装了CUDA的9.0版本,挺爽。。
测试一下CUDA是安装成功的,CMD打开命令行窗口,敲:
nvcc -V
#
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:32_Central_Daylight_Time_2017
Cuda compilation tools, release 9.0, V9.0.176
出现了CUDA的版本信息,我这里是9.0,那么就表示CUDA安装成功了。然后在CUDA的安装文件夹里C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0
在bin和include文件夹里找了一圈都没找到cuDNN这个库,说明我应该重新下载。。
三、
于是,在这个网站里下载和CUDA对应版本的cuDNN——https://developer.nvidia.com/rdp/cudnn-download
可以看到我应该是需要下载7.6.1版本的,于是下载。。
下载完之后需要把该文件拷贝到CUDA文件夹下,具体如下
环境变量配置
首先是在用户的环境变量里,把CUPTA和cudnn的路径都添加进来
然后是在系统的环境变量里配置
安装
pip install tensorflow-gpu==1.9
测试
1、
>>> import tensorflow as tf >>> tf.test.is_gpu_available()
假如显示True,则说明GPU版本安装成功;
2、
import numpy import tensorflow as tf 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) sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) print(sess.run(c))
#
MatMul: (MatMul): /job:localhost/replica:0/task:0/device:GPU:0
2019-06-27 21:36:15.732130: I T:srcgithub ensorflow ensorflowcorecommon_runtimeplacer.cc:886] MatMul: (MatMul)/job:localhost/replica:0/task:0/device:GPU:0
Const: (Const): /job:localhost/replica:0/task:0/device:CPU:0
2019-06-27 21:36:15.739942: I T:srcgithub ensorflow ensorflowcorecommon_runtimeplacer.cc:886] Const: (Const)/job:localhost/replica:0/task:0/device:CPU:0
a: (Const): /job:localhost/replica:0/task:0/device:GPU:0
2019-06-27 21:36:15.750423: I T:srcgithub ensorflow ensorflowcorecommon_runtimeplacer.cc:886] a: (Const)/job:localhost/replica:0/task:0/device:GPU:0
b: (Const): /job:localhost/replica:0/task:0/device:GPU:0
2019-06-27 21:36:15.763625: I T:srcgithub ensorflow ensorflowcorecommon_runtimeplacer.cc:886] b: (Const)/job:localhost/replica:0/task:0/device:GPU:0
[[22. 28.]
[49. 64.]]
说明tensorflow调用GPU工作