欢迎来到PyTorch教程¶ PyTorch教程有哪些更新? 编译 Autograd:为 `torch.compile` 捕获更大的反向图 通过区域编译减少 torch.compile 的冷启动编译时间 TorchRec介绍 (原型) 调试卡顿任务的飞行记录器 如何在Windows CPU上使用TorchInductor 在CPU上使用Max-Autotune编译以获得更好的性能 (原型) 自动加载外部扩展 学习基础知识 熟悉Pytorch的概念和模块。在这份快速入门指南中,了解如何加载数据、构建深度神经网络、训练模型并保存模型。 使用Pytorch开始入门 PyTorch 实战指南 简洁易用,随时可部署的PyTorch代码示例。 探索示例代码 所有 学习基础知识 使用PyTorch构建完整机器学习工作流的逐步指南。 入门指南 PyTorch 在 YouTube 上的介绍 使用 PyTorch 构建完整机器学习工作流的介绍。跟随 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训练半监督学习算法(自定义数据)。 图像/视频 音频输入输出 学习如何使用 torchaudio 加载数据。 音频 音频重采样 学习使用 torchaudio 对音频波形进行重采样。 音频 音频数据增强 学习使用 torchaudio 应用数据增强。 音频 音频特征提取 学习使用 torchaudio 提取特征。 音频 音频特征增强 学习使用 torchaudio 增强特征。 音频 音频数据集 学习使用 torchaudio 数据集。 音频 使用 torchaudio 中的 Wav2Vec2 进行自动语音识别 学习如何使用 torchaudio 的预训练模型构建语音识别应用程序。 音频 语音命令分类 学习如何正确格式化音频数据集,然后在该数据集上训练/测试音频分类网络。 音频 使用torchaudio进行文本到语音的转换 学习如何使用torchaudio的预训练模型构建文本到语音的应用程序。 音频 使用 torchaudio 中的 Wav2Vec2 进行强制对齐 学习如何使用 torchaudio 的 Wav2Vec2 预训练模型将文本与语音对齐 音频 从零开始的自然语言处理:使用字符级RNN对名称进行分类 构建和训练一个基本的字符级RNN,以从零开始对单词进行分类,而不使用torchtext。这是三个教程中的第一个。 自然语言处理 从零开始的自然语言处理:使用字符级RNN生成名字 在使用字符级RNN对名字进行分类之后,学习如何从语言中生成名字。这是三个教程中的第二个。 自然语言处理 从零开始的自然语言处理:使用序列到序列网络和注意力机制进行翻译 这是“从零开始的自然语言处理”的第三个也是最后一个教程,我们将编写自己的类和函数来预处理数据,以完成我们的自然语言处理建模任务。 自然语言处理 (可选)使用TorchDynamo后端将PyTorch模型导出到ONNX并在ONNX运行时中运行 在PyTorch中构建图像分类模型,并在使用ONNX运行时部署之前将其转换为ONNX。 生产环境,ONNX,后端 ONNX注册表简介 演示如何通过使用ONNX注册表解决不支持的操作符。 生产环境,ONNX,后端 强化学习(DQN) 学习如何使用PyTorch在OpenAI Gym的CartPole-v0任务中训练一个深度Q学习(DQN)代理。 强化学习 使用TorchRL进行强化学习(PPO) 学习如何使用PyTorch和TorchRL在Gym的倒立摆任务上训练一个近端策略优化代理。 强化学习 训练一个玩马里奥的强化学习代理 使用PyTorch训练一个双重Q-learning代理来玩马里奥。 强化学习 循环DQN 使用TorchRL训练循环策略 强化学习 编写DDPG损失代码 使用TorchRL编写DDPG损失 强化学习 编写你的环境和转换 使用TorchRL为钟摆编写代码 强化学习 通过Flask在Python中部署PyTorch 使用Flask部署一个PyTorch模型,并通过预训练的DenseNet 121模型示例暴露一个REST API,用于图像检测的模型推理。 生产环境 TorchScript 简介 TorchScript 简介,它是 PyTorch 模型(nn.Module 的子类)的中间表示形式,可以在高性能环境中运行,例如 C++。 生产环境,TorchScript 在C++中加载TorchScript模型 了解PyTorch如何将现有的Python模型转换为可以完全从C++加载和执行的序列化表示,且无需依赖Python。 生产环境,TorchScript (可选)使用TorchScript后端将PyTorch模型导出到ONNX并在ONNX运行时中运行 将PyTorch中定义的模型转换为ONNX格式,然后使用ONNX运行时运行。 生产, 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++前端 通过训练DCGAN(一种生成模型)来生成MNIST数字图像,了解如何使用C++前端训练模型的端到端示例。 前端API,C++ PyTorch 自定义操作符着陆页 这是与 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 帧每秒的速度运行量化和融合模型。 TorchScript,模型优化,图像/视频,量化 自动求导在C++前端 自动求导包有助于构建灵活和动态的神经网络。在这个教程中,我们将探讨如何在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++ 自定义函数教程:双重反向传播 学习如何编写支持双重反向传播的自定义 autograd 函数。 扩展 PyTorch,前端 API 自定义函数教程:融合卷积和批归一化 学习如何创建一个自定义的autograd函数,将批归一化融合到卷积中以提高内存使用效率。 扩展-PyTorch,前端-APIs 前向模式自动微分 学习如何使用前向模式自动微分。 前端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(双向嵌入表示转换器)模型。 文本,量化,模型优化 (测试版)计算机视觉教程中的量化迁移学习 扩展了使用量化的模型的计算机视觉迁移学习教程。 图像/视频,量化,模型优化 (测试版)PyTorch 中的静态量化(Eager 模式) 本教程展示了如何进行训练后静态量化。 量化 深入理解PyTorch在Intel CPU上的性能:从第一性原理出发 一个关于使用Intel® Extension for PyTorch优化的TorchServe推理框架的案例研究。 模型优化,生产环境 深入理解PyTorch在Intel CPU上的性能(第二部分) 一个关于使用Intel® Extension for PyTorch优化的TorchServe推理框架的案例研究(第二部分)。 模型优化,生产环境 多目标神经架构搜索与Ax 了解如何使用Ax搜索架构,找到准确性和延迟之间的最佳权衡。 模型优化,最佳实践,Ax,TorchX torch.compile 教程 使用 torch.compile,最新的 PyTorch 编译器解决方案,通过最小的代码更改加速您的模型。 模型优化 Inductor CPU 后端调试和性能分析 学习如何使用、调试和进行性能分析 ``torch.compile`` 与 Inductor CPU 后端。 模型优化 (测试版)使用缩放点积注意力实现高性能的Transformer 本教程探讨了新的 torch.nn.functional.scaled_dot_product_attention 以及如何使用它来构建 Transformer 组件。 模型优化,注意力机制,Transformer 卷积神经网络中的知识蒸馏 学习如何使用更强大的模型作为教师来提高轻量级模型的准确性。 模型优化,图像/视频 通过使用嵌套张量和 torch.compile() 替换 nn.Transformer 来加速 PyTorch 变压器 本教程介绍了在原生 PyTorch 中实现变压器的推荐最佳实践。 变压器 PyTorch 分布式概述 简要介绍分布式包中的所有概念和功能。使用此文档找到最适合您应用程序的分布式训练技术。 并行与分布式训练 PyTorch 中的分布式数据并行 - 视频教程 本系列视频教程将引导您通过 DDP 在 PyTorch 中进行分布式训练。 并行与分布式训练 单机模型并行最佳实践 了解如何实现模型并行,这是一种将单个模型拆分到不同 GPU 上的分布式训练技术,而不是在每个 GPU 上复制整个模型。 并行和分布式训练 分布式数据并行入门 学习何时使用分布式数据并行与数据并行的基础知识,并通过一个示例来设置它。 并行和分布式训练 使用PyTorch编写分布式应用程序 设置PyTorch的分布式包,使用不同的通信策略,并深入了解该包的一些内部机制。 并行和分布式训练 使用Tensor Parallel进行大规模Transformer模型训练 了解如何使用Tensor Parallel包训练大型模型。 并行和分布式训练 使用Cpp扩展自定义进程组后端 使用自定义的集合通信实现扩展进程组。 并行和分布式训练 分布式 RPC 框架入门 学习如何使用 torch.distributed.rpc 包构建分布式训练。 并行和分布式训练 使用分布式RPC框架实现参数服务器 通过一个简单的例子,了解如何使用PyTorch的分布式RPC框架实现参数服务器。 并行和分布式训练 分布式管道并行简介 演示如何使用 torch.distributed.pipelining 实现管道并行 并行与分布式训练 使用异步执行实现批处理RPC处理 学习如何使用rpc.functions.async_execution来实现批处理RPC 并行和分布式训练 结合分布式数据并行与分布式RPC框架 通过一个简单的示例,了解如何将分布式数据并行与分布式模型并行结合起来。 并行和分布式训练 使用完全分片数据并行 (FSDP) 入门 学习如何使用完全分片数据并行包训练模型。 并行和分布式训练 使用完全分片数据并行 (FSDP) 进行高级模型训练 探索使用完全分片数据并行包进行高级模型训练。 并行和分布式训练 Libuv TCPStore 后端简介 TCPStore 现在使用新的服务器后端,以实现更快的连接和更好的可扩展性。 并行和分布式训练 导出到ExecuTorch教程 了解如何使用ExecuTorch,这是一个统一的ML堆栈,用于将PyTorch模型部署到边缘设备。 边缘 在C++中运行ExecuTorch模型教程 学习如何在C++中加载和执行ExecuTorch模型 边缘 使用ExecuTorch SDK对模型进行分析 探索如何使用ExecuTorch SDK对ExecuTorch模型进行分析、调试和可视化 边缘 构建 ExecuTorch iOS 演示应用 探索如何设置 ExecuTorch iOS 演示应用,该应用使用 MobileNet v3 模型处理实时相机图像,并利用三种不同的后端:XNNPACK、Core ML 和 Metal Performance Shaders (MPS)。 边缘 构建 ExecuTorch Android 演示应用 了解如何使用 DeepLab v3 模型和 XNNPACK FP32 后端设置 ExecuTorch Android 演示应用,以完成图像分割任务。 边缘 将模型作为委托进行降阶 学习通过ExecuTorch应用委托来加速程序,方法包括:降阶整个模块、与其他模块组合以及分区部分模块。 边缘 TorchRec 简介 TorchRec 是一个为 PyTorch 构建的领域库,旨在为大规模推荐系统提供常见的稀疏性和并行性原语。 TorchRec,推荐系统 探索TorchRec分片 本教程介绍了如何使用EmbeddingPlanner和DistributedModelParallel API对嵌入表进行分片。 TorchRec,推荐系统 TorchMultimodal 简介 TorchMultimodal 是一个提供模型、原语和多模态任务训练示例的库 TorchMultimodal 附加资源¶ PyTorch 的示例 在视觉、文本和强化学习方面的 PyTorch 示例集合,您可以将其融入到现有的工作中。 查看示例 PyTorch 快速参考指南 快速了解PyTorch的核心元素。 打开 GitHub 上的教程 访问 PyTorch 教程库 GitHub。 前往 GitHub 在 Google Colab 上运行教程 了解如何将教程数据复制到Google Drive,以便您可以在Google Colab上运行这些教程。 打开