tensorflow-gpu安装教程(VS2017+CUDA9.0+cuDNN v7.3.1 for WIN10)

以前在自己笔记本上装过tensorflow-cpu版本,命令挺简单的。现在在实验室的台式机上准备安装tensorflow-gpu版本。中间莫名报了一些错误,也很难解决,也还是消耗了两天时间才装好,其他的安装教程基本没有问题,但是最关键的就是需要各个下载的安装包版本相互匹配。

安装硬件:intel i7 8700k +NVIDIA GPU 1080
安装工具:Anaconda
安装流程分为下面几个步骤:

  1. 下载并安装Visual Studio 2017
  2. 下载并安装CUDA 9.0
  3. 注册账号并下载cuDNN 7.3.1
  4. 通过Anaconda 下载tensorflow-gpu版本
  5. 测试验证

后面安装过程会有需要安装visual studio的原因。
官网安装文档很重要,一定要仔细看,能够避免很多坑,这里面也会给出常见问题的解决办法。
tensorflow版本与cuDNN,CUDA的对应关系。(google官网介绍,windows系统下,tensorflow-gpu/tensorflow版本与相应的cuda和cudnn环境的对应关系 。现在CUDA的工具包更新了很多,历史版本的下载在https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述

安装cuda之前,要先安装visual studio。否则使用推荐安装过程,会告诉你缺少一些包。

装visual studio

如果此时你第一次安装visual studio,建议勾选前三个项目:
1“Desktop development with C++”.
2 “Universal Windows platform development”
3 “.NET desktop development”.
我选择了装visual studio2017版本的。

装cuda

CUDA简介:

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使得GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员现在可以使用c语言来为CUDA架构编写程序

下载cuda安装包,我一开始下载的是cuda10.0(实际装上的是CUDA9.0。10.0版本出现了问题),cuda10.0下载官网。这里记录了我走过的坑,因为总习惯性想下载最新版本。
根据官网的原话,安装过程主要有下面几个步骤:
1.验证系统拥有cuda算力的GPU
2.下载NVIDIA CUDA Tookit(工具包)
3.安装 NVIDIA CUDA Tookit
4.测试安装的软件能够正常运行,并且跟硬件正常沟通

但是,后来cuda安装后,出现无法验证的问题,并且导入tensorflow报错:

ImportError: DLL load failed: 找不到指定的模块。

Failed to load the native TensorFlow runtime.

花了两天的时间还是无法解决该问题。后来把旧版本彻底删除干净,重新安装cuda,在tensorflow官网GPU support上看到:
在这里插入图片描述
于是选择了cuda9.0重新安装。点击这个链接进入官网cuda9.0下载https://developer.nvidia.com/cuda-90-download-archive

点击“Windows”,然后根据你的计算机点击不同的选项,我选择了“exe(local)”作为下载类型,它直接为你下载所有需要包。如下:
在这里插入图片描述

安装过程VS2017不要打开,似乎会出错误,经过下面一些列的安装过程,终于成功装上CUDA 9.0。(图片是10.0安装过程出现的,不影响)
完整的安装过程以及cuda介绍等,都可以参考官方的CUDA Toolkit Documentation

下载完成后点击安装:
在这里插入图片描述
创建一个临时安装目录,将cuda安装进去。
在这里插入图片描述
使用默认的选项即可。
在这里插入图片描述
建议使用默认的推荐。如果自定义,会牵扯到一些操作,会遇到很多问题,读者可自行搜索解决。然后进入下一步
cuda进入安装准备过程,之后出现:
在这里插入图片描述
这时候就可以看出来,如果你的电脑没有安装visual studio,它会告诉你,缺少一些包。
点击下一步,完成安装。

装cudnn

去官网下载CUDNN,下载之前先注册一个账号,选择跟cuda版本对应的cudnn版本。
解压压缩包,分别将下面三个文件拷贝到相应的位置:(是你CUDNN解压后的安装位置)

  1. Copy \cuda\bin\cudnn64_7.dll to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin.
  2. Copy \cuda\ include\cudnn.h to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include.
  3. Copy \cuda\lib\x64\cudnn.lib to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64.

验证cuda是否安装好

推荐deviceQuery。似乎官方文档给的位置不能找到deviceQuery.exe文件,下面是官方文档给的位置:

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\bin\win64\Release

而我是在CUDA的安装位置,下面这个路径中找到deviceQuery文件的。(所以使用默认的安装路径,文件夹的位置就非常好对应起来)

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite

找到deviceQuery.exe文件。直接双击运行是不行的,会闪退。需要在当前文件夹位置打开命令行,然后在运行这个可执行文件。可以看到运行通过(PASS)我的GPU型号是:GeForce GTX 1080。说明能够和底层硬件正常沟通。
在这里插入图片描述
当然你还可以运行该文件夹下的其他例子,比如可以运行oceanFFT.exe文件,会出现下面的动画。
在这里插入图片描述

tensorflow-gpu安装

通过conda命令,可以很方便的安装,如果你没有安装anaconda,建议你安装anaconda。
如果不更改源(换源)的话,从国外网站下载速度十分慢,一般改为清华的镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
添加完成后,可以查看到你刚刚添加的channel
conda config --show
如果想删除这个镜像源,可以使用命令:
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
这样就还是回到了默认的下载源

我之所以不用镜像,是因为此时清华镜像的包cudatoolkit:8.0版本cudnn:6.0,以及numpy:1.12.1-py36_0;而从默认下载源会下载到cudatoolkit:9.0版本和cudnn:7.1.4,以及numpy:1.13.3。不过代价就是下载过程十分慢。

使用命令安装tensorflow-gpu,会自动检查,更新,安装。

conda install tensorflow-gpu

在这里插入图片描述
输入y继续操作。可以看到我更新了从tsinghua源镜像下载的安装包。之后进入一段下载过程,耐心等待即可。

运行一个tensorflow的例子

测试gpu是否成功调用

tf.test.is_gpu_available()

返回true则成功调用。

进入python命令行窗口,并导入tensorflow。下面的代码将两个数组相加的例子,可以看到成功运行。tensorflow-gpu安装到此大功告成。
在这里插入图片描述

参考

pip换源的方法(windows)
临时:使用时加上参数-i

pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple

永久:直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,在pip 目录下新建文件pip.ini,内容如下

[global]

timeout = 6000

index-url = https://pypi.tuna.tsinghua.edu.cn/simple

trusted-host = pypi.tuna.tsinghua.edu.cn

### 报错

遇到报错:
> ImportError: Could not find 'cudart64_100.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 10.0 from this URL: https://developer.nvidia.com/cuda-90-download-archive

通过检查发现,在目录下

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin

我安装的cuda版本为10.2,因此,该目录下的dll文件命名为:cudart64_102.dll。对于tensorflow-gpu==1.14版本,依赖的cuda版本为10.0,所以不匹配造成了这个问题。

常见国内的源

阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值