Python学习工具第八期 - GPU加速工具CUDA 的使用 和 Pytorch-GPU 安装的三种方式
上一期我们介绍了CUDA下载安装以及其总结,这一期教大家如何在Anaconda中使用CUDA来进行加速、神经网络依赖cuDNN的下载安装,以及下载和安装Pytorch-GPU安装包的三种方式(conda、pip、轮子)。
Anaconda中使用
在CUDA安装完之后,如果想要学习深度学习中的神经网络的话,则额外下载安装cuDNN,可帮助我们加快神经网络的运算,cuDNN是一个常见的神经网络层加速库文件,能够很大程度把加载到显卡上的网络层数据进行优化计算,而CUDA就像一个很粗重的加速库,其主要依靠的是显卡。cuDNN需要在有CUDA的基础上进行,可以在CUDA基础上加速2倍以上。
下载安装之前,这里再简要介绍几个关键概念
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 )等
cuDNN的下载与安装
**第一步:**官网下载cuDNN的安装包,地址:https://developer.nvidia.com/cudnn,这里需要你注册一个账号,按照要求注册完就可以下载安装包了,这里我的CUDA安装的是10.2版本的,我就安装与我CUDA对应的cuDNN了。
**第二步:**下载好安装包后,利用解压软件解压出来
**第三步:**复制粘贴 bin、include、lib三个文件到CUDA的安装目录进行覆盖替换,
cuDNN到此安装成功!
下面我介绍Pytorch-GPU的下载安装的三种方式
- **Conda安装(官网命令下载速度慢,*设置镜像源*后可加速)
- Pip安装(设置镜像源,*设置镜像源**后可加速*)
- 轮子安装(官网下载轮子,轮子安装)
**第一步:**打开Anaconda Navigator中新建一个虚拟环境,选择Enviroments->Creat->点击,自己设置环境名(这里我设为py35)和Python版本,也可以用命令创建环境
**第二步:**创建完后,点击py35旁边的绿色三角形箭头,选择Open Terminal,在命令行中打开,我们就可以使用命令的方式在该虚拟环境py35中安装Pytorch-GPU了
第一种:Conda安装
第一步:首先我们来到Pytorch-GPU的官网,选择CUDA的安装平台以及版本、Conda或者Pip安装,在下方粘贴复制安装命令即可,但是这里下载速度极慢,很容易出现CondaHTTPError,因为默认的镜像是官方的,由于官网的镜像在境外,访问太慢或者不能访问,为了能够加快访问的速度,我们更改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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
**第三步:**添加完后,在用户目录下,如:C:\Users\11703 ,找到 .condarc 文件,使用记事本打开,删除里面的 defaults,这样能快点,或者在其前面加#号注释掉。
注意:
用conda安装包的标准语法格式为:conda install -c ,
而pytorch官网中conda给的命令行是上图那样的,有-c选项,就说明已经指定了官方下载源,所以自己配置的镜像源不管用, 所以应该把-c pytorch去掉,就可以从镜像源下载文件了。
输入y,即正式下载和安装
友情提示:
如果你想再次换源安装,需要使用以下命令conda config --remove-key channels恢复默认源的命令,否则会报错,然后再次配置你想要的镜像源。
第二种:Pip安装
pip添加源安装,等待一段时间安装完成即可,安装命令:
pip install torch=1.5.0 torchvision=0.6.0 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple
第三种:轮子安装
pytorch轮子文件下载地址:https://download.pytorch.org/whl/torch_stable.html,分别下载安装torch和torchvision安装包,这里请注意自己安装的CUDA、以及torch、torchvision版本匹配,最后创建的Python环境请和下载的一致。如下图举例
下完轮子文件之后,命令窗口到相应虚拟环境以及轮子安装目录下,命令安装轮子,我的轮子文件放在了D盘,
这里注意: 安装Pytorch需要依赖包numpy、future,可以提前安装好,安装torch检测到没有numpy时,会自动帮我们下载安装依赖包numpy、future,不用担心,但是过程缓慢,建议提前安装后numpy、future。
下载安装torch完成后,我们开始安装torchvision,torchvision需要安装依赖包pillow,这里教大家提前安装的方法,使用如下命令,如果出现问题加上信任选项 trusted host,pip install-i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn pillow
安装torchvision
最后我们检测Pytorch-GPU是否安装完成
先使用命令pip list查看已安装的包列表,再输入命令python,然后 torch.cuda.is_available(),输出True,即安装成功
ytorch-GPU是否安装完成**
先使用命令pip list查看已安装的包列表,再输入命令python,然后 torch.cuda.is_available(),输出True,即安装成功
[外链图片转存中…(img-aqnyBtGk-1589948018543)]
本期教程至此就结束了,觉得不错的话推荐给身边的朋友吧,整理不易,希望大家支持~。
想看更多有关深度学习和Python总结的精彩内容,可以关注我的微信公众号:码农的后花园