本文主要是介绍Win10+MX250+CUDA10.1+cuDNN+Pytorch1.4安装+测试全过程(吐血),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近疫情很严重,很多地方不让出门,很多人也都害怕被传染,包括我,咱一学生也出不了太多力,老老实实在家呆着不添乱就是最好的贡献。但是在家呆着实在无聊,学校又延迟开学,想在家做一些深度学习项目练练手(新手上路,大神勿喷哈哈哈),但是无法连上学校实验室服务器,笔记本CPU跑个demo都费劲。我这一想,笔记本不是还有个鸡肋的MX250吗?很好奇MX250和CPU哪个跑更快一点?于是乎就开始了一波操作。。。
1、配置和模块
- CPU == i7-10710U
- RAM 16GB
- GPU == MX250 显存2GB
- CUDA10.1
- cudnn-10.1-windows10-x64-v7.6.5.32
- PyTorch1.4
2、安装CUDA和cuDNN
CUDA
首先需要确定计算机是否有独立显卡,可以在设备管理器-设备显示器下查看,如果有NVIDIA字样的设备就是拥有独立显卡。
确定有独立显卡之后,还需要确定自己的显卡是否支持CUDA。可以到NVIDIA官网查看是否支持,我是在电脑上的NVIDIA控制面板-系统信息-组件处查询的。
可以看到,MX250是支持CUDA的。接下来就是到此处下载相应版本的CUDA。
我下载的版本是CUDA10.1。
等一顿下载完后就可以进行安装了。 安装会先解压文件到临时目录,这个目录不是安装目录,所以保持默认即可。解压完成后会进入正式安装界面,如下图
因为安装时没有截图,所以在网上找了10.0版本的截图,都是一样的,感谢原作者。
在安装时推荐选择自定义安装,如果电脑安装有VS2017,在选项时建议取消Visual Studio Integration选项,如下图
之后选择自己的安装路径,默认是安装到C盘,你也可以安装到自己指定的位置,但是要记住位置,添加环境变量时要用,我就是安装到D盘D:\NVIDIA GPU Computing Toolkit\CUDA10.1目录下。安装完毕后确认系统变量是否存在以下两个路径 。
将以下目录添加到环境变量中。
完成后,可以通过CMD输入nvcc -V测试是否安装成功。
可以看到,咱安装成功了!如果没有返回该信息,可能是安装失败,自行查找原因或者重装。。。
cuDNN
安装完CUDA之后就是安装cuDNN了。点击这里下载与CUDA对应版本的cuDNN。如果你是第一次使用,网站会要求你注册一个账号,很快就完事了。之后就可以下载了。因为我的CUDA是10.1,所以我下载的是以下版本:
下载完后进行解压,得到以下文件,
将以上文件夹内的文件复制到安装CUDA所在的对应目录下即可。
3、安装PyTorch
安装Anaconda
如果电脑里没有安装python,建议先安装Anaconda,十分方便,直接网上搜官网,或者清华镜像,下载很快。我使用的是Anaconda3-5.2.0版本。安装好后将目录添加到环境变量即可。
Conda安装PyTorch
到pytorch官网选择相应版本的pytorch,复制网站的下载命令,打开Prompt,黏贴
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
即可下载。
这是官网推荐的默认下载方式,由于某些众所周知的原因,国内下载很慢甚至会失败,所以建议采用清华镜像。在conda下运行以下命令设置从清华镜像源下载。
# 添加Anaconda的清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# 设置搜索时显示通道地址
config --set show_channel_urls yes
设置完成后再运行
conda install pytorch torchvision cudatoolkit=10.1
注意,这里没有-c pytorch。
之后就是等待下载安装。安装完成后,打开CMD,进入python,输入以下命令
import torch
torch.cuda.is_availabe()
返回True,则说明安装成功,能够使用GPU加速啦!!!
4、模型测试
既然能够使用GPU加速了,那就用个模型来实验一下吧!LeNet作为最经典的网络之一,简单又实用,先拿它来看看效果怎么样。
基于LeNet测试速度
LeNet作为最经典的网络之一,具体结构大家应该都很熟悉,我就不仔细讲解了,数据集采用的是cifar-10,直接上结果。
首先是CPU跑的速度:平均速度17S左右。
好像速度还挺快的,用GPU跑会快多少呢?
来看看MX250的威力吧!!!
Emm…11S左右好像并没有快多少…
难道MX250真的这么辣鸡吗??容我再试试。。
基于自定义网络测试速度
为了试一试250到底有几斤几两,我自己写了一个更大的网络(没有什么严谨的研究依据,就自己随便写的结构),由6个卷积块,每个卷积块由1个卷积层、1个BN层和ReLU组成,1个全连接层,3个池化层和3个dropout组成。具体如下:
这个模型比LeNet要复杂不少,应该能有一些区分度了吧?
先康康CPU跑的结果吧!
CPU已经是满负载运行了,平均速度在560S/epoch左右,这个相对复杂的模型竟然要这么“久”,有点慢了,顶不住了。
再康康GPU的情况吧:
我去,平均63S左右,竟然快了9倍,很惊喜了!但是为什么LeNet的效果才差这么一点??是 因为LeNet模型太简单还是别的什么问题?请大神指教。
5、总结
经过一下午的折腾,最终在我这小新Pro13上实现了GPU加速神经网络训练的小目标(虽然加速有限,但是打发了无聊,学到了技术,美滋滋)。经过实验对比发现,MX250在这两个小网络上相比于i7-10710U还是有相当可观的加速效果的。如果假期无聊,没有好的GPU,又想尝试GPU加速的小伙伴可以试一试哈!(还是实验室的GPU香啊![滑稽])
6、参考
https://blog.csdn.net/Mind_programmonkey/article/details/99688839
https://blog.csdn.net/kan2281123066/article/details/93789303
这篇关于Win10+MX250+CUDA10.1+cuDNN+Pytorch1.4安装+测试全过程(吐血)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!