TensorFlow + cuda + cudnn 配置完整教程

最近因为需要跑一些论文代码,无奈CPU在计算方面性能不能满足,于是决定继续尝试之前没有成功的配置GPU环境,最后总算tf可以识别到GPU。这里记录一下自己的配置过程,也算是给大家一个参考。
 
 
①查看对应版本并下载
首先查看python、TensorFlow、cuda、cudnn和Visual Studio对应的版本,注意版本最好严格对应。
注意TensorFlow和TensorFlow-GPU一定安装相同的版本。具体对应关系看下面这篇博客,cuda对应的Visual Studio版本可以百度搜索,如果Visual Studio版本不对cuda在安装时会进行警告。
https://blog.csdn.net/yuejisuo1948/article/details/81043962
另外如果重新安装了Visual Studio,TensorFlow可能会无法检测到GPU,需要把TensorFlow和TensorFlow-GPU卸载后重新安装。
如果需要创建python3.5、3.6、3.7等等其它环境,可以直接在Anaconda Prompt(管理员打开) 中输入对应指令:
conda create -n python35 python=3.5 anaconda
conda create -n python36 python=3.6 anaconda

两句代码会安装所有相关的包。
如果只需要相关环境,可以执行:
conda create -n python35 python=3.5
conda create -n python36 python=3.6
安装完成后可以直接在开始菜单看到对应版本的spyder、控制台等等。
具体可以参考这个:
https://blog.csdn.net/fffsolomon/article/details/107593407
 
 

②卸载之前的版本
参考这篇博客:https://blog.csdn.net/shuiyuejihua/article/details/78738664
在windows的软件管理里,这两个不卸载:NVIDIA的图形驱动程序、NVIDIA Physx系统软件。除了这两个之外的关于cuda的都需要卸载,可以查看软件的安装时间,和cuda同一天安装的都需要卸载,卸载完成后:
1.最好再清理一下注册表;
2.手动删除C:\Program Files\NVIDIA GPU Computing Toolkit文件;
3.在环境变量里把与当前cuda有关的都删除掉。
 
 
③安装cuda和cudnn
参考这篇博客,严格按照步骤来。不同版本的cuda和cudnn安装大同小异。https://blog.csdn.net/sinat_23619409/article/details/84202651
也可以参考这两篇
https://blog.csdn.net/jhsignal/article/details/111401628
下面这篇博客中提到的环境变量最好添加一下:
https://blog.csdn.net/jer8888/article/details/100558964
 
 

③测试能否检测的GPU
如果上述过程都完成并测试通过,打开spyder,输入

import tensorflow as tf
print(tf.test.is_gpu_available())

如果显示true即为配置成功,如果仍然无法检测到CPU,这里我个人的解决办法是:
1.Win+R 输入cmd打开命令符界面,输入python后,输入:

import tensorflow as tf
tf.test.is_gpu_available()

2.一般这时候就会显示出无法调用GPU的具体原因,注意不要在Anaconda Prompt中输入上述内容,在那里输入可能不会显示无法调用的具体原因。我遇到的问题是缺少几个dll文件,如图这是我解决之后的,已经成功载入。
TensorFlow + cuda + cudnn 配置完整教程_第1张图片
3.解决缺少dll文件有两个办法
在这个网站中输入缺少的dll文件的名字并下载。
https://www.dll-files.com/
下载之后将文件放入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
或是参考这篇帖子
https://blog.csdn.net/yijiancmy/article/details/105588156
比如我缺少的是cufft64_10.dll,就在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin查找cufft,一般都会找到cufft64_100.dll,将文件复制到桌面,改为cufft64_10.dll,再放入那个文件夹。

注:
另外,如果想更改CMD命令符下默认的python,可以在环境变量path中将对应版本python的变量移到最前面,即可更改。

如果有其他问题可以在评论区提问哦~

你可能感兴趣的:(教程,python,tensorflow,cuda,cudnn)