快捷方式

旧版笔记本

有许多笔记本演示了 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 的 Masked Language Modeling (MLM)

“BERT 是一个在大型英语语料库上以自监督方式预训练的 Transformer 模型。这样,该模型学习了英语的内部表示,然后可以用于提取对下游任务有用的特征:例如,如果您有一个带标签句子的数据集,您可以使用 BERT 模型生成的特征作为输入来训练标准分类器。” (https://hugging-face.cn/bert-base-uncased)

本笔记本演示了在 Hugging Face 的预训练 BERT Transformer 上使用 Torch-TensorRT 编译 TorchScript 模块,并运行它来测试所获得的加速的步骤。

在 C++ 中使用 Torch-TensorRT 服务模型

此示例展示了如何加载预训练的 ResNet-50 模型,将其转换为 Torch-TensorRT 优化的模型(通过 Torch-TensorRT Python API),将模型保存为 torchscript 模块,然后最终使用 PyTorch C++ API 加载和服务模型。

使用 Torch-TensorRT 编译 ResNet50

本笔记本演示了在预训练的 ResNet-50 网络上使用 Torch-TensorRT 编译 TorchScript 模块,并运行它来测试所获得的加速的步骤。

使用 Torch-TensorRT 的动态形状

在 Torch TensorRT 中使用动态形状张量非常简单。假设您正在使用 torch_tensorrt.compile(...) 函数来编译 torchscript 模块。此函数中的一个参数是 input:它根据预期形状、数据类型和张量格式定义模块的输入:torch_tensorrt.Input.

为了本演练的目的,我们只需要三个 kwargs:min_shapeopt_shapemax_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

本笔记本演示了在简单的 LeNet 网络上使用 Torch-TensorRT 编译 TorchScript 模块的步骤。

在 Torch-TensorRT 中使用量化加速深度学习模型

模型量化是一种流行的优化方法,它可以减小模型的大小,从而加速推理,并为在计算能力较低的设备(如 Jetson)上部署打开可能性。简而言之,量化是将输入值映射的过程

从较大的集合到较小集合中的输出值。在本笔记本中,我们说明了在 Torch-TensorRT 中量化深度学习模型时可以采用的工作流程。本笔记本将带您了解 Mobilenetv2 的示例,该示例用于对名为 Imagenette 的 Imagenet 数据集子集(具有 10 个类)进行分类的任务。

使用 Torch-TensorRT 的目标检测 (SSD)

本笔记本演示了在预训练的 SSD 网络上使用 Torch-TensorRT 编译 TorchScript 模块,并运行它来测试所获得的加速的步骤。

使用 Torch-TensorRT 在 INT8 中部署量化感知训练模型

量化感知训练 (QAT) 通过在训练期间量化权重和激活层来模拟量化。这有助于减少当我们将在 FP32 中训练的网络转换为 INT8 以进行更快推理时的精度损失。QAT 在图中引入了额外的节点,这些节点将用于学习权重和激活层的动态范围。在本笔记本中,我们说明了从 QAT 模型的训练到在 Torch-TensorRT 中进行推理的以下步骤。

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得解答

查看资源