歡迎來到 PyTorch 教程¶ PyTorch 教程有什麼新內容? 結合 torch.compile 使用 Torch Function 模式 上下文並行教程 PyTorch 2 透過 Inductor 使用 Intel GPU 後端進行匯出量化 (beta) 使用 foreach_map 和 torch.compile 進行顯式水平融合 更新的 Inductor Windows CPU 教程 學習基礎知識 熟悉 PyTorch 的概念和模組。在本快速入門指南中學習如何載入資料、構建深度神經網路、訓練和儲存模型。 PyTorch 入門 PyTorch Recipes 簡短、即時可部署的 PyTorch 程式碼示例。 探索 Recipes 全部 學習基礎知識 使用 PyTorch 構建完整機器學習工作流的分步指南。 入門 YouTube 上的 PyTorch 入門 使用 PyTorch 構建完整機器學習工作流的入門。遵循 YouTube 上的 PyTorch 初學者系列。 入門 透過示例學習 PyTorch 本教程透過獨立的示例介紹了 PyTorch 的基本概念。 入門 torch.nn 究竟是什麼? 使用 torch.nn 建立和訓練神經網路。 入門 使用 TensorBoard 視覺化模型、資料和訓練 學習使用 TensorBoard 視覺化資料和模型訓練。 可解釋性,入門,TensorBoard PyTorch 中 `non_blocking` 和 `pin_memory()` 的良好使用方法 關於將資料從 CPU 複製到 GPU 的最佳實踐指南。 入門 TorchVision 目標檢測微調教程 微調預訓練的 Mask R-CNN 模型。 影像/影片 計算機視覺遷移學習教程 使用遷移學習訓練用於影像分類的卷積神經網路。 影像/影片 最佳化 Vision Transformer 模型 將前沿的、基於注意力的 Transformer 模型應用於計算機視覺任務。 影像/影片 對抗樣本生成 使用遷移學習訓練用於影像分類的卷積神經網路。 影像/影片 DCGAN 教程 訓練一個生成對抗網路 (GAN) 來生成新的名人影像。 影像/影片 空間變換網路教程 學習如何使用視覺注意力機制增強你的網路。 影像/影片 使用 TIAToolbox 在全玻片影像上進行推理 學習如何使用 TIAToolbox 在全玻片影像上執行推理。 影像/影片 基於 USB 的半監督學習教程 學習如何使用 USB 和 PyTorch 訓練半監督學習演算法(在自定義資料上)。 影像/影片 音訊輸入/輸出 學習使用 torchaudio 載入資料。 音訊 音訊重取樣 學習使用 torchaudio 對音訊波形進行重取樣。 音訊 音訊資料增強 學習使用 torchaudio 應用資料增強。 音訊 音訊特徵提取 學習使用 torchaudio 提取特徵。 音訊 音訊特徵增強 學習使用 torchaudio 增強特徵。 音訊 音訊資料集 學習使用 torchaudio 資料集。 音訊 torchaudio 中使用 Wav2Vec2 進行自動語音識別 學習如何使用 torchaudio 的預訓練模型構建語音識別應用。 音訊 語音指令分類 學習如何正確格式化音訊資料集,然後在該資料集上訓練/測試音訊分類網路。 音訊 使用 torchaudio 進行文字轉語音 學習如何使用 torchaudio 的預訓練模型構建文字轉語音應用。 音訊 torchaudio 中使用 Wav2Vec2 進行強制對齊 學習如何使用 torchaudio 的 Wav2Vec2 預訓練模型進行文字到語音的對齊 音訊 從頭開始學 NLP:使用字元級 RNN 對名稱進行分類 從頭開始構建並訓練一個基本的字元級 RNN 來對單詞進行分類,不使用 torchtext。三部分教程系列的第一部分。 NLP 從頭開始學 NLP:使用字元級 RNN 生成名稱 在使用字元級 RNN 對名稱進行分類後,學習如何從語言生成名稱。三部分教程系列的第二部分。 NLP 從頭開始學 NLP:使用序列到序列網路和注意力進行翻譯 這是關於“從頭開始學 NLP”的第三個也是最後一個教程,我們將自己編寫類和函式來預處理資料,以執行我們的 NLP 建模任務。 NLP (可選) 使用 TorchDynamo 後端將 PyTorch 模型匯出到 ONNX 並使用 ONNX Runtime 執行 在 PyTorch 中構建影像分類器模型,並將其轉換為 ONNX,然後使用 ONNX Runtime 進行部署。 生產,ONNX,後端 擴充套件 ONNX 匯出器運算元支援 端到端演示如何處理 ONNX 中不受支援的運算元。 生產,ONNX,後端 將帶有控制流的模型匯出到 ONNX 演示如何在將 PyTorch 模型匯出到 ONNX 時處理控制流邏輯。 生產,ONNX,後端 強化學習 (DQN) 學習如何使用 PyTorch 在 OpenAI Gym 的 CartPole-v0 任務上訓練一個深度 Q 學習 (DQN) 智慧體。 強化學習 使用 TorchRL 進行強化學習 (PPO) 學習如何使用 PyTorch 和 TorchRL 在 Gym 的 Inverted Pendulum 任務上訓練一個近端策略最佳化智慧體。 強化學習 訓練一個玩馬里奧的強化學習智慧體 使用 PyTorch 訓練一個雙 Q 學習智慧體來玩馬里奧。 強化學習 迴圈 DQN 使用 TorchRL 訓練迴圈策略 強化學習 編寫一個 DDPG Loss 使用 TorchRL 編寫一個 DDPG Loss 強化學習 編寫你的環境和變換 使用 TorchRL 編寫一個 Pendulum 強化學習 透過 REST API 使用 Flask 在 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 Pass,將批次歸一化融合到卷積中,以提高推理效能。 FX 使用 FX 構建一個簡單的效能分析器 構建一個簡單的 FX 直譯器,記錄操作、模組和函式呼叫的執行時,並報告統計資訊 FX (beta) 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 編譯式 Autograd:為 ``torch.compile`` 捕獲更大的反向圖 學習如何使用編譯式 autograd 捕獲更大的反向圖。 模型最佳化,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++ 在 Raspberry Pi 4 上進行即時推理 本教程介紹瞭如何在 Raspberry Pi 4 上以 30 幀/秒的速度執行量化和融合模型。 TorchScript,模型最佳化,影像/影片,量化 C++ 前端中的 Autograd autograd 包有助於構建靈活且動態的神經網路。在本教程中,探索在 PyTorch C++ 前端進行 autograd 的幾個示例 前端 API,C++ 在 C++ 中註冊分派運算元 dispatcher 是 PyTorch 的一個內部元件,負責確定當你呼叫像 torch::add 這樣的函式時,實際應該執行什麼程式碼。 擴充套件 PyTorch,前端 API,C++ 在 C++ 中為新後端擴充套件 Dispatcher 學習如何擴充套件 dispatcher 以新增一個位於 pytorch/pytorch 倉庫之外的新裝置,並維護它以與原生 PyTorch 裝置保持同步。 擴充套件 PyTorch,前端 API,C++ 透過 PrivateUse1 促進新後端整合 學習如何整合一個位於 pytorch/pytorch 倉庫之外的新後端,並維護它以與原生 PyTorch 後端保持同步。 擴充套件 PyTorch,前端 API,C++ 自定義函式教程:二次反向傳播 學習如何編寫支援二次反向傳播的自定義 autograd 函式。 擴充套件 PyTorch,前端 API 自定義函式教程:融合卷積和批次歸一化 學習如何建立自定義 autograd 函式,將批次歸一化融合到卷積中以提高記憶體使用效率。 擴充套件 PyTorch,前端 API 前向自動微分 學習如何使用前向自動微分。 前端 API Jacobians, Hessians, hvp, vhp 等 學習如何使用 torch.func 計算高階 autodiff 量。 前端 API 模型整合 學習如何使用 torch.vmap 整合模型。 前端 API 逐樣本梯度 學習如何使用 torch.func 計算逐樣本梯度。 前端 API 神經切核 學習如何使用 torch.func 計算神經切核。 前端 API PyTorch 中的效能分析 學習如何使用 PyTorch Profiler 基準測試你的模組效能。 模型最佳化,最佳實踐,效能分析 TensorBoard 中的效能分析 學習如何使用 TensorBoard 外掛分析你的模型效能。 模型最佳化,最佳實踐,效能分析,TensorBoard 超引數調優教程 學習如何使用 Ray Tune 找到模型效能最佳的超引數組合。 模型最佳化,最佳實踐 Parametrizations 教程 學習如何使用 torch.nn.utils.parametrize 為你的引數新增約束(例如,使其正交、對稱正定、低秩...)。 模型最佳化,最佳實踐 剪枝教程 學習如何使用 torch.nn.utils.prune 稀疏化你的神經網路,以及如何擴充套件它以實現你自己的自定義剪枝技術。 模型最佳化,最佳實踐 如何透過將最佳化器步驟融合到反向傳播中來節省記憶體 學習一種透過使用記憶體快照將最佳化器步驟融合到反向傳播中來節省記憶體的技術。 模型最佳化,最佳實踐,CUDA,前端 API (beta) 使用半結構化稀疏加速 BERT 訓練 BERT,將其剪枝為 2:4 稀疏,然後透過半結構化稀疏和 torch.compile 加速,實現 2 倍推理加速。 文字,模型最佳化 (beta) 對 LSTM 詞語言模型進行動態量化 將動態量化(最簡單的量化形式)應用於基於 LSTM 的下一詞預測模型。 文字,量化,模型最佳化 (beta) 對 BERT 進行動態量化 對 BERT(來自 Transformer 的雙向嵌入表示)模型應用動態量化。 文字,量化,模型最佳化 (beta) 計算機視覺的量化遷移學習教程 使用量化模型擴充套件計算機視覺遷移學習教程。 影像/影片,量化,模型最佳化 (beta) 在 PyTorch 的 Eager 模式下進行靜態量化 本教程展示瞭如何進行訓練後靜態量化。 量化 從第一性原理深入理解 PyTorch Intel CPU 效能 關於使用 Intel® Extension for PyTorch 最佳化的 TorchServe 推理框架的案例研究。 模型最佳化,生產 從第一性原理深入理解 PyTorch Intel CPU 效能 (第二部分) 關於使用 Intel® Extension for PyTorch 最佳化的 TorchServe 推理框架的案例研究 (第二部分)。 模型最佳化,生產 使用 Ax 進行多目標神經架構搜尋 學習如何使用 Ax 搜尋架構,找到精度和延遲之間的最佳權衡。 模型最佳化,最佳實踐,Ax,TorchX torch.compile 教程 使用最新的 PyTorch 編譯器解決方案 torch.compile,透過最小的程式碼更改加速你的模型。 模型最佳化 Inductor CPU 後端除錯和效能分析 學習使用 Inductor CPU 後端對 ``torch.compile`` 進行使用、除錯和效能分析。 模型最佳化 (beta) 使用 SCALED DOT PRODUCT ATTENTION 實現高效能 Transformer 本教程探索了新的 torch.nn.functional.scaled_dot_product_attention 以及如何使用它構建 Transformer 元件。 模型最佳化,注意力,Transformer 卷積神經網路中的知識蒸餾 學習如何使用更強大的模型作為教師模型來提高輕量級模型的精度。 模型最佳化,影像/影片 透過將 nn.Transformer 替換為 Nested Tensors 和 torch.compile() 來加速 PyTorch Transformer 本教程介紹了使用原生 PyTorch 實現 Transformer 的推薦最佳實踐。 Transformer PyTorch 分散式概述 簡要回顧分散式包中的所有概念和特性。使用本文件找到最適合你的應用的分散式訓練技術。 並行與分散式訓練 PyTorch 中的分散式資料並行 - 影片教程 本系列影片教程將引導你瞭解如何透過 DDP 在 PyTorch 中進行分散式訓練。 並行與分散式訓練 單機模型並行最佳實踐 學習如何實現模型並行,這是一種分散式訓練技術,將單個模型分割到不同的 GPU 上,而不是在每個 GPU 上覆制整個模型 並行與分散式訓練 分散式資料並行入門 學習分散式資料並行與資料並行之間的基本區別以及何時使用,並透過示例進行設定。 並行與分散式訓練 使用 PyTorch 編寫分散式應用 設定 PyTorch 的分散式包,使用不同的通訊策略,並瞭解包的一些內部機制。 並行與分散式訓練 使用 Tensor Parallel 訓練大型 Transformer 模型 學習如何使用 Tensor Parallel 包訓練大型模型。 並行與分散式訓練 使用 Cpp 擴充套件自定義 Process Group 後端 使用自定義集合通訊實現擴充套件 ProcessGroup。 並行與分散式訓練 分散式 RPC 框架入門 學習如何使用 torch.distributed.rpc 包構建分散式訓練。 並行與分散式訓練 使用分散式 RPC 框架實現引數伺服器 演練一個使用 PyTorch 分散式 RPC 框架實現引數伺服器的簡單示例。 並行與分散式訓練 分散式流水線並行入門 演示如何使用 torch.distributed.pipelining 實現流水線並行。 並行與分散式訓練 使用非同步執行實現批次 RPC 處理 學習如何使用 rpc.functions.async_execution 實現批次 RPC。 並行與分散式訓練 結合使用 Distributed DataParallel 和 Distributed RPC Framework 演練一個如何結合使用分散式資料並行和分散式模型並行的簡單示例。 並行與分散式訓練 Fully Sharded Data Parallel (FSDP) 入門 學習如何使用 Fully Sharded Data Parallel 包訓練模型。 並行與分散式訓練 使用 Fully Sharded Data Parallel (FSDP) 進行高階模型訓練 探索使用 Fully Sharded Data Parallel (FSDP) 包進行高階模型訓練。 並行與分散式訓練 Libuv TCPStore 後端入門 TCPStore 現在使用新的伺服器後端,連線速度更快,可擴充套件性更好。 並行與分散式訓練 匯出到 ExecuTorch 教程 瞭解如何使用 ExecuTorch,這是一個統一的機器學習棧,用於將 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 演示應用 學習如何為影像分割任務設定 ExecuTorch Android 演示應用,使用 DeepLab v3 模型和 XNNPACK FP32 後端。 邊緣 將模型作為委託降低 學習如何使用 ExecuTorch 透過三種方法應用委託來加速你的程式:降低整個模組、將其與另一個模組組合,以及劃分模組的一部分。 邊緣 TorchRec 入門 TorchRec 是一個 PyTorch 領域庫,旨在提供大規模推薦系統所需的常見稀疏和並行原語。 TorchRec,推薦系統 探索 TorchRec 分片 本教程透過使用 EmbeddingPlanner 和 DistributedModelParallel API 介紹了 embedding table 的分片方案。 TorchRec,推薦系統 TorchMultimodal 入門 TorchMultimodal 是一個提供模型、原語和示例用於訓練多模態任務的庫 TorchMultimodal 附加資源¶ PyTorch 示例 一組涵蓋 Vision、Text、Reinforcement Learning 的 PyTorch 示例,你可以將其整合到現有工作中。 檢視示例 PyTorch 速查表 PyTorch 關鍵元素的快速概述。 開啟 GitHub 上的教程 從 GitHub 訪問 PyTorch 教程。 前往 GitHub 在 Google Colab 上執行教程 學習如何將教程資料複製到 Google 雲端硬碟,以便在 Google Colab 上執行教程。 開啟