目录
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、检验
PyTorch 是一种用于构建深度学习模型的功能完备框架,是一种通常用于图像识别和语言处理等应用程序的机器学习。使用 Python 编写,因此对于大多数机器学习开发者而言,学习和使用起来相对简单。PyTorch 的独特之处在于,它完全支持 GPU,并且使用反向模式自动微分技术,因此可以动态修改计算图形。这使其成为快速实验和原型设计的常用选择。
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(开放神经网络交换)的支持,使开发者能够匹配适合其应用程序的深度学习框架或运行时。
用到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的方法:
PyTorch官网可以根据操作系统,选择cuda版本, 和选择conda命令还是pip命令:
例如下载最新版本的pytorch命令为:
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
网址:Previous PyTorch Versions | PyTorch
我当初下载的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时出现的,以下是分析:
这个错误提示表明在指令提供的下载网址上没有找到符合要求的torchvision软件包版本,需要安装符合要求的版本。问题可能出在指定的版本号(0.11.2+cu111),这个版本可能不兼容系统或者Python环境又或者根本就不存在,可以尝试安装其他版本的torchvision软件包。
另外,可以查看Python环境是否与要求的CUDA版本兼容,以及查看你的系统是否安装了相应的CUDA驱动程序。你还可以尝试升级你的Python环境或者使用虚拟环境来解决这个问题。
在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安装包
在该网页找好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
用以上的三种方案之一安装后,出现下图说明安装成功
进行验证:
没问题!
参考博客:【最新】CUDA Toolkit版本及可用PyTorch对应关系(参考官网)
安装pytorch1.10.0/cu111时报错:no matching distribution found for torchvision==0.11.0+cu111