目录
0.关于pytorch
a. 什么是 PyTorch ?
b. 为何选择 PyTorch ?
1.安装pytorch
1.1确定关联性
1.2下载最新版本的pytorch
1.3.pytorch历史版本下载
1.4 避坑
1.4.1、猜测
1.4.2、验证
1.4.3、解决方案
1.5、检验
0.关于pytorch
a. 什么是 PyTorch ?
PyTorch 是一种用于构建深度学习模型的功能完备框架,是一种通常用于图像识别和语言处理等应用程序的机器学习。使用 Python 编写,因此对于大多数机器学习开发者而言,学习和使用起来相对简单。PyTorch 的独特之处在于,它完全支持 GPU,并且使用反向模式自动微分技术,因此可以动态修改计算图形。这使其成为快速实验和原型设计的常用选择。
b. 为何选择 PyTorch ?
PyTorch 是 Facebook AI Research 和其他几个实验室的开发者的工作成果。该框架将 Torch 中高效而灵活的 GPU 加速后端库与直观的 Python 前端相结合,后者专注于快速原型设计、可读代码,并支持尽可能广泛的深度学习模型。Pytorch 支持开发者使用熟悉的命令式编程方法,但仍可以输出到图形。它于 2017 年以开源形式发布,其 Python 根源使其深受机器学习开发者的喜爱。
值得注意的是,PyTorch 采用了 Chainer 创新技术,称为反向模式自动微分。从本质上讲,它就像一台磁带录音机,录制完成的操作,然后回放,计算梯度。这使得 PyTorch 的调试相对简单,并且能够很好地适应某些应用程序,例如动态神经网络。由于每次迭代可能都不相同,因此非常适用于原型设计。
PyTorch 在 Python 开发者中特别受欢迎,因为它使用 Python 编写,并使用该语言的命令式、运行时定义即时执行模式,在这种模式下,从 Python 调用运算时执行运算。随着 Python 编程语言的广泛采用,一项调查显示,AI 和机器学习任务受到越来越多的关注,并且相关 PyTorch 的采用也随之提升。这使得 PyTorch 对于刚接触深度学习的 Python 开发者来说是一个很好的选择,而且越来越多的深度学习课程基于 PyTorch。从早期版本开始,API 一直保持一致,这意味着代码对于经验丰富的 Python 开发者来说相对容易理解。
PyTorch 的独特优势是快速原型设计和小型项目。其易用性和灵活性也使其深受学术和研究界的喜爱。
Facebook 开发者一直努力改进 PyTorch 的高效应用。新版本已提供增强功能,例如支持谷歌的 TensorBoard 可视化工具以及即时编译。此外,还扩展了对 ONNX(开放神经网络交换)的支持,使开发者能够匹配适合其应用程序的深度学习框架或运行时。
1.安装pytorch
1.1确定关联性
用到pytorch比较多的是深度学习场景,肯定绕不开cuda、cudnn等深度学习框架的部署,那么就要注意了,pytorch与cuda的对应关系:
官网:Previous PyTorch Versions | PyTorch
CUDA Toolkit版本及可用PyTorch对应关系总结(参考官网)
CUDAToolkit版本 | 可用PyTorch版本 |
---|---|
7.5 | 0.4.1 ,0.3.0, 0.2.0,0.1.12-0.1.6 |
8.0 | 1.1.0,1.0.0 ,0.4.1 |
9.0 | 1.1.0,1.0.1, 1.0.0,0.4.1 |
9.2 | 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0,1.4.0,1.2.0,0.4.1 |
10.0 | 1.2.0,1.1.0,1.0.1 ,1.0.0 |
10.1 | 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0, 1.4.0,1.3.0 |
10.2 | 1.12.1,1.12.0,1.11.0,1.10.1,1.10.0,1.9.1,1.9.0,1.8.1,1.8.0,1.7.1,1.7.0,1.6.0,1.5.1,1.5.0 |
11.0 | 1.7.1,1.7.0 |
11.1 | 1.8.0 |
11.3 | 1.12.1,1.12.0,1.11.0,1.10.1,1.10.0,1.9.1,1.9.0,1.8.1,1.8.0 |
11.6 | 1.13.1,1.13.0,1.12.1,1.12.0 |
11.7 | 1.13.1,1.13.0 |
cuda版本确定后,pytorch要依赖此cuda版本,因为pytroch安装跟cuda对应的,比如下图,torch1.11.0只适配cuda10.2、11.3;不适配cuda10.1等其他版本cuda。
以下是pytorch从官网安装的最新版本和历史版本链接,不过,先别急着下,先看1.4,避坑的,看的时候先不急着跟着操作,如果看完后你再根据自己的cuda版本确定采用1.2、1.3还是1.4的方法:
1.2下载最新版本的pytorch
PyTorch官网可以根据操作系统,选择cuda版本, 和选择conda命令还是pip命令:
例如下载最新版本的pytorch命令为:
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
1.3.pytorch历史版本下载
网址:Previous PyTorch Versions | PyTorch
1.4 避坑
我当初下载的cuda是11.1的版本,所以pytotrch也不能用最新版本(仅支持11.7于11.8的cuda),要从历史版本中下载,当我用官网指令下载适配cuda的pytorch后,出现报错:
ERROR: No matching distribution found for torchvision==0.11.2+cu111
该报错是在按官网方法用指令:
pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html
安装pytorch时出现的,以下是分析:
1.4.1、猜测
这个错误提示表明在指令提供的下载网址上没有找到符合要求的torchvision软件包版本,需要安装符合要求的版本。问题可能出在指定的版本号(0.11.2+cu111),这个版本可能不兼容系统或者Python环境又或者根本就不存在,可以尝试安装其他版本的torchvision软件包。
另外,可以查看Python环境是否与要求的CUDA版本兼容,以及查看你的系统是否安装了相应的CUDA驱动程序。你还可以尝试升级你的Python环境或者使用虚拟环境来解决这个问题。
1.4.2、验证
在https://download.pytorch.org/whl/cu111/torch_stable.html网址里,可以看到cu111下的torch、torchvision的目前可以用的所有版本。
1)可以看到对于torch,有win环境下torch1.10.0/cu111这个版本的安装文件 torch-1.10.0+cu111-cp38-cp38-win_amd64.wh:
2)但对于torchvision,torchvision0.11.0/cu111这个版本是没有win环境下的安装包的,全都是linux环境下的安装包
所以会出现上面的报错,torch1.10.0/cu111找不到对应的torchvision0.11.0/cu111。。。。
在win环境下安装pytorch1.10.0/cu111(torch1.10.0+cu111、 torchvision0.11.0+cu111)是不可能安装成功的,因为就没有win环境下对应的torchvision安装包
1.4.3、解决方案
在该网页找好torch和torchvision对应好的都在契合win的系统架构的安装包,再执行相关的安装指令就能解决了。
我的cuda是11.1的版本,所以用下面这个指令,因版本而异,大家自行匹配。使用下面的命令安装torch1.9.1/cu111 + torchvision0.10.1/cu111 (pytorch1.9.1/cu111),不出意外接可以了。
pytorch官网上的安装命令:
# CUDA 11.1
pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.htm
1.5、检验
用以上的三种方案之一安装后,出现下图说明安装成功
进行验证:
没问题!
参考博客:【最新】CUDA Toolkit版本及可用PyTorch对应关系(参考官网)
安装pytorch1.10.0/cu111时报错:no matching distribution found for torchvision==0.11.0+cu111