前言:
安装这个东西,折腾了大半天,查阅了很多资料。但最终还是安装成功了,并记录下来。希望给大家一些借鉴,顺利完成安装。整个安装过程需要很强的版本控制。显卡驱动==>CUDA<==>cuDAA<==>tensorflow_gpu==>keras
1、我安装的版本为(自测可用):
- python:3.6.6
- tensorflow_gpu:2.1.0
- CUDA:10.1
- cuDAA:7.6.5
- keras:2.3.0
推荐版本系列(这是我在tensorflow官网论坛上找的截图):
2、要用tensorflow-gpu得看自己的电脑是否支持:
然后用谷歌搜索“你的GPU型号+SPECIFICATION”,在官网查它是否支持CUDA。GPU型号文章末端,可知。我的是:GeForce GTX 1050。搜索结果:
第一步:
那怎样知道自己的版本呢:
去tensorflow官网找答案:
因为,官网的url地址可能会改变,所以下面我只把相对地址截图下:
我安装的tensorflow是2.1.0,如图:
第二步:
用pip安装tensorflow_gpu指定版本,并使用清华镜像源加速下载:
pip install tensorflow-gpu==2.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
如果在最后的安装阶段,报Consider using the --user
option or check the permissions.错误。这可能是因为你的python没装在C盘,请在命令上加上__user
pip install --user tensorflow-gpu==2.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
第三步:
CUDA(10.1)安装配置:
由第一步可知,我下载的是10.1:
找到我下载的CRUA.exe可执行程序,进行自定义安装:
一直默认目录(最好不要更改),自定义选择如下:
如上图所示,我们只需选择CUDA下面这4项就够了(默认是全选的。。。),visual studio integration这一项没有勾选是因为我并没有使用VS环境。这一步之后,会询问这些组件的安装路径,可以直接使用C盘的默认位置,当然我自定义了一下(还是那句话,我不建议)。
安装完成后,如果没有更改目录会在C:\Program Files和C:\ProgramData中生产CUDA文件。
打开cmd,输入nvCC -V:
得到上图,说明安装成功。第四步:
cuDNN(7.6.5)(有时候下载cuDNN需要先注册登录,但你多登录几次就可以直接下载了)
下载好对应的包后,解压得到下面目录:
将上图bin、include、lib里面的文件复制一份到下面的目录下对应的bin、include、lib文件夹中。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
第五步:
接下来设置环境变量:
打开属性->高级系统设置->环境变量,
可以看到系统中多了CUDA_PATH和CUDA_PATH_V10_1两个环境变量,接下来,还要在系统中添加以下几个环境变量:
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64
我的截图:
然后:
在系统变量 PATH 的末尾添加:
%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
再添加如下4条(默认安装路径):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin;
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\common\lib\x64;
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\bin\win64;
我的截图:
配置完成后,我们可以验证是否配置成功,主要使用CUDA内置的deviceQuery.exe 和 bandwithTest.exe:
cmd,cd到安装目录下的
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite
也可以点击上图所示的导航栏,直接输入cmd,自动定位到demo_suite目录下。
然后分别执行bandwidthTest.exe和deviceQuery.exe,应该得到下图:
如果以上两步都返回了Result=PASS,那么就算成功啦。
但是,当时我却出现了这种情况:
C:\Users\DELL>cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite>deviceQuery.exe
deviceQuery.exe Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite>bandwidthTest.exe
[CUDA Bandwidth Test] - Starting...
Running on...
cudaGetDeviceProperties returned 35
-> CUDA driver version is insufficient for CUDA runtime version
CUDA error at C:/dvs/p4/build/sw/rel/gpgpu/toolkit/r10.1/demo_suite/bandwidthTest/bandwidthTest.cu:255 code=35(cudaErrorInsufficientDriver) "cudaSetDevice(currentDevice)"
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite>
这句话: CUDA driver version is insufficient for CUDA runtime version。
很明显,自己的显卡驱动版本与CUDA版本不匹配,应该是我的CUDA10.1太高了。查阅资料知道可以升级自己的显卡驱动来解决。有二种方式(我用的是第一种):
1、设备管理器==》 显示适配器:
更新驱动程序即可。
2、
查看自己的显卡信息:
nvidia-smi