对于深度学习新手和入门不久的同学来说,在安装PyTorch和torchvision 时经常会遇到各种各样的问题。这些问题可能包括但不限于:
- PyTorch与CUDA对不上:当前PyTorch版本要求的CUDA版本与系统中已安装的CUDA版本不匹配时。
- PyTorch和Python版本对不上:所选择的PyTorch版本与系统中已安装的Python版本不兼容。
- 安装的PyTorch无法适用操作系统: 当前PyTorch版本不支持系统中已安装的操作系统,比如操作系统为aarch64。
- 安装的PyTorch总是CPU版本: 安装的PyTorch始终是CPU版本而非GPU版本,无法调用CUDA。
- 安装PyTorch一直卡顿 : 因为网络问题或者镜像问题导致下载速度慢,卡顿崩溃。
本文介绍一种手动离线安装Pytorch方法,不用再更改镜像,不用挂代理,适用于解决各种安装中的各种疑难杂症。
一、Pytorch手动安装
1.1、前提准备
要安装Pytorch首先你需要安装好对应你GPU型号的CUDA、CUDNN、Anaconda或Miniconda。 以上这些在网络上有很多现成的教程,这里不再赘述。
1.2、创建虚拟环境
在安装Pytorch之前,必须创建一个自己的虚拟环境,其可以帮助你管理项目的依赖项,避免与其他项目的依赖冲突,并提供一个干净的环境用于安装和运行PyTorch,这里选择新建一个python3.8的虚拟环境:
bash
conda create --name py38 python=3.8
然后等待虚拟环境初始化安装完毕。
1.3、搜索Pytorch包
进入Anaconda官方网站:anaconda.org/ 在Search Packages栏输入pytorch搜索离线安装包,然后选择一个Favorites多的或者下载量多,这里推荐打开第一个pytorch官方源或者conda-forge源的,注意,如果操作系统内核为aarch64需要寻找后面Platforms带aarch64的:
打开后可以看到该包的详细信息,包括License、主页、下载量、最近更新,这里可以不用管,直接点击上方的Labels 进入文件的选择页面。
1.4、选择下载符合配置的Pytorch包
进入之后,会有很多包供选择,眼花缭乱,也包括了最新更新的2.x版本,这里可以选择版本号进行筛选,我们选择比较稳定的1.11.0版本: 然后根据我们本机的配置来选择相应的包,举个例子比如本机的配置为:
- 操作系统:常规Linux的64位系统
- Python版本:3.8
- CUDA版本:11.3
- CUDNN版本:8.2.0 那么就可以选择对应的版本=====》下载linux-64/pytorch-1.11.0-py3.7_cuda11.3_cudnn8.2.0_0.tar.bz2 这个.bz2包。 再举个例子,比如机器配置是:
- 操作系统:Win-64
- Python版本:3.8
- CUDA版本:11.6
需要下载Pytorch1.13.0的,选择 win-64/pytorch-1.13.0-py3.8_cuda11.6_cudnn8_0.tar.bz2 注意事项1:不要下载名称中带cpu的包 ,其无法调用你的CUDA或者GPU 注意事项2:下载后缀为.tar.bz2的安装包最佳,.conda的包实测不太好用
1.5、安装离线包
下载好之后,将该.tar.bz2的安装包丢到conda的pkgs目录中,Anaconda3/pkgs/目录下,如果是Miniconda就丢到miniconda3/pkgs/下,如图所示: 然后cd到这个目录,输入相对应的指令进行安装:
bash
conda install --use-local xxxx.tar.bz2(xxxx.tar.bz2是包的绝对路径)
如:conda install --use-local linux-64/pytorch-1.11.0-py3.7_cuda11.3_cudnn8.2.0_0.tar.bz2,等待片刻后,即可安装成功。
测试Pytorch是否安装成功和是否能够调用GPU,可以运行Python脚本:
bash
import torch
if torch.cuda.is_available():
print("GPU is available") // 查看GPU设备是否可用
else:
print("GPU is not available")
print(torch.cuda.get_device_name(0)) // 查看GPU设备信息
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
x = torch.tensor([1, 2, 3])
x = x.to(device) // 在GPU上运行Tensor
二、 torchvision手动安装
torchvision
是pytorch
的一个图形库,它服务于PyTorch
深度学习框架的,主要用来构建计算机视觉模型 。其包括 torchvision.datasets
、 torchvision.models
、 torchvision.transforms
、torchvision.utils
等模块。
2.1、查找对应的版本
torchvision需要和pytorch的版本对应才能正常使用,在官方git库中提供了这样的对应关系:github.com/pytorch/vis... 往Readme下面翻就可以看到 这里展示部分对应关系:
torch | torchvision | Python |
---|---|---|
2.2 | 0.17 | >=3.8, <=3.11 |
2.1 | 0.16 | >=3.8, <=3.11 |
2.0 | 0.15 | >=3.8, <=3.11 |
1.13 | 0.14 | >=3.7.2, <=3.10 |
1.12 | 0.13 | >=3.7, <=3.10 |
1.11 | 0.12 | >=3.7, <=3.10 |
1.10 | 0.11 | >=3.6, <=3.9 |
1.9 | 0.10 | >=3.6, <=3.9 |
1.8 | 0.9 | >=3.6, <=3.9 |
1.7 | 0.8 | >=3.6, <=3.9 |
1.6 | 0.7 | >=3.6, <=3.8 |
1.5 | 0.6 | >=3.5, <=3.8 |
1.4 | 0.5 | ==2.7, >=3.5, <=3.8 |
1.3 | 0.4.2 / 0.4.3 | ==2.7, >=3.5, <=3.7 |
1.2 | 0.4.1 | ==2.7, >=3.5, <=3.7 |
1.1 | 0.3 | ==2.7, >=3.5, <=3.7 |
<=1.0 | 0.2 | ==2.7, >=3.5, <=3.7 |
2.2、安装torchvision
找到对应版本后,以同样的方式搜索torchvision包,找到需要的.tar.bz2包进行下载 最后以同样的方式进行安装就ok啦,测试torchvision是否安装成功:
bash
import torchvision
# 检查版本
print("torchvision 版本:", torchvision.__version__)