关于tensorflow-gpu的安装,共有三步:1.安装CUDA,2.安装cudnn,3.安装anaconda以及tensorflow。这里需要事先声明,CUDA和cudnn以及tensorflow都有对应的版本关联。因此在安装之前需要对其了解。
一、关于CUDA的安装
首先,安装VS,我这里参考的博客是需要安装VS用于验证CUDA是否安装成功,其他的博客也有没安装VS的,可以自行选择吧。注意:如果要安装VS,则必须先安装VS,然后再安装CUDA,我尝试了先安装CUDA再安装VS2015,则在VS2015中找不到相应的CUDA项目。安装VS的时候只需选择安装C++组件即可,相应的参考链接
在NVIDIA控制面版中查看电脑硬件支持的CUDA组件。控制面板-帮助-系统信息中可以查询
查询其他参考,这里的CUDA版本是指本台电脑能够支持的最高版本的CUDA。(我这里是CUDA10.2),因此可以根据自己的需要选择低于此版本的CUDA。接下来开始安装CUDA。相应的tensorflow对应的支持的cuda可直接百度。安装CUDA的时候可能会有警告:设备的英伟达驱动版本高于安装的CUDA版本,这是正常的。许多人提供的解决方案是在安装时选在自定义安装,然后将CUDA下面的Visual Studio Integration不勾选。这里我由于安装时没找到这种方法,因此选择的方法是指勾选了CUDA下面的所有,而像Other components、driver components这种就没勾选,最后显示安装成功(这里最后在勾选安装目录时,我选择的是默认安装)。
然后检查CUDA是否安装成功,在cmd控制台中输入:nvcc -V可以看到相应的CUDA版本信息,然后参考中的利用VS打开相应的CUDA项目文件并编译通过即证明CUDA安装成功。
将CUDA相关的信息加入到环境变脸中,环境变量添加方法参考网址:https://www.jianshu.com/p/a3f1bfc90df3,(这里我也尝试了其他博客所述的方法,但是运行tensorflow会显示缺少cudnn.dll文件,因此还是选择的这个方法。)
二、安装cudnn
cudnn的版本需要与对应的CUDA版本对应。其下载网址为:https://developer.nvidia.com/rdp/cudnn-archive,可以直接进去选择对应CUDA版本的cudnn进行下载安装,下载下来的是一个压缩文件。压缩文件需要解压,解压之后的文件应该是包含三个文件夹和一个txt文档。
观察cudnn的三个文件夹,里面各包含一个文件,将这三个不同文件夹的文件分别放置于CUDA安装目录下的对应文件中。由于我的CUDA安装目录选择的是默认目录,因此,CUDA的安装路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0,因此,cudnn的bin文件下的.dll文件就可复制于C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin,cudnn的clude和lib文件夹的文件也对应放置于cuda的C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0的对应文件夹中。
在anaconda官网下载anaconda文件,大概几百M,下载网址为https://www.anaconda.com/distribution/#download-section,安装对应python版本的anaconda。这里我需要使用3.0版本的python,因此选择安装左边的。这里注意,anaconda安装的时候会有一个勾选的选项,这里建议将两个都选上,第一个是将anaconda加入环境变量(如果不勾选上的话卸载anaconda可能会卸载不干净)。安装完anaconda之后会有一个base环境,其对应的有一个python版本。我们可以自行选择安装制定版本的python和tensorflow。
anaconda安装完成之后,打开anaconda Navigator, 建立一个新的环境,包括设置环境名字和选择的python版本。(这里我选择的是使用Navigator建立环境,看到很多博客说的是在控制台使用conda create --name tensorflow pythnotallow=3.5之类的命令。这也是可行的,但是我觉得使用Navigator比较方便),在导航器里面也可以看到相应未安装的python支撑库,可以之间在Navigator中安装也比较方便。这里也包括相应的tensorflow版本,但不一定是我们想要的指定版本。为了安装指定版本的tensorflow,还需要进行下一步。
打开anaconda prompt,查看建立的环境,查看命令是conda info --envs。比如我建立的是python36tensorflow18环境,可以看到,我这里有两个环境,目前是在base环境下。
选择激活python36tensorflow18环境,激活语句是activate python36tensorflow18,
然后输入tensorflow的安装命令 pip install tensorflow-gpu1.8之类的命令(其实这里也适用于CPU版本的tensorflow安装,CPU版本的tensorflow则不需要相应的CUDA和cudnn了,cpu版本的tensorflow安装也是pip install tensorflow1.8),我这里是安装的1.8版本的tensorflow,等待安装即可,这里可能会比较慢,也可能会失败,看到网上有两种方法,一种就是在重新输入pip install tensorflow-gpu==1.8命令,一种是参考博客的方法,先在浏览器中将tensorflow文件下载下来,然后再进行安装。
最后进行验证是否安装成功,输入
import tensorflow as tf
C = tf.constant(“you have done a great job!”)
S = tf.Session
s.run©
会出现相应的显卡信息和运行结果。则tensorflow的安装成功。