欢迎使用 PyTorch 教程¶ PyTorch 教程的新功能? 已编译自动微分:为 torch.compile 捕获更大的反向传播图 使用区域编译减少 torch.compile 冷启动编译时间 TorchRec 入门 (原型) 用于调试卡住作业的飞行记录器 (原型) 如何在 Windows CPU 上使用 TorchInductor (原型) 在 CPU 上使用 Max-Autotune 编译以获得更好的性能 (原型) 自动加载树外扩展 学习基础知识 熟悉 PyTorch 概念和模块。在本快速入门指南中,了解如何加载数据、构建深度神经网络、训练和保存您的模型。 开始使用 PyTorch PyTorch 食谱 简洁的、可立即部署的 PyTorch 代码示例。 探索食谱 全部 学习基础知识 使用 PyTorch 构建完整 ML 工作流程的分步指南。 入门 YouTube 上的 PyTorch 入门 使用 PyTorch 构建完整 ML 工作流程的介绍。遵循 YouTube 上的 PyTorch 入门系列。 入门 使用示例学习 PyTorch 本教程通过独立的示例介绍 PyTorch 的基本概念。 入门 什么是 torch.nn 真的? 使用 torch.nn 创建和训练神经网络。 入门 使用 TensorBoard 可视化模型、数据和训练 学习使用 TensorBoard 可视化数据和模型训练。 可解释性、入门、TensorBoard 在 PyTorch 中良好使用 `non_blocking` 和 `pin_memory()` 关于将数据从 CPU 复制到 GPU 的最佳实践指南。 入门 TorchVision 对象检测微调教程 微调预训练的 Mask R-CNN 模型。 图像/视频 计算机视觉教程中的迁移学习 训练使用迁移学习进行图像分类的卷积神经网络。 图像/视频 优化视觉转换器模型 将最先进的基于注意力的转换器模型应用于计算机视觉任务。 图像/视频 对抗性示例生成 训练使用迁移学习进行图像分类的卷积神经网络。 图像/视频 DCGAN 教程 训练生成对抗网络 (GAN) 以生成新的名人。 图像/视频 空间变换网络教程 了解如何使用视觉注意力机制增强您的网络。 图像/视频 使用 TIAToolbox 进行全切片图像推理 了解如何使用 TIAToolbox 对全切片图像进行推理。 图像/视频 基于 USB 的半监督学习教程 学习如何使用 USB 和 PyTorch 训练半监督学习算法(在自定义数据上)。 图像/视频 音频 I/O 学习使用 torchaudio 加载数据。 音频 音频重采样 学习使用 torchaudio 对音频波形进行重采样。 音频 音频数据增强 学习使用 torchaudio 应用数据增强。 音频 音频特征提取 学习使用 torchaudio 提取特征。 音频 音频特征增强 学习使用 torchaudio 增强特征。 音频 音频数据集 学习使用 torchaudio 数据集。 音频 使用 torchaudio 中的 Wav2Vec2 进行自动语音识别 学习如何使用 torchaudio 的预训练模型来构建语音识别应用程序。 音频 语音命令分类 学习如何正确格式化音频数据集,然后在数据集上训练/测试音频分类器网络。 音频 使用 torchaudio 进行文本到语音转换 学习如何使用 torchaudio 的预训练模型来构建文本到语音转换应用程序。 音频 使用 torchaudio 中的 Wav2Vec2 进行强制对齐 学习如何使用 torchaudio 的 Wav2Vec2 预训练模型将文本与语音对齐。 音频 使用 Better Transformer 实现快速 Transformer 推理 使用 Better Transformer 部署 PyTorch Transformer 模型,以获得高性能的推理。 生产,文本 从零开始的 NLP:使用字符级 RNN 对名称进行分类 构建和训练一个基本的字符级 RNN,从零开始对单词进行分类,而无需使用 torchtext。这是三个教程中的第一个。 文本 从零开始的 NLP:使用字符级 RNN 生成名称 在使用字符级 RNN 对名称进行分类之后,学习如何从语言中生成名称。这是三个教程中的第二个。 文本 从零开始的 NLP:使用序列到序列网络和注意力进行翻译 这是第三个也是最后一个关于“从零开始的 NLP”的教程,我们将在其中编写自己的类和函数来预处理数据,以完成我们的 NLP 建模任务。 文本 使用 Torchtext 进行文本分类 学习如何使用 torchtext 库构建数据集并对文本进行分类。 文本 使用 Transformer 进行语言翻译 使用 Transformer 从零开始训练语言翻译模型。 文本 使用 Torchtext 预处理自定义文本数据集 学习如何使用 torchtext 准备自定义数据集。 文本 (可选)使用 TorchDynamo 后端将 PyTorch 模型导出到 ONNX,并使用 ONNX Runtime 运行它 在 PyTorch 中构建图像分类器模型,并将其转换为 ONNX,然后使用 ONNX Runtime 部署它。 生产,ONNX,后端 ONNX 注册表简介 演示如何使用 ONNX 注册表端到端地解决不支持的操作符。 生产,ONNX,后端 强化学习(DQN) 学习如何使用 PyTorch 在来自 OpenAI Gym 的 CartPole-v0 任务上训练深度 Q 学习(DQN)代理。 强化学习 使用 TorchRL 进行强化学习(PPO) 学习如何使用 PyTorch 和 TorchRL 在来自 Gym 的倒立摆任务上训练近端策略优化代理。 强化学习 训练一个玩马里奥的 RL 智能体 使用 PyTorch 训练一个双 Q 学习代理来玩马里奥。 强化学习 循环 DQN 使用 TorchRL 训练循环策略。 强化学习 编写 DDPG 损失 使用 TorchRL 编写 DDPG 损失。 强化学习 编写您的环境和转换 使用 TorchRL 编写一个摆。 强化学习 使用 Flask 通过 REST API 在 Python 中部署 PyTorch 使用 Flask 部署 PyTorch 模型,并公开一个 REST API,以便使用预训练的 DenseNet 121 模型(检测图像)进行模型推理。 生产 TorchScript 入门 介绍 TorchScript,它是一个 PyTorch 模型(nn.Module 的子类)的中间表示,可以在高性能环境(如 C++)中运行。 生产,TorchScript 在 C++ 中加载 TorchScript 模型 学习 PyTorch 如何提供从现有 Python 模型到序列化表示的转换,该表示可以从 C++ 加载和执行,而无需依赖 Python。 生产,TorchScript (可选)使用 TorchScript 后端将 PyTorch 模型导出到 ONNX,并使用 ONNX Runtime 运行它 将 PyTorch 中定义的模型转换为 ONNX 格式,然后使用 ONNX Runtime 运行它。 生产,ONNX 分析 PyTorch 学习如何分析 PyTorch 应用程序。 分析 _static/img/thumbnails/default.png 分析 PyTorch 整体跟踪分析入门 分析 _static/img/thumbnails/default.png 分析 PyTorch 使用整体跟踪分析进行跟踪差异 分析 _static/img/thumbnails/default.png 在 FX 中构建卷积/批归一化融合器 构建一个简单的 FX 通道,将批归一化融合到卷积中,以提高推理期间的性能。 FX 使用 FX 构建一个简单的性能分析器 构建一个简单的 FX 解释器,以记录操作符、模块和函数调用的运行时,并报告统计信息。 FX (测试版) PyTorch 中的 Channels Last 内存格式 概述 Channels Last 内存格式,并了解它如何用于在内存中以保留维度的顺序对 NCHW 张量进行排序。 内存格式,最佳实践,前端 API 使用 PyTorch C++ 前端 逐步了解使用 C++ 前端训练模型的端到端示例,方法是训练 DCGAN(一种生成模型),以生成 MNIST 数字的图像。 前端 API,C++ Python 自定义操作符着陆页 这是与 PyTorch 中的自定义操作符相关的所有内容的着陆页。 扩展 PyTorch,前端 API,C++,CUDA Python 自定义运算符 在 Python 中创建自定义操作符。对于将 Python 函数屏蔽以供 torch.compile 使用很有用。 扩展 PyTorch,前端 API,C++,CUDA 编译的自动微分:为 ``torch.compile`` 捕获更大的反向图 学习如何使用编译的自动微分来捕获更大的反向图。 模型优化,CUDA 自定义 C++ 和 CUDA 运算符 如何使用自定义 C++ 和 CUDA 操作符扩展 PyTorch。 扩展 PyTorch,前端 API,C++,CUDA 自定义 C++ 和 CUDA 扩展 使用 numpy 创建一个没有参数的神经网络层。然后使用 scipy 创建一个具有可学习权重的神经网络层。 扩展 PyTorch,前端 API,C++,CUDA 使用自定义 C++ 运算符扩展 TorchScript 在 C++ 中实现一个自定义的 TorchScript 操作符,如何将其构建到共享库中,如何在 Python 中使用它来定义 TorchScript 模型,最后如何将其加载到 C++ 应用程序中以进行推理工作负载。 扩展 PyTorch,前端 API,TorchScript,C++ 使用自定义 C++ 类扩展 TorchScript 这是自定义操作符教程的延续,介绍了我们为将 C++ 类同时绑定到 TorchScript 和 Python 而构建的 API。 扩展 PyTorch,前端 API,TorchScript,C++ TorchScript 中的动态并行 本教程介绍了在 TorchScript 中进行*动态互操作并行性*的语法。 前端 API,TorchScript,C++ 树莓派 4 上的实时推理 本教程介绍了如何在树莓派 4 上以 30 fps 运行量化和融合模型。 TorchScript,模型优化,图像/视频,量化 C++ 前端中的自动微分 autograd 包有助于构建灵活且动态的神经网络。在本教程中,探索在 PyTorch C++ 前端进行自动微分的几个示例。 前端 API,C++ 在 C++ 中注册已分派运算符 调度器是 PyTorch 的一个内部组件,它负责确定当您调用类似 torch::add 的函数时,应该实际运行什么代码。 扩展 PyTorch,前端 API,C++ 为 C++ 中的新后端扩展调度器 学习如何扩展调度器以添加一个新的设备,该设备位于 pytorch/pytorch 存储库之外,并维护它以与原生 PyTorch 设备保持同步。 扩展 PyTorch,前端 API,C++ 使用 PrivateUse1 简化新后端集成 学习如何集成一个新的后端,该后端位于 pytorch/pytorch 存储库之外,并维护它以与原生 PyTorch 后端保持同步。 扩展 PyTorch,前端 API,C++ 自定义函数教程:双重反向 学习如何编写一个支持双重反向的自定义自动微分函数。 扩展 PyTorch,前端 API 自定义函数教程:融合卷积和批归一化 学习如何创建一个自定义的自动微分函数,将批归一化融合到卷积中,以提高内存使用率。 扩展 PyTorch,前端 API 前向模式自动微分 学习如何使用前向模式自动微分。 前端 API 雅可比矩阵、海森矩阵、hvp、vhp 等 学习如何使用 torch.func 计算高级自动微分量。 前端 API 模型集成 学习如何使用 torch.vmap 集成模型。 前端 API 每样本梯度 学习如何使用 torch.func 计算每样本梯度。 前端 API 神经切线核 学习如何使用 torch.func 计算神经切线核。 前端 API PyTorch 中的性能分析 学习如何使用 PyTorch 分析器来衡量模块的性能。 模型优化,最佳实践,分析 TensorBoard 中的性能分析 学习如何使用 TensorBoard 插件来分析和分析模型的性能。 模型优化,最佳实践,分析,TensorBoard 超参数调整教程 学习如何使用 Ray Tune 为模型找到最佳性能的超参数集。 模型优化,最佳实践 参数化教程 学习如何使用 torch.nn.utils.parametrize 对参数施加约束(例如,使它们正交、对称正定、低秩...)。 模型优化,最佳实践 剪枝教程 学习如何使用 torch.nn.utils.prune 来稀疏化神经网络,以及如何扩展它来实现自己的自定义修剪技术。 模型优化,最佳实践 如何通过将优化器步骤融合到反向传播过程中来节省内存 学习通过使用内存快照将优化器步骤融合到反向传播过程中来节省内存的技术。 模型优化,最佳实践,CUDA,前端 API (测试版)使用半结构化稀疏性加速 BERT 训练 BERT,将其修剪为 2:4 稀疏,然后使用半结构化稀疏性和 torch.compile 加速它,以实现 2 倍的推理速度提升。 文本,模型优化 (测试版) LSTM 词语语言模型的动态量化 将动态量化(最简单的量化形式)应用于基于 LSTM 的下一个词预测模型。 文本,量化,模型优化 (测试版) BERT 的动态量化 在 BERT(来自 Transformer 的双向嵌入表示)模型上应用动态量化。 文本,量化,模型优化 (测试版) 计算机视觉教程中的量化迁移学习 使用量化模型扩展计算机视觉转移学习教程。 图像/视频,量化,模型优化 (测试版) PyTorch 中使用 Eager 模式进行静态量化 本教程展示了如何执行训练后静态量化。 量化 从第一性原理了解 PyTorch Intel CPU 性能 使用 Intel® 扩展 for PyTorch 优化的 TorchServe 推理框架的案例研究。 模型优化,生产 从第一性原理了解 PyTorch Intel CPU 性能(第 2 部分) 使用 Intel® 扩展 for PyTorch 优化的 TorchServe 推理框架的案例研究(第 2 部分)。 模型优化,生产 使用 Ax 进行多目标神经架构搜索 学习如何使用 Ax 在架构上进行搜索,以找到准确性和延迟之间的最佳权衡。 模型优化,最佳实践,Ax,TorchX torch.compile 教程 使用 torch.compile(最新的 PyTorch 编译器解决方案)以最少的代码更改来加速您的模型。 模型优化 Inductor CPU 后端调试和分析 学习使用 Inductor CPU 后端对 ``torch.compile`` 进行使用、调试和性能分析。 模型优化 (测试版)使用 SCALED DOT PRODUCT ATTENTION 实现高性能 Transformer 本教程探讨了新的 torch.nn.functional.scaled_dot_product_attention,以及如何使用它来构建 Transformer 组件。 模型优化,注意力,Transformer 卷积神经网络中的知识蒸馏 学习如何使用更强大的模型作为教师来提高轻量级模型的准确性。 模型优化,图像/视频 PyTorch 分布式概述 简要介绍分布式包中的所有概念和功能。使用本文档查找最适合您的应用程序的分布式训练技术。 并行和分布式训练 PyTorch 中的分布式数据并行 - 视频教程 本系列视频教程将引导您了解 PyTorch 中通过 DDP 进行的分布式训练。 并行和分布式训练 单机模型并行最佳实践 学习如何实现模型并行,这是一种分布式训练技术,它将单个模型拆分到不同的 GPU 上,而不是将整个模型复制到每个 GPU 上。 并行和分布式训练 分布式数据并行入门 了解何时使用分布式数据并行和数据并行的基本知识,并完成一个设置示例。 并行和分布式训练 使用 PyTorch 编写分布式应用程序 设置 PyTorch 的分布式包,使用不同的通信策略,并回顾包的一些内部机制。 并行和分布式训练 使用张量并行训练大规模 Transformer 模型 学习如何使用张量并行包训练大型模型。 并行和分布式训练 使用 Cpp 扩展自定义进程组后端 使用自定义集体通信实现扩展 ProcessGroup。 并行和分布式训练 分布式 RPC 框架入门 学习如何使用 torch.distributed.rpc 包构建分布式训练。 并行和分布式训练 使用分布式 RPC 框架实现参数服务器 完成使用 PyTorch 分布式 RPC 框架实现参数服务器的简单示例。 并行和分布式训练 分布式管道并行入门 演示如何使用 torch.distributed.pipelining 实现流水线并行。 并行和分布式训练 使用异步执行实现批处理 RPC 处理 学习如何使用 rpc.functions.async_execution 实现批处理 RPC。 并行和分布式训练 将分布式数据并行与分布式 RPC 框架结合使用 完成一个简单示例,展示如何将分布式数据并行与分布式模型并行结合起来。 并行和分布式训练 完全分片数据并行 (FSDP) 入门 学习如何使用完全分片数据并行包训练模型。 并行和分布式训练 使用完全分片数据并行 (FSDP) 进行高级模型训练 探索使用完全分片数据并行包进行高级模型训练。 并行和分布式训练 介绍 Libuv TCPStore 后端 TCPStore 现在使用新的服务器后端以实现更快的连接和更好的可扩展性。 并行和分布式训练 导出到 ExecuTorch 教程 了解如何使用 ExecuTorch,一个将 PyTorch 模型降低到边缘设备的统一 ML 堆栈。 边缘 在 C++ 教程中运行 ExecuTorch 模型 学习如何在 C++ 中加载和执行 ExecuTorch 模型 边缘 使用 ExecuTorch SDK 分析模型 探索如何使用 ExecuTorch SDK 对 ExecuTorch 模型进行分析、调试和可视化 边缘 构建 ExecuTorch iOS 演示应用程序 探索如何设置 ExecuTorch iOS 演示应用程序,该应用程序使用 MobileNet v3 模型来处理实时摄像头图像,利用三种不同的后端:XNNPACK、Core ML 和 Metal Performance Shaders (MPS)。 边缘 构建 ExecuTorch Android 演示应用程序 学习如何设置 ExecuTorch Android 演示应用程序,用于使用 DeepLab v3 模型和 XNNPACK FP32 后端进行图像分割任务。 边缘 将模型作为委托降低 学习通过三种方法使用委托加速您的程序:降低整个模块、与另一个模块组合以及对模块的一部分进行分区。 边缘 TorchRec 入门 TorchRec 是一个 PyTorch 领域库,旨在提供大规模推荐系统所需的常见稀疏性 & 并行性基元。 TorchRec,推荐器 探索 TorchRec 分片 本教程涵盖使用EmbeddingPlanner 和 DistributedModelParallel API 对嵌入表进行分片的方案。 TorchRec,推荐器 TorchMultimodal 简介 TorchMultimodal 是一个库,提供用于训练多模态任务的模型、基元和示例。 TorchMultimodal 其他资源¶ PyTorch 示例 一组关于 PyTorch 在视觉、文本、强化学习方面的示例,您可以将其纳入您现有的工作中。 查看示例 PyTorch 速查表 对 PyTorch 基本元素的快速概述。 打开 GitHub 上的教程 从 GitHub 访问 PyTorch 教程。 转到 GitHub 在 Google Colab 上运行教程 了解如何将教程数据复制到 Google Drive,以便您可以在 Google Colab 上运行教程。 打开