0%

Pytorch安装教程(包含对齐cuda、cudnn版本,VSCode中Anaconda的设置)

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
2
3
4
5
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
ssl_verify: true

我发现换了源还是下载得很慢,于是直接挂了个VPN再下载(哈哈哈)

比较好的方式开始用换了源的pip

下好之后稍微验证以下。比如安装之后,继续在Anaconda的虚拟环境中输入以下内容

1
2
3
python
import torch
print(torch.__verion__)

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
2
3
4
python
import torch
import torchvision
torch.cuda.is_available()