Featured image of post TensorRT 官方样例学习笔记(二)核心 API 详解:从 sampleOnnxMNIST 构建推理引擎

TensorRT 官方样例学习笔记(二)核心 API 详解:从 sampleOnnxMNIST 构建推理引擎

本文以 TensorRT v10.14 的官方 sampleOnnxMNIST 开源样例为主线,梳理 ONNX 模型解析、网络定义生成、引擎构建与推理执行过程中涉及的核心 API、对象关系和数据流转。

TensorRT 官方样例学习笔记系列

  1. TensorRT 官方样例学习笔记(一)环境搭建与项目结构解析
  2. TensorRT 官方样例学习笔记(二)核心 API 详解:从 sampleOnnxMNIST 构建推理引擎
  3. TensorRT 官方样例学习笔记(三)ONNX 解析器:sampleOnnxMNIST 与模型导入
  4. TensorRT 官方样例学习笔记(四)动态 Shape 模式:sampleDynamicReshape 深度解析
  5. TensorRT 官方样例学习笔记(五)低精度推理:sampleINT8 量化与校准实战
  6. TensorRT 官方样例学习笔记(六)自定义插件开发:samplePlugin 算子扩展
  7. TensorRT 官方样例学习笔记(七)Transformer 优化:sampleBERT 与多头注意力机制

前言:在 AI 辅助下,我们如何高效学习 TensorRT?

在打通上篇的环境配置后,从本篇起我们将开始阅读 TensorRT 的官方开源样例和公开组件代码。需要特别说明的是,TensorRT 并未整体开源:其核心 Builder 和 Runtime 仍以预编译库的形式提供,官方 GitHub 仓库主要开放了样例、ONNX Parser、部分 Plugin 和公共头文件等内容。因此,本系列能够直接分析的是公开 API 的使用方式、官方样例的工程实现,以及部分开源组件,而不是 TensorRT 核心引擎的内部实现。

后续笔记将根据特性的侧重点,灵活选用 TensorRT v8.6.1 或 TensorRT v10.14 的官方样例进行分析,摒弃流水账,仅讨论其中具有代表性的设计和流程。

本文重点分析 TensorRT v10.14 中的 sampleOnnxMNIST。虽然它是一个基础样例,却完整串联了 TensorRT 的典型使用流程:解析 ONNX 模型并生成网络定义、配置 Builder、构建序列化引擎、反序列化引擎以及执行推理。通过梳理这些步骤,我们可以建立对 TensorRT 公开 API、核心对象及其生命周期的整体认识。

得益于 AI 工具在代码检索、调用关系梳理和调试方面的辅助,将这些样例运行起来已经相对容易,相关编译与调试流程不再赘述。本系列力求做到“简洁凝练、观其大略”:先建立对框架公开接口和工作流程的宏观认识,再把精力集中到 API 设计、对象生命周期、数据流转及性能权衡等能够从样例和官方文档中得到验证的内容。

AI 可以帮助我们快速理解代码细节,但不能替代对资料边界的判断。阅读本系列时,需要始终区分三类信息:官方样例展示的 API 用法、开源组件中可以直接验证的实现,以及只能依据官方文档理解的 TensorRT 内部行为。

核心 API 详解

All Rights Reserved.(所有权利保留。禁止未经授权的复制或再分发。)