之前已经通过anaconda安装过了tensorflow-cpu,这篇文档是在此基础上进行tensorflow-gpu版本的安装。GPU与CPU工作原理及区别参看博客。
确定安装版本
1、 “我的电脑” 上右键–> “管理” --> " 设备管理器" -->“显示适配器”
安装之前先检查一下自己显卡支持的驱动版本:在桌面空白处右击,选择 “NVIDIA” 控制面板->管理3D设置>系统信息->组件
可以看到本机支持的是CUDA 10.2.95 版本,表示是不支持更高版本的。如果你升级了驱动,可能会支持更高版本,也可能不会提升。所以就必须安装 10.2.95 及以下的版本
2、查看tensorflow与cuda、cudnn之间的匹配关系
查看tensorflow与python、cuda、cudnn之间的版本匹配:https://tensorflow.google.cn/install/source_windows
如果你已经安装了其他版本的cuda,需要卸载旧的版本以安装新的版本参看博客:
1、留下NVIDIA重要的2个软件:NVIDIA的图形驱动软件,NVIDIA Physx系统软件,其他的都删了
2、C盘C:\Program Files\NVIDIA GPU Computing Toolkit这个文件你也可以删除了
3、 确定安装的软件版本
根据上面的查询信息,选择安装python3.6、tensorflow1.14.0、CUDA10.0、 CUDNN7.4
安装
因为之前已经安装过tensorflow-cpu,所以此处在anaconda中新建一个环境进行上面的配置安装。
1、创建一个新的环境tensorflow-gpu,并安装python3.6
打开Anaconda Prompt,输入命令:
conda create -n tensorflow-gpu python=3.6
安装完成后检查确认新建环境:
conda info --env
检查确认python版本:
(base) C:\Users\Administrator>activate tensorflow-gpu
(tensorflow-gpu) C:\Users\Administrator>python
2、安装cuda10.0
本文选择cuda的版本为10.0 https://developer.nvidia.com/cuda-toolkit-archive
下载完成后进行安装:
CUDA安装路径默认在C:\ProgramData\NVIDIA Corporation,安装完成后,进行验证。
1、在该路径下打开powershell(在NVIDIA Corporation文件夹中,按下shift键,同时鼠标在空白处右击,即弹出“在此处用powershell打开”的命令)
2、执行nvcc -V ,成功的话会返回cuda版本号(此处V要大写)。
安装成功后在系统的环境变量中会自动添加两个变量
还需要再手动添加几个系统变量(博客参考地址找不到了,写的挺好的,后续添加):
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0
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
打开CUDA的路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\demo_suite,在此路径下打开powershell,输入命令,显示如下结果则证明安装成功。
3、安装cudnn7.4.2
到cudnn官网https://developer.nvidia.com/rdp/cudnn-download将7.4.2的版本下载下来(需要先注册一个账号然后才能下载),也可以从百度网盘,提取码:z9k1下载。
解压cuDNN压缩包,可以看到bin、include、lib目录如下:
将该cuda目录下的bin、include、lib目录文件复制到cuda安装目录 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0的bin、include、lib目录中:
添加环境变量
在系统环境变量的Path项下添加几个路径
至此CUDA和CuDNN就安装好了。
4 tensorflow-gpu1.14.0安装
打开Anaconda Prompt,进入上面创建好的环境tensorflow-gpu中:
升级pip到最新版,防止稍后的安装下载到一半出现错误。
pip install --upgrade pip
虽然执行中报错,但是随后查询pip的版本也是更新成功的:
使用conda安装指定版本的gpu版tensorflow (注意激活前面创建的tensorflow-gpu环境,在该环境下安装才行):
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.14.0
安装完成后测试tensorflow的版本:
import tensorflow as tf
print(tf.__version__)
结果报错:
网上搜索错误原因,认为是numpy版本不匹配导致的。所以查询当前安装的numpy版本:
根据博客的内容,匹配的numpy版本为1.16.0。
先卸载已有的1.18.5版本的numpy,然后安装1.16.0的numpy:
重新运行程序,测试安装的tensorflow-gpu的版本:
此时没有报错,则安装成功!
待改进的地方
目前的cuda版本是10.0,在以后的使用中可能需要在不同的cuda版本中进行调换,这是需要进一步考虑的地方。论文https://github.com/phohenecker/switch-cuda提供了一种办法,但是我的电脑测试失败,希望对别人能有用吧!我还需要继续寻找解决办法。