快捷方式

舊版筆記本

有許多筆記本展示了 Torch-TensorRT 中不同的模型轉換/功能/前端

筆記本

使用 Torch-TensorRT 編譯 CitriNet

Citrinet 是一種用於語音轉文字識別任務的聲學模型。它是 QuartzNet 的一個版本,擴充套件了 ContextNet,利用了子詞編碼(透過 Word Piece 分詞)和 Squeeze-and-Excitation (SE) 機制,因此比 QuartzNet 模型更小。CitriNet 模型接收音訊片段並將其轉錄為字母、位元組對或詞塊序列。

本筆記本演示了使用 Torch-TensorRT 最佳化預訓練 CitriNet 模型並執行它以測試獲得的加速比的步驟。

使用 Torch-TensorRT 編譯 EfficientNet

EfficientNet 是一種前饋 CNN,旨在透過使用一種“利用簡單而高效的複合係數統一縮放深度/寬度/解析度所有維度的縮放方法”來實現比替代架構更好的效能和準確性。

本筆記本演示了使用 Torch-TensorRT 最佳化預訓練 EfficientNet 模型並執行它以測試獲得的加速比的步驟。

使用 Torch-TensorRT 加速 Hugging Face BERT Transformer 進行掩碼語言建模 (MLM)

“BERT 是一種 Transformer 模型,以自監督方式在大量英文語料庫上進行了預訓練。透過這種方式,模型學習到英文的內部表示,然後可以用於提取對下游任務有用的特徵:例如,如果您有一個帶標籤的句子資料集,您可以使用 BERT 模型產生的特徵作為輸入來訓練一個標準分類器。” (https://huggingface.tw/bert-base-uncased)

本筆記本演示了使用 Torch-TensorRT 在 Hugging Face 的預訓練 BERT Transformer 上編譯 TorchScript 模組並執行它以測試獲得的加速比的步驟。

在 C++ 中使用 Torch-TensorRT 提供模型服務

本示例展示瞭如何載入預訓練的 ResNet-50 模型,將其轉換為 Torch-TensorRT 最佳化模型(透過 Torch-TensorRT Python API),將模型儲存為 torchscript 模組,最後使用 PyTorch C++ API 載入並提供模型服務。

使用 Torch-TensorRT 編譯 ResNet50

本筆記本演示了使用 Torch-TensorRT 在預訓練的 ResNet-50 網路上編譯 TorchScript 模組並執行它以測試獲得的加速比的步驟。

在 Torch-TensorRT 中使用動態形狀

在 Torch TensorRT 中使用動態形狀張量非常簡單。假設您正在使用 torch_tensorrt.compile(...) 函式編譯 torchscript 模組。此函式的一個引數是 input,它根據預期的形狀、資料型別和張量格式定義模組的輸入:torch_tensorrt.Input.

對於本演示,我們只需要三個關鍵字引數:min_shapeopt_shape`max_shape

torch_tensorrt.Input(
        min_shape=(1, 224, 224, 3),
        opt_shape=(1, 512, 512, 3),
        max_shape=(1, 1024, 1024, 3),
        dtype=torch.int32
        format=torch.channel_last
    )
...

在本示例中,我們將使用一個簡單的 ResNet 模型來演示 API 的用法。

在 Torch-TensorRT 中使用 FX 前端

本示例的目的是演示使用 FX 將 PyTorch 模型方便地降級到 TensorRT 的整體流程。

使用 Torch-TensorRT FX 前端編譯 PyTorch 模型

本示例的目的是演示透過 FX 使用現有基於 FX 的工具將 PyTorch 模型降級到 TensorRT 的整體流程

使用 Torch-TensorRT 編譯 LeNet

本筆記本演示了使用 Torch-TensorRT 在簡單的 LeNet 網路上編譯 TorchScript 模組的步驟。

在 Torch-TensorRT 中使用量化加速深度學習模型

模型量化是一種流行的最佳化方法,它可以減小模型大小,從而加速推理,併為在計算能力較低的裝置(如 Jetson)上部署提供可能性。簡而言之,量化是將輸入值對映的過程

從一個較大的集合對映到較小集合中的輸出值。在本筆記本中,我們演示了在 Torch-TensorRT 中量化深度學習模型時可以採用的工作流程。本筆記本以 Mobilenetv2 為例,展示了在 Imagenet 資料集的子集 Imagenette(包含 10 個類別)上執行分類任務的過程。

使用 Torch-TensorRT 進行物件檢測 (SSD)

本筆記本演示了使用 Torch-TensorRT 在預訓練的 SSD 網路上編譯 TorchScript 模組並執行它以測試獲得的加速比的步驟。

使用 Torch-TensorRT 部署 INT8 量化感知訓練模型

量化感知訓練 (QAT) 透過量化權重和啟用層來模擬訓練過程中的量化。這有助於減少我們將以 FP32 訓練的網路轉換為 INT8 以實現更快推理時發生的精度損失。QAT 在圖中引入了額外的節點,這些節點將用於學習權重和啟用層的動態範圍。在本筆記本中,我們演示了在 Torch-TensorRT 中從訓練到推理 QAT 模型的以下步驟。

文件

查閱 PyTorch 全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源