Pytorch安装教程(包含对齐cuda、cudnn版本,VSCode中Anaconda的设置)
安装一个编程环境/编程库的过程是无比烦人的。安装环境时不可避免地涉及一些和该环境有关的知识,而配环境的人多半是新手,面对未知的知识时总会碰到许多麻烦。比如第一次配和C++有关的库的时候,新手就不知道.dll应该加入环境变量,.h应该加入include。而在写教程的时候,也一般都是新手在写教程,老手们对配环境这一“简单”的事情不屑一顾。因此,我们一般只能在网上看到新手写的配环境教程,上面都是按部就班地介绍一步一步的操作,讲不出每一步操作为什么要这样做,那些操作可以更改或者跳过,碰到了问题又怎么样。教程的不详细同样是配编程环境令人感到烦人的原因。
基于上述情况,配编程环境考察的是人利用搜索引擎的能力。在配环境时,应该多参考几篇文章,有英文阅读能力的应该去参考官方给的配置教程。出了问题把问题的出错信息放到搜索引擎上去查。一般多踩几次坑,多花点时间,环境总能配好。
也正是基于这些原因,我觉得写一篇环境配置的文章很没有意思。没有技术性和原创性、繁琐而无趣。但恰逢我第三次配置pytorch环境,一切都轻车熟路了。我准备在等待文件下载安装之余截几张图,水一篇文章。
准备
去搜索引擎搜索pytorch安装 你的操作系统
。比如我这次是在win10上安装,就选择输入”pytorch 安装 win10”.当然,一般会用到Anaconda来安装python上的一些库。在搜索中加入”anaconda”关键字可以搜到更多的教程。
当然,官方网站上也已经给出了不少信息了:https://pytorch.org/get-started/locally/
我的博客是随手写的,看这篇文章可能解决不了所有问题。正如前言中所说,应该多参考几篇教程。
安装Anaconda
Anaconda可以让用户更好地管理python包,配置pytorch需要先安装Anaconda。我说不出它的优点,反正大家都在用,我也一直在用。
https://www.anaconda.com/products/individual#Downloads 这里可以下载Anaconda
如果使用的是Windows,安装以后,点击任务栏中的搜索框,搜索Anaconda,打开Anaconda Powershell Prompt (Anaconda)
或者Anaconda Prompt (Anaconda)
。Ubuntu貌似进入命令行进入了Anaconda。
在conda命令行中输入conda create --name env_name python=3.7
env_name
是虚拟环境的名字。装Python库,就好像在一个新房子里放家具一样,时间久了东西越来越乱。Anaconda给了你无限创造新房子的机会。你可以在一个完全没有“家具”,甚至连Python都没有的虚拟环境里,重新配置库文件。env_name
就是虚拟环境的名字,我一般命名为pt
,这样输入起来很快。后面的python=3.7
是可选的,python版本可选,这句话加不加也可选。没加的话晚点安装python也行。
创建完环境之后,输入conda activate pt
就可以进入新的虚拟环境。前面的(base)
应该会变为(pt)
搞成上图那样就算配得差不多了。
CPU版本的Pytorch
Pytorch等深度学习框架分CPU版和GPU版。GPU版速度快,但装起来有点复杂。如果只想稍微学习一下编程框架,以后用GPU服务器跑正式代码,可以只装CPU版。
这个时候,为了避免GPU版教程的干扰,应该在搜索引擎中搜索Pytorch CPU 你的操作系统
一般输入conda install pytorch-cpu torchvision-cpu -c pytorch
就可以安装好了。但这个时候,一般有一个坑会碰到:下载速度奇慢无比。
这个时候,应该去网上搜索conda 下载慢
类似的关键字。网上一般会给出以下几个办法:换源、直接下载安装包、用pip下载。源就是下载的来源网站,在国内的话最好切换到国内的下载网站比较快。我选择换conda源的方法下载。明确了方法后,要继续换搜索的关键字,应搜索conda 换源
。我搜索到的办法是:输入conda config --set show_channel_urls yes
。之后在用户根目录(比如C:\Users\Yifan Zhou)下编辑.condarc
,加入以下内容:
1 | channels: |
我发现换了源还是下载得很慢,于是直接挂了个VPN再下载(哈哈哈)
比较好的方式开始用换了源的pip
下好之后稍微验证以下。比如安装之后,继续在Anaconda的虚拟环境中输入以下内容
1 | python |
GPU版本的Pytorch
确认显卡驱动
在安装GPU版本Pytorch之前,还要保证电脑中有版本正确的cuda和cudnn。cuda是一套GPU上的编程库,cudnn是基于cuda的深度学习库。Pytorch依赖这两个库,而cudnn版本依赖cuda版本。而由于cuda貌似更新比Pytorch快,出于向下兼容的考虑,应该先在电脑支持的CUDA版本和Pytorch支持的CUDA版本中选择一个较小者,再下载该版本的CUDA和CUDNN。
但是,在安装这些东西之前,还可能碰到一个坑——显卡没装驱动。这里默认电脑使用的是N卡。在控制台中输入nvidia-smi
,如果出现了类似下面这种信息:
就说明驱动已经安装好了。如果没有,请搜索显卡驱动
,适当加入”Nvidia Cuda Cudnn pytorch tensorflow python”等关键词,多看几篇教程总能把驱动装好。
输出信息中的CUDA Version就是电脑显卡最高支持的CUDA版本。到网上下CUDA也应该不超过这个版本。
CUDA
记录下nvidia-smi
命令输出的CUDA版本(比如我的是11.1),再在 https://pytorch.org/get-started/previous-versions/ 查Pytorch是否支持该CUDA版本。如果不支持,就选一个网站上有,且版本小于命令输出的CUDA版本的。之后去 https://developer.nvidia.com/cuda-toolkit-archive 找到合适的CUDA版本,选择版本后选择自己对应的操作系统。下载了可执行文件后直接运行安装。
CUDNN
打开 https://developer.nvidia.com/rdp/cudnn-archive 这个网站。注册账号并登录。根据CUDA版本,找到合适版本在合适操作系统下的CUDNN。(注意是下载cuDNN Library
,比如[cuDNN Library for Windows10 (x86)]
)
正如前面所描述的,CUDNN是个库,不需要安装,只需要把其文件复制到CUDA文件夹下即可使用。要把CUDNN中的bin,include,lib都复制到CUDA的对应目录下。
注意,CUDA的bin文件夹应该被添加进环境变量。用默认设置安装CUDA时一般该文件夹会自动被加入环境变量。
Pytorch
在 https://pytorch.org/get-started/locally/ 中,选择合适的操作系统和CUDA版本。参考CPU版本的Pytorch这一小节的内容,用conda一键下好pytorch。如果网速慢,请利用搜索引擎解决问题。
一切都下载完后,在环境中输入以下内容,看到True就是胜利。
1 | python |