低配 Win10 部署 PyTorch-GPU 深度学习环境(Win10+mx150+CUDA10.2)
本文最后更新于:2021年4月9日 下午
# 低配 Win10 部署 PyTorch-GPU 深度学习环境(Win10+mx150+CUDA10.2)
0x00 写在前面
本文可能不适用于所有人,只是作为我自己的一次记录,完文时间是2020.7.14,一直存在本地没找时间发布,时隔4月直至今天才发。文章大致分为四部分:我的配置、安装 CUDA 、安装 cuDNN 和安装 PyTorch ,只希望读者读完之后能省时间,少踩坑,愿君有所获。
我的配置清单
笔电型号配置: 小米Pro(2018版8G+256G原配固态+256G自加固态)
OS: Win10 Pro Education 64-bit(家庭版应该也差不多)
GPU: GeForce MX150
使用Anaconda进行python包管理
提前装好 Visual Studio 2015或以上版本(community即可)
探探情况
先去PyTorch官网看看最新稳定版支持什么
可以看到它支持Windows系统,且当你用conda来管理python包时,使用GPU训练CUDA可选的版本是9.2、10.1、10.2
如果使用CPU训练那么可以选择none,不使用CUDA加速。
虽然MX150真的很辣鸡,但我这里选择的版本依然还是GPU版。
下面是详细步骤,按我步骤来包你1h搞定(此处使用了夸张的修辞手法)。
0x01 安装CUDA
查看支持的CUDA版本
更新好驱动后就查看你的驱动所支持的CUDA版本
打开NVIDIA控制面板->帮助->系统信息->组件
查看支持版本。
如果发现版本不够高的话可以选择其他版本,如CUDA10.1,大致的流程也是类似的。
或者可以选择更新驱动到最新版本,我这里驱动更新到最新版时对应的CUDA版本恰好为10.2。
更新驱动
将显卡驱动升级到最新版本(我的驱动程序版本是442.50)
可以去NVIDIA官网下载更新,也可以用驱动精灵检测更新。之前装tensorflow时找配适的驱动在官网装感觉有点麻烦,所以这次我直接用驱动精灵装,一路按提示安装就行了,感觉比较省事。(驱动精灵用完就可以卸载了,就一工具软件。)
下载对应版本的CUDA
到官网下载CUDA10.2
随便点一个都可以下载,这里建议选择下载到local,使用第三方下载器估计会比较快。
对Windows用户来说,大多数深度学习框架底层是基于C/C++开发的,需要提前装好 Visual Studio 2015或以上版本。
下载好后点击exe文件,也是一路按提示安装就完事儿。
安装验证
在命令行输入
nvcc -V
如果输出结果如下图所示返回CUDA版本号10.2,说明安装成功。
0x02 安装cuDNN
下载安装
进入官网登录后下载cuDNN v7.6.5 for CUDA 10.2
这一步选择对应的CUDA版本即可,我选择cuDNN Library for Windows 10,下载后得到一个zip压缩包,里面包含了bin、include、lib三个文件夹,解压,把各个文件夹里的文件放到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA下同名的文件夹,配置好环境变量即可。
如果前面没有自定义安装路径,按照默认则需要添加下面两个路径:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
安装验证
在路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite下打开命令行输入
./bandwidthtest.exe
得到下图的结果说明安装成功
此外,还可以添加C:\Program Files\NVIDIA Corporation\NVSMI\
到系统变量中,查看显卡使用情况时就可以直接在命令行输入
nvidia-smi
得到显卡使用情况
0x03 安装PyTorch
Anaconda换源
如果不换源会下载龟速以至于不能实现1h内搞定这个教程,这里我用了清华的源。
打开Anaconda Prompt
先创建一个命名为pytorch_gpu的python版本为3.6的环境
conda create -n pytorch_gpu pip python=3.6
激活pytorch_gpu环境
conda activate pytorch_gpu
查看Anaconda配置
conda config --show
添加清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
设置搜索时显示通道地址
conda config --set show_channel_urls yes
然后在PyTorch官网那里复制conda的命令
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
把其中的 -c pytorch去掉
在命令行中输入
conda install pytorch torchvision cudatoolkit=10.2
上面所有步骤中需要下载的话输入y回车就好。
等待下载完成。
PyTorch安装验证
运行简单的样例代码测试,例如打印出随机生成的张量矩阵,以及gpu是否可以使用。
首先在命令行输入python,进入python的解释器,依次输入以下命令,每输入一句回车
import torch
x = torch.rand(5,3)
print(x)
torch.cuda.is_available()
运行内容类似于以下则说明PyTorch安装成功且支持GPU计算:
>>> import torch
>>> x = torch.rand(5,3)
>>> print(x)
tensor([[0.9752, 0.3114, 0.4016],
[0.9716, 0.3168, 0.8434],
[0.5170, 0.6517, 0.4141],
[0.5586, 0.6290, 0.4637],
[0.8503, 0.0334, 0.4124]])
>>> torch.cuda.is_available()
True
0x04 致谢
感谢前人留下的足迹,这篇文章才能顺利走到这里,接下来开始你的炼丹之旅吧~
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!