Win10 GPU运算环境搭建(CUDA10.0+Cudnn 7.6.5+Pytroch1.2+Tensorflow1.14.0)

一、深度学习为什么要搭建GPU运算环境?

熟悉深度学习的人都知道,深度学习是需要训练的,所谓的训练就是在成千上万个变量中寻找最佳值的计算,所需计算的数据量异常庞大。CPU是一个有多种功能的优秀领导者。它的优点在于调度、管理、协调能力强,计算能力则位于其次。CPU的运算在遇到大体量的数据时就会耗费大量时间,而GPU相当于一个接受CPU调度的“拥有大量计算能力”的员工,用GPU运算则可以大大加快深度学习运算速度,从而减少科研的时间成本。

  • 什么是CUDA?

CUDA(Compute Unified Device Architecture)是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

  • 什么是Cudnn?

将CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,这样才能使GPU进行高速的深度神经网络的工作。

二、搭建GPU运算环境

检查自己的显卡型号,选择适合的CUDA和CUDNN

如图打开NVIDIA控制面板–>系统信息–>找到NVCUDA.DLL

26C6DD37-7B88-C85B-FDDB-6CD1983C8338.png

可以看到NVCUDA.DLL 后面产品名称那一列写着NVIDIA CUDA 10.2.95 driver,说明我的显卡支持CUDA10.2及以下版本。

  • CUDA的下载

这里我选择了CUDA 10.0版本,因为相较于最新版CUDA 10.2,版本稍低一点会相对稳定点吧!进入NVIDIA官网下载CUDA然后安装可以了。

下图根据提示选择好自己的系统,系统架构,系统版本,下载方式,点击下载的CUDA是最新的!想要下载历史版本的话,需要自己去找,具体百度即可。

D5E3BBCF-6053-2475-1D40-D0F78269DA7D.png

最后进入命令窗口输入:nvcc -V查看安装是否成功。下图就是成功安装的样子。

B9B76FA1-6BBA-052C-C4D5-0159C1210FEC.png

  • Cudnn的下载

进入Cudnn界面–>点击Download cuDNN

这里网站会要求你注册一个英伟达账号,注册了就会跳转去下载页面,最后根据自己安装的CUDA版本选择Cudnn版本就好。我用的是Cudnn 7.6.5。

1E6C7A71-94B5-E9A2-02C5-F7AD0E1F7BF3.png

下载解压后,把CuDNN目录里面的bin, include, lib里面的文件覆盖放入CUDA目录下对应的bin,include,lib里面(注意是复制文件,而不是文件夹)。

D086DDD8-AE55-AD89-67A7-66A505080D2D.png

16B45204-7DE5-1B68-7A0E-E7978CAB10CC.png

至此GPU运算环境就算搭建完成了!

三、Ananconda3的安装

FC40067D-4DB0-3798-DE3C-98983688AF83.jpeg

  • 什么是Anaconda?

Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。

Conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。

  • 下载Anaconda3

根据电脑系统和python版本选择下载文件,按照安装程序的指示进行安装就好了。DE0C41A8-045B-1279-3690-44D53178268B.png

四、Anaconda虚拟环境的搭建
  • 什么是虚拟环境?

虚拟环境无非就是将系统的Python运行环境copy到一个指定的文件夹下,这个文件夹里的内容就是所谓的虚拟环境。你可以在这个copy出来的环境做实验(写你的Python代码)而不用担心影响到其它的项目。也就是说每个虚拟环境都是独立的相互隔离的。

8B974B5A-0159-E5E8-F495-A8323ADE8E7E.png

不同项目所需要的框架和python包甚至是框架和包的版本都各不相同,所以为每个项目搭建特定的虚拟环境是非常有必要的,要养成这个好习惯!

  • 虚拟环境的相关操作

使用conda create -n your_env_name python=X.X(2.7、3.6等)命令创建python版本为X.X、名字为your_env_name的虚拟环境。

进入虚拟环境:conda activate your_env_name(虚拟环境名称)

39593B4F-4392-9FEF-259E-B66E434C2461.png

对虚拟环境中安装额外的包:conda install -n your_env_name [package]

退出虚拟环境:deactivate

五、选择要搭建的深度学习框架
  • Pytorch的安装

进入pytorch官网,选择自己的操作系统、编程语言、CUDA版本,最后红圈部位会出现一行命令,复制到命令窗口就可以下载了。

E8DE8E6E-4846-5D2B-F703-166DE562B3DC.png

但是!这种方法灵活性很低,我安装的是CUDA 10,上图Package里没有这个选项怎么办?还有PyTorch的版本在国内下载是非常非常非常慢的,而且近期清华与科大的镜像都被封了,就导致了直接使用PyTorch官网推荐的语句很难安装。

解决办法是:下载安装包到本地 。

建议大家在Package一项中选择“pip”安装,然后在“Run this Command”这一栏,直接复制代码中的两个网址,就可以下载到本地来进行安装了。

  • 检查环境和GPU运算是否搭建成功

我上网了解很多人使用pytorch 1.2版本,所以没有下载最新的1.5。

import torch
print("hello pytorch {}".format(torch.__version__))
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

6D0EA7E0-FCE6-37AD-D47B-A82107878EC5.png

  • Tensorflow的安装

2DE2C9B7-8079-DDCF-010D-F8D9B0221D0E.png

TensorFlow是基于VC++2015开发的,所以需要下载安装VisualC++ Redistributable for Visual Studio 2015 来获取MSVCP140.DLL的支持。

我这里下载了Visual Studio 2017。

然后就是好习惯时刻——创建一个虚拟环境,进入其中执行下载语句conda install tensorflow安装就可以了!我用的是 Tensorflow 1.14.0。

五、心得和一些建议

整个深度学习环境的搭建过程是挺磨人的,我期间参考了许多博客和视频。由于版本问题不匹配而导致环境搭好了又要推倒重来,不断地踩坑排坑,还好结果是好的。

给一些建议:

  1. 在搭建GPU环境前,要了解自己的显卡支持的CUDA版本,并且cudnn要和CUDA版本匹配。
  2. 无论是CUDA还是深度学习框架,尽量避免使用最新版,版本稍微低一点点就够了,因为出了问题能找到很多同版本使用者的解决方案。
  3. 国内下载python包有时会很慢甚至报一些连接失败的错误,换个下载方式就好了。
  4. 多利用虚拟环境,避免各个环境间的污染。
  5. 搭建好环境后,去跑一个中等大小的图像数据集代码吧!然后去看看你的GPU利用率是否变得很高,验证环境确实是搭建成功了。
本文所涉及到的版本配置
  • Window 10 + RTX 2060
  • CUDA10.0+Cudnn 7.6.5
  • Pytorch 1.2.0 +Python 3.6.5
  • Tensorflow 1.14.0+Visual Studio 2017+python 3.7.3
收藏 (0)
评论列表
正在载入评论列表...
我是有底线的
为您推荐
    暂时没有数据