深度学习入门准备---Windows环境下安装tensorflow-gpu的简易指南与排坑

安装环境

操作系统:win7 64位
python版本:3.5.6
tensorflow-gpu1.10
CUDA9.0
cuDNN7.0
显卡:GTX970M
内存:16G

安装流程

安装前要做的

1.详细阅读Tensorflow官方文档

在 Windows 环境中从源代码构建
https://tensorflow.google.cn/install/source_windows
在这里我们可以查看不同版本的tensorflow_gpu对应的python版本,cuDNN版本,CUDA版本
查看tensorflow-gpu对应的python版本

2.查看显卡的计算力与适应的CUDA版本

在英伟达的官网上,我们可以查看支持CUDA的gpu与相应的计算力
https://developer.nvidia.com/cuda-gpus
在这里插入图片描述
显卡的计算力至少应当大于5.0

3.安装CUDA和cuDNN

安装tensorflow的cpu版本非常轻松简单,可以像安装其它python开源库那样直接使用pip来安装。但安装tensorflow的gpu版本时却不能如此。其最主要的原因是因为tensorflow gpu版本的源代码底层调用了由英伟达提供的gpu驱动接口,这样才能实现调用gpu帮我们进行并行计算的功能,所以我们必须得先安装英伟达提供的gpu驱动以及cudnn工具,通俗来讲就是我们要安装的CUDA和cuDNN。

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。

NVIDIACUDA®深度神经网络库(cuDNN),是用于深度神经网络的GPU加速库。cuDNN为标准例程提供高度优化的实现,例如前向和后向卷积,池化,规范化和激活层。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。

CUDA与cuDNN是平台与工具的关系。

在这里插入图片描述

对于tensorflow 1.10来说,对应的是CUDA 9.0和cudnn7.0

CUDA下载链接:
https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述
建议选择local下载方式

cuDNN下载链接:
https://developer.nvidia.com/rdp/cudnn-archive
注意下载前要注册英伟达账号,用过Geforce Experience的同学肯定不会陌生

在安装CUDA前,请安装VS2015的运行库。
运行CUDA安装包,安装软件会先运行一个系统检查,如果没有软硬件不兼容的情况就能继续进行下一步。若有不兼容情况,系统检查则会报错,无法进行下一步。如果报错了,就最先考虑下是不是自己的显卡不被该版本支持。建议安装之前先将自己的显卡驱动更新至最新版本,安装时采用自定义安装的模式。
在这里插入图片描述

cuDNN的Windows官方安装文档
在这里插入图片描述
cuDNN下载后是一个压缩包,解压后将文件直接替换至C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\目录下即可,这里是默认安装路径。当然你按照官方文档将文件分别替换置相应文件夹也没有问题。实际上我们会发现压缩包中的文件是原CUDA的文件夹中没有的,并没有文件被覆盖替换,即cuDNN是CUDA的扩展计算库,不会对原有CUDA造成其他影响,这也映证了前文的插入式设计。

4.安装python

我走的是通过Anaconda安装管理python版本的路线,因为conda可以方便地创建管理不同的python版本,因此下载anaconda的时候也无需安装指定的版本,直接下载安装最新版本,稍后再创建自己需要的python版本的虚拟环境即可。同时conda可以自动安装tensorflow-gpu的相关依赖包,不用我们自己去安装。

在Anaconda安装时选择默认设置即可,即不添加到PATH环境变量中,因为这会干扰其他软件(营造一个相对独立的环境)。推荐不安装至系统盘,因为随着使用,创建的虚拟环境和安装的包数量不断增多,文件夹占据的空间会不断变大。

使用Anaconda软件时,从“开始”菜单打开“Anaconda Navigator”或“Anaconda Prompt”(命令行模式)。
Anaconda下载链接如下:
https://www.anaconda.com/distribution/
在这里插入图片描述

conda相关的入门教程与常用命令等不在此赘述,可以自行上网搜索学习。
如果conda原始镜像下载过慢,可以通过下面的命令添加清华镜像源加快下载速度。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

安装tensorflow-gpu

打开Anaconda Prompt
在这里插入图片描述
首先创建一个用于安装tensorflow-gpu的虚拟环境,直观起见,起名为tensorflow-gpu

conda create -n tensorflow-gpu python=3.5

激活虚拟环境

activate tensorflow-gpu

推荐通过conda命令安装tensorflow,将自动安装tensorflow-gpu所需的各种前置包。如果你不能理清tensorflow-gpu前置所需的各个包的版本,安装顺序等,请不要轻易使用pip命令。否则极容易出现安装包时不慎自动升级了python的现象。

#conda install package=version
conda install tensorflow-gpu=1.10

下面还有一些常用的小技巧
一般来说,tensorflow-gpu的安装是很难一次成功的。当安装至某一步我们举棋不定,不知道进一步安装包是否会破坏现有环境的平衡时,可以考虑克隆当前的环境,在克隆出来的环境中大胆尝试,大施拳脚。

复制某个环境
conda create --name new_env_name --clone old_env_name 
删除某个环境
conda remove --name your_env_name --all

当conda命令默认安装的包不满足我们的需求时,可通过如下命令进行高级搜索。

#查询可安装的Tensorflow版本
anaconda search -t conda tensorflow-gpu

在这里插入图片描述

#选择一个合适的版本,在控制台查询相关信息。
anaconda show aaronzs/tensorflow-gpu

在这里插入图片描述

#按照上面输出的最后一行,使用如下指令开始安装
conda install --channel https://conda.anaconda.org/aaronzs tensorflow-gpu

环境变量的设置

进行Win7系统的环境变量设置

CUDA_PATH:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0  
CUDA_BIN_PATH:%CUDA_PATH%\bin   
CUDA_LIB_PATH:%CUDA_PATH%\lib\Win32  
CUDA_SDK_BIN:%CUDA_SDK_PATH%\bin\Win64   
CUDA_SDK_LIB:%CUDA_SDK_PATH%\common\lib\x64   
CUDA_SDK_PATH:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0  

验证CUDA是否正确安装

在系统cmd中输入

nvcc -V

在这里插入图片描述
或者在命令行中运行C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe,可以得到GPU运行时的监测界面,则CUDA安装成功
在这里插入图片描述

验证Tensorflow-gpu是否安装成功

在python的交互式命令行中输入

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

这里我的虚拟环境名为test4
在这里插入图片描述
可以看到成功输出了“Hello, TensorFlow”

凡事动手多尝试,才能慢慢锻炼自己的能力,知易行难。希望这篇博客能给你的学习工作带来些许帮助!

参考资料

[1] https://www.cnblogs.com/hutao722/p/9342577.html
[2] https://blog.csdn.net/u014475479/article/details/81702392
[3] https://blog.csdn.net/omodao1/article/details/83241074
[4] https://www.jianshu.com/p/622f47f94784

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值