zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【深度学习环境搭建】Pytorch-GPU1.7.1 和 TensorFlow-GPU1.14.0 安装指南(基于windows10)

安装学习PyTorch 环境 基于 指南 搭建 深度
2023-09-11 14:20:36 时间

搭建时间:2021年2月7日
环境套餐:win10 + vs2017 Community + Pytorch-GPU1.7.1(CUDA11.1 + CuDNN8.0.4) + TensorFlow-GPU1.14.0(CUDA10.0.130 + CuDNN7.6.5)

一、基础知识储备

  • 显卡:(GPU),主流是NVIDIA的GPU,因为深度学习本身需要大量计算。GPU的并行计算能力,在过去几年里恰当地满足了深度学习的需求。AMD的GPU基本没有什么支持,可以不用考虑。
  • 驱动:没有显卡驱动,就不能识别GPU硬件,不能调用其计算资源。
  • CUDA:是显卡厂商NVIDIA推出的只能用于自家GPU的并行计算框架。只有安装这个框架才能够进行复杂的并行计算。主流的深度学习框架也都是基于CUDA进行GPU并行加速的,几乎无一例外。【CUDA的本质是一个工具包(ToolKit)】
  • CuDNN,是针对深度卷积神经网络的加速库。

关于CUDA与CuDNN关系形象阐述:CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。

二、Nvidia显卡驱动 + CUDA + CuDNN 安装指南

2.1、如何查看自己电脑是否可以使用GPU加速?

如果这一步不满足,也就说明自己的电脑无法配置GPU版本的深度学习环境。

想要使用GPU加速,则需要安装 CUDA,所以首先需要自己的电脑显卡是否支持 CUDA 的安装,也就是查看自己的电脑里面有没有NVIDA的独立显卡,这里再说明一下,AMD的显卡不支持安装 CUDA 来进行加速,具体查看步骤如下:

第一步:开始菜单输入框输入设备管理器,打开设备管理器,找到显示适配器后点击打开下单,查看电脑显卡型号:

在这里插入图片描述

上面显卡有两个,第一个是核显,第二个才是独显

第二步:在NVIDA官网列表中,地址:https://developer.nvidia.com/cuda-gpus,查看自己的显卡型号是否在NVIDA列表中,若存在则可以下载 CUDA 实现GPU加速,这里可以看到我的台式机显卡 GeForce GTX 960 ,算力为 5.2(笔记本 GTX 960M 算力是5.0),当然如果你的显卡运算能力在3.0以下,那没有适合你的 CUDA 版本。

在这里插入图片描述
在这里插入图片描述

小知识:GeForce GTX 960 用在台式机;GeForce GTX 960M 用在笔记本。

2.2、CUDA安装

2.2.1、CUDA 安装前的絮叨

安装CUDA之前,我们需要做一些准备工作,一起先来看下NVIDIA的官方的CUDA下载安装文档,CUDA11.2 安装文档地址:https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html

在这里插入图片描述

其他CUDA版本的安装文档地址见:https://developer.nvidia.com/cuda-toolkit-archive

可以看到,如果我们想要下载安装CUDA需要有:NVIDA的显卡、Windows系统和Visual Studio。即:

  • 第一步:查看自己电脑是否有NVIDA显卡
  • 第二步:查看自己是否有支持的版本的微软Windows系统,具体大家可看上图表1。
  • 第三步:查看自己是否有支持版本的Visual Studio,因为我们在安装CUDA时需要用到其中的组件,具体请看上图表2。

安装工作总结

  • 查看自己有是否有支持NVIDA的独立显卡
  • 查看自己是否有NVIDA显卡驱动程序,没有请下载安装
  • 官网下载安装 Microsoft Visual Studio(申请一个微软账号)
  • 官网下载安装 CUDA
  • 检验CUDA安装是否成功
  • CUDA安装成功后的使用

这里以安装 CUDA11.2 和 VS2017 免费社区版为例。

2.2.2、查看显卡是否支持CUDA

查看自己是否有支持安装CUDA的NVIDIA显卡,见上文 2.1小节。

2.2.3、安装 Nvidia 显卡驱动

查看是否有NVIDA显卡驱动程序,如果有,就不用安装了(一般刚装完系统都会安装这些驱动),建议自动更新驱动程序一下;没有,请下载安装,地址:https://www.geforce.cn/drivers,有两种安装方式。自动和手动,选择适合自己电脑的显卡驱动下载,安装很简单,直接下一步,默认系统安装路径就可以。

这里我选择了官网的自动安装,它给我下载了两个软件:

在这里插入图片描述

在这里插入图片描述

打开Geforce Experience软件,点击右上角的检查更新文件,如果有更新提示,点击更新即可。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

安装完后,在桌面右键选择 NVIDA 控制面板,查看GPU显卡所支持的CUDA版本。接着依次点击:NVIDIA控制面板 -> 帮助 -> 系统信息 -> 组件,可以看到 NVCUDA64.DLL 后面的 CUDA 参数。该参数表示显卡支持的 CUDA 最高版本,我的显示11.2.135,所以我下载安装 CUDA11.2 及以下的版本即可。

在这里插入图片描述

CUDA版本要求的系统驱动版本一定要确定好,一般系统驱动版本越高支持的CUDA版本越多!下图是 CUDA11.2 匹配的 windows 驱动版本截图。

在这里插入图片描述
更多版本匹配信息可参考这里

2.2.3、安装 Visual Studio

因为CUDA在安装时,需要 VS 里面的工具包来编译。VS这里我安装的是社区免费版VS2017,无需秘钥key就可以使用,也可以使用其它版本,但是需要key。需要注意的是,在CUDA的安装过程中,会自动检测本机是否已经安装了配套的VS版本其中之一,如果VS版本和Cuda版本不匹配的话,安装无法进行。所以一定要根据自己的CUDA安装版本确定配套的Visual Studio版本,在 CUDA 11.2 的安装文档中,我们可以看到,VS2017 和 CUDA11.2 是匹配的。

在这里插入图片描述

第一步:到微软Visual Studio官方网站进行VS2017安装包下载,这里需要注册一个微软账号并订阅一个服务(不订阅页面会一直打不开…),如果没有的话按步骤进行注册、登录即可,VS2017 社区版下载地址:https://my.visualstudio.com/Downloads?q=Visual%20Studio%202017

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

第二步:下载完安装包后双击,在工作负载处,勾选“C++的桌面开发”(其他的可不勾选,若需要的话,后面可再次安装)

在这里插入图片描述

第三步:选择软件安装位置选择软件要安装到的地方,建议安装到专门放软件的盘,不要安装到系统盘C,然后点击开始进行安装
在这里插入图片描述

第四步:正式安装,这个过程需要等待一会儿时间
在这里插入图片描述

第五步:安装完后,按照网上说电脑会提示重启,但是我并没有重启提示,为了以防万一,我这里手动重启下。

安装成功后的界面如下:

在这里插入图片描述

2.2.4、安装 CUDA

CUDA Toolkit本地安装包时内含特定版本Nvidia显卡驱动的,所以只选择下载CUDA Toolkit就足够了,如果想安装其他版本的显卡驱动就下载相应版本即可。所以,NVIDIA显卡驱动和CUDA工具包本身是不具有捆绑关系的,也不是一一对应的关系,只不过是离线安装的CUDA工具包会默认携带与之匹配的最新的驱动程序。故,在使用多个CUDA的时候就不要选择离线安装的CUDA了,否则每次都会安装不同的显卡驱动,这不太好,我们直接安装一个最新版的显卡驱动,然后在线安装不同版本的CUDA即可。

第一步:到官网下载CUDA安装包,前面我们已经查看到了电脑GPU显卡所支持的CUDA版本为11.2,下载地址:https://developer.nvidia.com/cuda-toolkit-archive

在这里插入图片描述

明明显示11.2,不知道为啥下载出来的文件名是11.1…

在这里插入图片描述

第二步:下载完后,双击打开安装程序,为CUDA选择临时解压文件夹。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第三步:同意并继续后,选择自定义安装
在这里插入图片描述
在这里插入图片描述

第四步:安装组件,全部勾选,点击下一步
在这里插入图片描述

第五步:选择安装位置,这里建议默认安装,也可手动安装,但是要记得自己安装的位置,因为后面需要配置系统环境变量。(这里我就不改了)

在这里插入图片描述

第六步:开始准备安装,等待安装完成,这需要等待一段时间

在这里插入图片描述
在这里插入图片描述

安装完成界面如下,点击下一步,就安装完成了

在这里插入图片描述

在这里插入图片描述

第七步:安装完成后,就需要我们配置 CUDA 的环境变量了,我们在计算机上点右键,打开属性->高级系统设置->环境变量,可以看到系统中多了几个环境变量,如CUDA_PATHCUDA_PATH_V11_1

在这里插入图片描述
CUDA 安装好后,自动默认帮我们设置好了几个环境变量。为了方便日后配置VS使用CUDA,这里我们再手动添加以下5个环境变量。

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

%CUDA_PATH%...前面的%,作用其实就是加上CUDA_PATH的路径,也就是上图的C:\Program Files\......

配置成功之后的图:
在这里插入图片描述

第八步:查看CUDA是否安装成功

配置完系统环境变量之后,我们就可以查看CUDA是否安装成功以及环境变量配置情况。

①、查看CUDA安装版本:Win + R 打开cmd ,输入命令:nvcc --version

在这里插入图片描述

②、查看设置环境变量情况:输入命令:set cuda

在这里插入图片描述

③、在命令窗口运行测试文件,验证deviceQuerybandwidthTest。首先定位到 cuda 安装目录下的: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\extras\demo_suite 目录,接着分别输入deviceQuery.exebandwidthTest.exe 并运行。如果两个命令的Result=PASS则说明通过,反之,Rsult=Fail 则需要重新安装,如下图所示。

在这里插入图片描述

在这里插入图片描述

nvidia-smi看的GPU相关信息更多,参数解读参考这里,注意这里的CUDA Version指的不是你在使用的CUDA版本,想看在使用的CUDA版本输入ncvv -V命令!
这里是引用

如果以上都没问题,则说明CUDA安装成功。

至于 CUDA 安装成功之后的使用,我们可以在Visual Studio中写C++代码使用,也可以在 Anaconda 和 Pycharm 中写 Python 代码使用。

2.3、安装CuDNN

CuDNN(常见的神经网络层加速库文件),能够很大程度把加载到显卡上的网络层数据进行优化计算,CUDNN可以在CUDA基础上加速2倍以上。

2.3.1、再捋一下:NVIDIA的显卡驱动器、CUDA和cuDNN的关系

NVIDIA的显卡驱动器与CUDA

NVIDIA的显卡驱动程序和CUDA完全是两个不同的概念,CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。

NVIDIA显卡驱动和CUDA工具包本身是不具有捆绑关系的,也不是一一对应的关系,CUDA本质上只是一个工具包而已,所以我可以在同一个设备上安装很多个不同版本的CUDA工具包,一般情况下,我只需要安装最新版本的显卡驱动,然后根据自己的选择选择不同CUDA工具包就可以了。

CUDA和cuDNN关系

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

注意:CuDNN是一个SDK,是一个专门用于神经网络的加速包,它跟我们的CUDA没有一一对应的关系,即每一个版本的CUDA可能有好几个版本的CuDNN与之对应,但一般有一个最新版本的CuDNN版本与CUDA对应更好。

CuDNN支持的算法

  • 卷积操作、相关操作的前向和后向过程
  • pooling的前向后向过程
  • softmax的前向后向过程
  • 激活函数的前向后向过程,如(Relu、Sigmoid、Tanh )等

2.3.2、CuDNN的下载与安装

第一步:官网下载CuDNN的安装包,地址:https://developer.nvidia.com/cudnn,这里需要你注册一个账号,按照要求注册完就可以下载安装包了,这里我的CUDA安装的是11.2版本的,我就安装与我CUDA对应的CuDNN了。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

windows下好像只有x86版本的…

第二步:下载好安装包后,利用解压软件解压出来

在这里插入图片描述

第三步:复制粘贴 bin、include、lib三个文件夹里的文件到CUDA安装目录的对应文件夹内进行覆盖替换。

CUDA安装目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1

在这里插入图片描述
注意:CuDNN下的 lib 文件夹是复制 x64 文件夹下的文件到 CUDA 安装目录下的 lib\x64 中。

注意是复制文件到bin、include、lib目录,不是复制目录

CuDNN到此安装成功!

2.4、安装 Pytorch-GPU 1.7.1

Pytorch-GPU 有以下三种方式常见的安装方式:

  • Conda安装(官网命令下载速度慢,设置镜像源后可加速)
  • Pip安装(设置镜像源,设置镜像源后可加速)
  • 轮子安装(官网下载轮子,轮子安装)

正式安装 Pytorch-GPU 之前,我们先来为它创建1个虚拟环境。打开 Anaconda Prompt 输入以下命令,新建一个虚拟环境,Python版本为3.7,并切换到该环境下。命名如下:

conda create -n pytorch_gpu python=3.7
conda activate pytorch_gpu

在这里插入图片描述

2.4.1、使用 conda 安装(三种方式选一种即可)

第一步:首先我们来到 Pytorch-GPU 的官网,选择CUDA的安装平台以及版本、Conda或者Pip安装,在下方粘贴复制安装命令即可。

在这里插入图片描述

但是这里下载速度极慢,很容易出现CondaHTTPError,因为默认的镜像是官方的,由于官网的镜像在境外,访问太慢或者不能访问,为了能够加快访问的速度,我们更改Conda下载安装包的镜像源。在 Anaconda Prompt中依次输入下面几条命令即可。

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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

conda config --set show_channel_urls yes

第二步:添加完后,在用户目录下,如:C:\Users\wangxubo ,找到 .condarc 文件,使用notepad++打开,删除里面的 defaults,这样速度能快点。

注意:用conda安装包的标准语法格式为:conda install -c <channel><packagename>,而pytorch官网中conda给的命令行是上图那样的,有-c选项,就说明已经指定了官方下载源,所以自己配置的镜像源不管用,所以应该把-c pytorch去掉,就可以从镜像源下载文件了。

conda install pytorch torchvision torchaudio cudatoolkit=11.0

输入y,即可正式下载和安装

友情提示:如果你想再次换源安装,需要先使用以下命令conda config --remove-key channels恢复默认源的命令,再更换想要的镜像源,否则会报错。

小问题:我安装的cuda版本是11.1,但是pytorch官网的命令是不提供11.1版本的,我直接用了11.0的命令,但是也是可以用的!这是为什么呢?如果11.0就能代表11.x,那上面为什么还要写10.1、10.2作区分呢?

2.4.2、使用 pip 安装(三种方式选一种即可)

过程与上述conda类似,不过选择了pip安装方式而已,安装之前最好先换一下源,在命令行依次输入以下命令:

pip install pip -U

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

然后到Pytorch官网复制pip安装命令即可,如下:

pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

2.4.3、使用 轮子 安装(三种方式选一种即可)

比较麻烦,不建议这样,具体方法可自行网上搜索。

2.4.4、验证 Pytorch-GPU 是否安装成功

最后我们检测Pytorch-GPU是否安装完成,先使用命令pip list查看已安装的包列表,再输入命令 python,然后一次输入以下代码,若输出True,即安装成功。

import torch
torch.cuda.is_available()

在这里插入图片描述
在这里插入图片描述

2.5、安装TensorFlow-GPU 1.14.0

2.5.1、使用conda安装

TensorFlow版本与Python、CUDA、CuDNN版本之间的对应关系见官网
在这里插入图片描述

首先还是先创建一个虚拟环境,并切换到该虚拟环境下,命令如下:

conda create -n tensorflow_gpu python=3.7
conda activate tensorflow_gpu

接着使用如下命令安装GPU版本的TensorFlow,这种方式可以自动安装与之匹配的CUDA和CuDNN。

conda install tensorflow_gpu=1.14.0

在这里插入图片描述

小问题:上面我安装的CUDA版本是11.1,但是TensorFlow1.14.0按照官网的说法应该用CUDA10,显然不匹配。但是我使用conda install tensorflow_gpu=1.14.0这条命令安装的TensorFlow它自带CUDA10.0.130和CuDNN7.6.5。那它是怎么选择对应的CUDA版本呢?

2.5.2、验证TensorFlow-GPU是否安装成功

首先输入python,进入到python编程环境,然后依次输入以下代码,如果最后输出GPU True,则说明TensorFlow-GPU安装成功。

import tensorflow as tf
print('GPU',tf.test.is_gpu_available())

在这里插入图片描述


参考