背景·碎碎念
小白一枚,研0在读,为了深度学习装pytorch,先懵懂无知地旁观师姐在Linux上装了一遍环境,大概有了一丢丢印象,然后试着在自己的win10电脑上装。anaconda+pycharm已装后为了这个pytorch简直心累。
第一遍装pytorch以为自己的电脑配置只能装cuda9.0版本,从而装了个低版本的torch,结果跑大佬的代码,有的参数不能用,因为低版本torch库里根本没有!第二遍再装,问题依旧挺多,但好歹装下来了!
记录下我的经验,希望给和我一样的纯小白朋友一点启发。
cuda下载
1、cuda是啥?为啥要装?
(来自百度百科:)
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVIDIA推出CUDA,让显卡可以用于图像计算以外的目的。
(换句简单的话说:)
只用CPU跑代码太慢了,装cuda以后可以用GPU辅助CPU,跑深度学习的代码一下子变快了呢~~
2、cuda跟自己电脑的配置有啥关系?
不是所有电脑都可以装cuda!
打开电脑的设备管理器,在显示适配器一栏检查自己拥有啥显卡。除了每台电脑都有的集成显卡,还必须有至少一个独立显卡,才有可能装cuda哦。
如图所示,我除了集成显卡以外还有一个独立显卡,型号是NVDIA GeForce GTX 1050 Ti。
知道自己的显卡型号以后,有2个问题:
(1)这个型号的显卡可以装cuda吗?
基本上NVIDIA的显卡都支持CUDA,包括Quadro绘图卡,Tesla加速计算卡,GeForce游戏卡,NVS以及Jetson等等。可以通过官网查询自己的型号是否支持cuda(不过这一步并不是十分必要):
(2)这个型号的显卡可以装cuda的什么版本呢?
最高可以装到cuda的什么版本,由驱动的版本决定。
在电脑桌面空白处右击,打开NVIDIA控制面板,点进帮助->系统信息,选择组件,查看NVCUDA64.DLL后的产品名称,可以看到驱动所支持的最高的cuda版本,安装这个版本或者更低的版本都可以。
如果发现自己的驱动能支持的版本很低,不用担心,我们可以先去NVIDIA官网更新一波自己的驱动,再回头下载cuda。
找到自己的显卡型号,正常下载安装即可(后续选择精简安装就好了)。然后再按之前的方法检查以下驱动支持的cuda最高版本,是不是变高了呢?
3、装cuda
https://developer.nvidia.com/cuda-toolkit-archive
进入官网,选择一个版本(只要低于电脑驱动最高支持的版本就行,可以根据你想跑的大佬代码的环境要求来安装)。我选择的是10.2版本(base installer):
下载好以后,进入你的安装位置,双击运行,按照界面的提示来。如果不想装再C盘,着重注意一下安装位置。很多安装教程里说装VS会出现问题,所以需要选择自定义安装,手动取消勾选VS那一项,我不太清楚会发生什么,我跟着做了。
4、cudnn下载
cuDNN Archive | NVIDIA Developer
到官网找到对应cuda版本的cudnn进行下载,解压后将文件夹中的bin、include、lib这3个文件夹复制粘贴到CUDA的安装目录下(默认路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2),直接覆盖即可。
5、检查cuda安装成功了吗?
搜索cmd进入命令窗,利用以下命令进入cuda安装路径中的某个文件夹
cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite
按回车,接着输入:
bandwidthTest.exe
显示PASS则没问题,再来一个检查,输入:
deviceQuery.exe
显示PASS则说明cuda和cudnn均安装成功。
6、设置环境变量
建议找一下别人的教程,孩子这部分没截图。
pytorch安装
上pytorch官网找对应cuda版本的下载命令:
比如我有10.2版本的cuda,就按图上这样选择,得到了一条命令。
1、设置清华镜像源
安装服务器在国外的python库比较慢,改设置咱们国内的镜像源可以快一点儿,清华镜像源就是其中之一。
在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 --set show_channel_urls yes
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/peterjc123/
2、创建虚拟环境
python代码要跑起来,得先配置环境,pytorch也是环境里的内容之一。没有容器,也装不了东西,所以咱们先创建一下环境:
接着在anaconda prompt的命令窗中敲命令(其实cmd也可以):
conda create -n pytorch python=3.8
命令中的pytorch是我给这个环境取的名字,你也可以随便取,python版本也不一定要=3.8,看你需求。
然后就是噼里啪啦的安装,遇到y/n输入y就完事了。
创完环境要激活一下,才能进入这个环境:
conda activate pytorch
进入环境以后能看到命令行前有一个(pytorch),说明已经进入名为pytorch的环境啦。
然后呢咱们就是把之前在官网得到的那条命令复制过来,记得去掉尾巴上的-c python,因为咱用的是清华镜像源哈!
conda install pytorch torchvision torchaudio cudatoolkit=10.2
然后y/n还是选y,等它安装就好了。
但我比较倒霉,它不断安装失败,不断报错CondaHTTPError: HTTP 403 FORBIDDEN for url。我是在学校用的不太稳定的校园网,把网关了,忍痛开启手机热点,一切迎刃而解......默默心疼花出去的那1.6G流量。
当successfully装上以后,往命令行输个python,回车,看到>>>以后,用代码调试一下看看咱以cuda为基础的pytorch好使不好使:
import torch
torch.cuda.is_available()
像我这样得到True就说明好使,成了!