API学习
创建Runtime->创建Engine->创建Context->获取输入输出索引->创建buffers->为输入输出开辟GPU显存->创建cuda流->从CPU到GPU(拷贝input数据)->异步推理->从GPU到CPU(拷贝output数据)->同步cuda流->释放资源
使用流程:
Tensor RT C++ 使用流程_我为什么这么菜.的博客-CSDN博客
TensorRT 在所有支持的平台上提供 C++ 实现,在 Linux 上提供 Python 实现。 Windows 或 QNX 目前不支持 Python。
TensorRT的关键接口是:网络定义 Network Definition,为应用程序提供了定义网络的方法,可以指定输入和输出张量,并且可以添加和配置层,例如卷积层和循环层,插件层类型同样允许应用程序实现TensortRT本身不支持的功能(通过Network可以完成神经网络中的操作)。
优化配置文件 Optimization Profile 优化配置文件指定对动态维度的约束
构建器配置 Builder Configuration (Config) 构建器配置接口指定了创建引擎的详细信息。它允许应用程序指定 优化配置文件、最大工作空间大小、最小可接受精度水平、自动调整的时序迭代计数以及用于量化网络以 8 位精度运行的接口。
构建器Builder Builder 接口允许根据网络定义和构建器配置创建优化引擎。
引擎 Engine 允许应用程序执行推理,支持同步和一步执行、分析、枚举和查询引擎输入和输出绑定,单个引擎可以有多个执行上下文,允许使用一组经过训练的参数同时执行多个推理。(构造图纸,一切的思路源泉,其他的都是框架容器)
什么是执行上下文?(execution context) 可以理解为多线程执行?
ExecutionContext(执行上下文)综述 - 大师兄石头 - 博客园
ONNX解析器 parser 用于解析ONNX模型
C++ API 与 Python API 理论上,C++ API 和 Python API 在支持您的需求方面应该接近相同。 C++ API 应该用于任何对性能至关重要的场景,以及安全很重要的情况,例如在汽车中。 Python API 的主要好处是数据预处理和后处理易于使用,因为您可以使用各种库,如 NumPy 和 SciPy。
(实用还是选择C++)
Developer Guide :: NVIDIA Deep Learning TensorRT Documentation
CUDA Runtime API :: CUDA Toolkit DocumentationCUDAStream: CUDA Runtime API :: CUDA Toolkit Documentation
**************************************************************************************************************什么是Logger?
日志组件,用于管理builder,engine和runtime的日志信息。
该类为 TensorRT 工具和示例提供了一个通用接口来将信息记录到控制台,并支持记录两种类型的消息:- 具有相关严重性(信息、警告、错误或内部错误/致命)的调试消息 - 测试通过/失败消息与直接发送到 stdout/stderr 相比,让所有样本都使用此类进行日志记录的优势在于,控制样本输出的详细程度和格式的逻辑集中在一个位置。 将来,可以扩展此类以支持将测试结果转储到某种标准格式(例如,JUnit XML)的文件中,并提供额外的元数据(例如,对测试运行的持续时间进行计时)。
logger会作为一个必须的参数传递给builder runtime parser的实例化接口:
IBuilder* builder = createInferBuilder(gLogger);
IRuntime* runtime = createInferRuntime(gLogger);
auto parser = nvonnxparser::createParser(*network, gLogger);
TensorRT深度学习推理优化流程详解

本文详细介绍了使用TensorRT进行深度学习推理的流程,包括创建Runtime、Engine、Context,管理输入输出,创建CUDA流,进行异步推理以及资源释放。重点讲解了关键接口如NetworkDefinition、BuilderConfiguration、ExecutionContext和Logger的作用。此外,还提到了CUDA流的并发执行和日志管理,以及解析ONNX模型的Parser。整个过程强调了性能优化和资源管理的重要性。
最低0.47元/天 解锁文章
1480

被折叠的 条评论
为什么被折叠?



