由于GPU版tensorflow的安装需要分别对应tensorflow版本、Python版本、CUDA版本以及cuDNN版本,因此需要提前查看好选择哪一版本,减少出错。
版本之间的关联可查看官网信息:https://tensorflow.google.cn/install/source_windows
若安装CPU版,则部分对应关系如下:
若安装GPU版,则部分对应关系如下:
因此,根据其对应关系,我选择安装的是
tensorflow_gpu-1.13.0/Python3.6/cuDNN7.4/CUDA10
tensorflow_gpu-2.0.0/ Python3.6/cuDNN7.4/CUDA10
由于我想要安装两种不同版本的tensorflow-gpu,需要安装Anaconda来创建虚拟环境。
Anaconda下载官网地址:https://www.anaconda.com/products/distribution
下载安装包后运行安装包,一路默认安装。一直到选择是否将Anaconda添加到系统路径的选项时,进行勾选,可以自动将Anaconda的路径添加到Path中。
安装完成后使用cmd输入conda -V,可查看安装的Anaconda的版本:
CUDA下载官网地址:https://developer.nvidia.com/cuda-toolkit-archive
选择自己需要的CUDA版本进行下载,这里我选择CUDA10.0。
之后会跳转到如下界面,由于我的操作系统是Windows,依次按照红框进行选择,最后下载基础安装包。
下载完成后,双击安装文件进行临时解压。
解压完成后,正式开始安装。
安装选项选择【自定义】。
取消勾选Visual Studio Integration,否则会因为安装了Visual Studio而一直导致安装失败。
可选择更改CUDA的安装位置,但默认位置更好,自定义的位置可能导致安装出错。
完成准备工作后,一路安装即可。
最后验证是否安装成功。
检查环境变量,Windows+S搜索环境变量,查看系统变量中CUDA的变量是否自动添加完成。
查看CUDA版本,Windows+R在输入框输入cmd并进入,输入nvcc -V查看版本信息。
cuDNN下载官网地址:https://developer.nvidia.com/rdp/cudnn-archive
查找对应CUDA10.0的cuDNN版本进行下载。
选择对应操作系统,这里我选择Windows10。
下载完成之后解压,将对应文件夹的文件放到CUDA安装路径对应的文件夹中。
A.将cuDNN中cudnn64_7.dll拷贝至CUDA安装路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin中。
B.将cuDNN中include文件夹下的cudnn.h拷贝至C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include。
C.将cuDNN中lib/x64下的cudnn.lib拷贝至C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64。
至此cuDNN安装完成。
做完安装准备后,开始安装tensorflow-gpu。
在windows的【所有应用】中找到Anaconda的Anaconda Prompt,打开应用。
在该命令行中执行命令创建虚拟环境,Python版本为3.6。环境名称可自定义,这里我的环境名称为tensorflow-gpu。
conda create -n tensorflow-gpu(环境名称) python=3.6
安装完成后的环境可以在Anaconda路径下的envs文件夹下查看,也可以在命令行中使用指令查看。
conda info --envs
虚拟环境创建成功后,激活环境。激活完成后,命令行前端的base会变成tensorflow-gpu。
conda activate tensorflow-gpu
使用pip工具安装tensorflow-gpu,需要指定需要的tensorflow-gpu的版本,不指定则会安装最新版本而导致不兼容。
pip install tensorflow-gpu==1.13.1
安装期间要关闭科学上网,否则可能因为端口问题出错。
安装完成后,检查tensorflow-gpu是否安装成功。输入Python启动python进行测试。输入以下代码检测GPU型号与是否可用。
import tensorflow as tf
print(tf.test.is_gpu_available())
tensorflow2.0.0的安装与tensorflow1.13.1中基本一致。
仅创建虚拟环境处有所区别。
在Anaconda Prompt中执行命令创建虚拟环境,Python版本为3.6。环境名称可自定义,这里我的环境名称为tensorflow-gpu-2。
conda create -n tensorflow-gpu-2(环境名称) python=3.6
激活环境。
conda activate tensorflow-gpu-2
使用pip工具安装tensorflow-gpu,指定需要的tensorflow-gpu的版本。
pip install tensorflow-gpu==2.0.0
打开Anaconda Prompt,在base环境下安装jupyter notebook和ipykernel。(此处我的已完成安装)
pip install jupyter notebook
pip install ipykernel
激活虚拟环境,以tensorflow-gpu为例,之后安装ipykernel。
conda activate tensorflow-gpu
pip install ipykernel
输入以下命令将当前环境添加到Jupyter Notebook的kernel中。其中tensorflow-gpu为当前环境名称,tensorflow-gpu(1.13.1)为Jupyter显示环境名称。
python -m ipykernel install --user --name tensorflow-gpu --display-name “tensorflow-gpu(1.13.1)”
在当前环境下输入命令以启动Jupyter。Windows系统可直接在地址栏输入以下命令启动jupyter notebook。
jupyter notebook
可点击New选择kernel创建文件。
文件创建后,测试tensorflow-gpu的可用性。
同时,后台会显示GPU的启动信息。
初次打开Jupyter Notebook时会有很多文件夹,这是因为电脑默认打开C盘的文件夹。为了便于管理文件且减少C盘存储,可以修改默认保存文件的地址。
Windows+S输入Jupyter Notebook,找到对应的快捷图标。
鼠标右键-属性-目标,去掉后面的"%USERPROFILE%/“,修改为想要保存Jupyter的路径(如这里我修改为"D:\Allthefile\Jupyter-Notebook”)。
可以将该快捷图标移至桌面,双击即可启动Jupyter Notebook,但只有双击快捷图标的方式才能打开自定义路径下的,使用命令行还是会默认打开C盘文件。
之前我安装tensorflow-gpu时总是出现问题,特别是tensorflow-gpu、cuda、cudnn的版本不对应会出现很多奇怪的错误提示,希望这篇记录对我以后也有所帮助。
参考文章链接:
https://blog.csdn.net/qq_45276794/article/details/114311967
https://blog.csdn.net/qq_41133375/article/details/106677634
https://blog.csdn.net/qq_35077107/article/details/94555320
https://www.cnblogs.com/zhangxianrong/p/15061802.html
https://blog.csdn.net/weixin_44852067/article/details/122056669