认识PyTorch2.0及安装过程

一、什么是PyTorch

在这里插入图片描述
PyTorch 是一个优化的张量库,用于使用 GPU 和 CPU 进行深度学习。它提供了一个非常灵活的、高性能的深度学习平台,允许用户使用Python代码来定义、训练和部署各种深度学习模型,如神经网络、卷积神经网络、递归神经网络等。

PyTorch的一个主要特点是其动态计算图。相比于其他框架,如TensorFlow和Keras,PyTorch的计算图可以根据数据和模型结构的变化进行调整。这意味着,可以使用Python控制结构(如循环和条件语句)来构建动态计算图,从而使得模型的开发过程更加灵活和直观。

此外,PyTorch还提供了丰富的工具和库,例如自动微分、优化器、损失函数等,以帮助用户更轻松地构建和训练深度学习模型。

二、PyTorch 2.0

今年3月PyTorch 2.0稳定版正式发布,延续了之前的 eager 模式,同时从根本上改进了 PyTorch 在编译器级别的运行方式。PyTorch 2.0 能为「Dynamic Shapes」和分布式运行提供更快的性能和更好的支持。
PyTorch 2.0 官宣了一个重要特性 —— torch.compile,这一特性将 PyTorch 的性能推向了新的高度,并将 PyTorch 的部分内容从 C++ 移回 Python。torch.compile 是一个完全附加的(可选的)特性,因此 PyTorch 2.0 是 100% 向后兼容的。
支撑 torch.compile 的技术包括研发团队新推出的 TorchDynamo、AOTAutograd、PrimTorch 和 TorchInductor。

TorchDynamo:使用 Python Frame Evaluation Hooks 安全地捕获 PyTorch 程序,这项重大创新是 PyTorch 过去 5 年来在安全图结构捕获方面的研发成果汇总;

AOTAutograd:重载 PyTorch 的 autograd 引擎,作为一个跟踪 autodiff,用于生成 ahead-of-time 向后跟踪;

PrimTorch:将约 2000 多个 PyTorch 算子归纳为一组约 250 个原始算子的闭集,开发人员可以将其作为构建完整 PyTorch 后端的目标。这大大降低了编写 PyTorch 功能或后端的流程;

TorchInductor:是一种深度学习编译器,可为多个加速器和后端生成快速代码。对于 NVIDIA GPU,它使用 OpenAI Triton 作为关键构建块。

TorchDynamo、AOTAutograd、PrimTorch 和 TorchInductor 是用 Python 编写的,并支持 dynamic shapes(无需重新编译就能发送不同大小的向量),这使得它们具备灵活、易于破解的特性,降低了开发人员和供应商的使用门槛。

为了验证这些技术,研发团队在机器学习领域测试了 163 个开源模型,包括图像分类、目标检测、图像生成等、NLP 任务,如语言建模、问答、序列分类、推荐系统和强化学习任务,测试模型主要有 3 个来源:

46 个来自 HuggingFace Transformers 的模型;

来自 TIMM 的 61 个模型:由 Ross Wightman 收集的SOTA PyTorch 图像模型;

来自 TorchBench 的 56 个模型:包含来自 Github 上收集的一组流行代码库。

对于开源模型,PyTorch 官方没有进行修改,只是增加了一个 torch.compile 调用来进行封装

接下来 PyTorch 工程师在这些模型中测量速度并验证精度,由于加速可能取决于数据类型,因此研究团队选择测量 Float32 和自动混合精度 (AMP) 的加速。

在 163 个开源模型中,该团队发现使用 2.0 可以将训练速度提高 38-76%。torch.compile 在 93% 的情况下都有效,模型在 NVIDIA A100 GPU 上的训练速度提高了 43%。在 Float32 精度下,它的平均运行速度提高了 21%,而在 AMP 精度下,它的运行速度平均提高了 51%。
在这里插入图片描述

注意事项:官方测得在 NVIDIA 3090 等桌面级 GPU 上的加速比 A100 等服务器级 GPU 低。截至今天,我们的默认后端 TorchInductor 支持 CPU 以及 NVIDIA Volta 和 Ampere GPU。它(目前)不支持其他 GPU、xPU 或较旧的 NVIDIA GPU。

详细信息可参考官方文档:https://pytorch.org/get-started/pytorch-2.0/

三、PyTorch的安装:

1、支持的 Windows 发行版

以下 Windows 发行版支持 PyTorch:

  • Windows 7 及更高版本;建议使用Windows 10或更高版本。
  • Windows Server 2008 r2 及更高版本

2、 Python

目前,Windows 上的 PyTorch 仅支持 Python 3.7-3.9;不支持 Python 2.x。
由于在 Windows 上没有默认安装,安装 Python 有多种方法:

  • Chocolatey
  • Python website
  • Anaconda

详细的安装方式这里就不赘述了,下载安装指引可以参考python官网:https://wiki.python.org/moin/BeginnersGuide/Download

3、如何安装:

3.1 选择版本

进入Pytorch官网可以看到最新版Pytorch的安装命令及其对应的CUDA版本(2.0只支持CUDA 11.7和CUDA 11.8版本,可以根据自身电脑支持的版本选择):
在这里插入图片描述

3.2 详细安装命令:
  • Windows 安装:

    • PIP安装:
      # CUDA 11.7
      pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
      # CUDA 11.8
      pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
      # CUP
      pip3 install torch torchvision torchaudio 
      
    • Conda安装:
      # CUDA 11.7
      conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
      # CUDA 11.8
      conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia		
      # CUP
      conda install pytorch torchvision torchaudio cpuonly -c pytorch
      
  • Linux安装:

    • PIP安装:
      # CUDA 11.7
      pip3 install torch torchvision torchaudio
      # CUDA 11.8
      pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
      # ROCm 5.4.2
      pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.4.2
      # CUP
      pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
      
    • Conda安装:
      # CUDA 11.7
      conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
      # CUDA 11.8
      conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
      # ROCm 5.4.2
      NOTE: Conda packages are not currently available for ROCm, please use pip instead
      # CUP
      pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
      
3.3 执行安装:

本文选择Windows的CUP版本通过PIP安装,在终端使用官方的命令执行:
在这里插入图片描述

3.4 检查安装的版本:
import torch
print(torch.__version__)

在这里插入图片描述
现在就可以使用PyTorch进行相关的深度学习实验建模啦。。。

猜你喜欢

转载自blog.csdn.net/qq_17716819/article/details/129656230
今日推荐