在训练神经网络的时候,gpu的速度明显要高于cpu。所以配置gpu的版本就非常有必要。
首先在pycharm中将tensorflow包以及tensorflow-gpu包安装好。这个大家应该都清楚,如下图所示:
注意tensorflow和tensorflow-gpu不是包含关系,两个包都得有。
讲道理接下来就是安装好cuda和cudnn。就行了。
坑的地方来了……
如上图所示,tensorflow的版本号为1.8.0 ,与其适配的是CUDA Toolkit 9.0(有且仅有!!!)。
然而我上官网下载cuda时,只看到9.2的版本,我理所当然的认为这个东西时向下兼容的……
所以当我安装好了9.2的版本,程序还是报错,并持续报错!!!报错码:ImportError: Could not find 'cudart64_90.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 9.0 from this URL: https://developer.nvidia.com/cuda-toolkit
后来经过我严谨的分析,发现是cuda版本的问题。于是费了老大劲在官网上下载了9.0的版本。我知道你们也没找到,链接如下:cuda9.0版 (不用谢我)
装好了9.0的版本后发现还是报原来的那个错?这是没有将cuda添加到系统环境中,将你安装cuda的路径添加系统中,找到这两个文件夹:CUDA\v9.0\bin;CUDA\v9.0\lib\x64;以我的为例,这两个具体路径分别为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
这两个路径添加好了后,报错就变了,提示没有安装cudnn
这是正确的信号。接下来就是安装cudnn。这个比较简单,下载好对应版本的cudnn。
解压刚才下下来的cudnn的压缩包,将这三个文件夹下的文件复制到CUDA对应的文件夹下面即可。
运行一段代码:
#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)
在pycharm中运行得到如下提示: