TensorRT流程简介和支持Parser
可以分三个步骤,即模型的解析(Parser),Engine优化和执行(Execution)。
模型解析后,engine会进行优化,具;得到优化好的engine可以序列化到内存(buffer)或文件(file),读的时候需要反序列化,将其变成engine以供使用;然后在执行的时候创建context,主要是分配预先的资源,engine加context就可以做推断(Inference)。
tensorrt支持三种Parser,分别是
Caffe Parser
This parser can be used to parse a Caffe network created in BVLC Caffe or NVCaffe 0.16. It also provides the ability to register a plugin factory for custom layers.
UFF Parser
This parser can be used to parse a network in UFF format. It also provides the ability to register a plugin factory and pass field attributes for custom layers.
ONNX Parser
This parser can be used to parse an ONNX model.
下面是使用tensorrt的一般流程,分为使用C++和Python两个不同的操作方式,这里展示的是C++的流程
2.2 Creating A Network Definition In C++
Importing A TensorFlow Model Using The C++ UFF Parser API
- 首先将tensorflow模型转成uff格式, convert the TensorFlow model into intermediate format UF
- Create the builder and network:
IBuilder* builder = createInferBuilder(gLogger);
INetworkDefinition* network = builder->createNetwork();
- Create the UFF parser:
IUFFParser

本文介绍TensorRT的工作流程,包括模型解析、Engine优化和执行,支持Caffe、UFF和ONNX三种Parser。详细讲解了使用C++创建网络定义、构建Engine及序列化模型的步骤。此外,还阐述了TensorRT的优化策略,如网络层合并、Kernel选择、不同硬件优化等,并介绍了INT8推断的校准表生成和使用方法。

1万+

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



