前言
为了忘却的纪念~~~就这么个简单的事情,我整了超过10个小时!!不写点什么对不起这10个小时啊。 先给个最终可行的步骤,再说说我踩了什么坑!一、准备安装包
因为我是确定要安装tensorflow1.14版本、python用3.6的,所以我提前查了一下这个版本可以匹配的cuda和cudnn版本。怎么查?问度娘。反正我是查到cuda10.0+cudnn7.6.5是绝配!于是下载了cuda_10.0.130_411.31_win10.exe和cudnn-10.0-windows10-x64-v7.6.5.32.zip。
这里用红色字体表示坑,开始我用了cuda10.1,结果各种问题,貌似也没有哪里告诉我10.1和10.0有那么大差别!!后面重装了10.0就好了。
cuda下载地址:https://developer.nvidia.com/zh-cn
cudnn下载地址:https://developer.nvidia.com/
下载cudnn需要注册 Nvidia 账号登录进入才行。
我已经将这2个包上传到csdn,如果你们的环境与我一致,欢迎下载,给我换点币币……(er……包太大传不了,只好放在百度云盘,提供地址和取件码)
传送门:https://download.csdn.net/download/qq_40549606/16634766
二、安装cuda
其实很好装啦,双击下载那个cuda_10.0.130_411.31_win10.exe:
1、选择一个临时解压目录
注意:这只是临时用的,不是你最终安装的目录哦。
2、我选了精简,因为我看到(推荐)
3、这个说没有合适版本的Visual Studio Integration,没有关系,勾一下,Next
4、设置环境变量
cuda装好以后,自动会增加2个环境变量CUDA_PATH和CUDA_PATH_V10_0:
我们需要手动在Path里加上这4条:
5、验证是否装好
管理员身份打开命令行,进入cuda安装目录:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\demo_suite(如果安装的时候改了安装路径,需要修改该路径)
运行 bandwidthTest.exe 和 deviceQuery.exe ,如果最后都显示 Result = PASS 则说明安装成功。
二、安装cudnn
这个更简单,解压,然后把文件放到cuda安装目录下对应的目录即可:
1、cudnn/bin下的dll,放到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
2、cudnn/include下的cudnn.h,放到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
3、cudnn/lib/x64下的lib,放到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
搞掂~~~
三、安装tensorflow
1、新建个环境
我用ANACONDA来管理环境,所以到命令行执行:
conda create -n tfgpu114 pip python=3.6
tfgpu114 是我的环境名,你可以随意取名。
切换到该环境:
conda activate tfgpu114
2、开始安装tensorflow-gpu1.14
pip install tensorflow-gpu==1.14
3、验证是否可用
import tensorflow as tf
version = tf.__version__
gpu_ok = tf.test.is_gpu_available()
print("tf version:", version, "\n use GPU:", gpu_ok)
gpu_ok2 = tf.test.is_built_with_cuda()
print("is_built_with_cuda:", gpu_ok2)
这样就对了!
4、后话
因为我要用到keras,我用conda install keras,发现要安装tensorflow2.1版本,如果下载了更高级的tensorflow版本,那么我之前装的1.14就不起效了,所以我终止了这个安装。
查了一下keras和tensorflow的关系:
于是我安装keras2.2.5:
conda install keras==2.2.5
至此,安装部分结束。
下面讲一下那个巨坑。
巨坑
我的电脑原来装好了cuda10.1版本,我就在此基础上安装cudnn7.6.5,tensorflow1.14,装好以后一运行验证程序,报错说缺少cudart64_100.dll文件。我上网一搜,这很好解决,另外下载这个文件放到cuda安装目录下的bin就可以了。
我这么干了,当时确实不再报错,但是正是这个原因,一直无法用GPU。这个问题很隐蔽,一步步都很能验证通过,就是到最后验证程序那里,一直是False。各种折腾以后,我才决定全部重来。这一次,不知道为啥,我选择了cuda10.0,正是这个英明的决定,我成功了!
补充
要监控GPU使用率,很多人说cd C:\Program Files\NVIDIA Corporation\NVSMI目录,执行nvidia-smi,可是我找了找,我并没有这个目录啊。后面发现原来windows10,直接执行即可: