Tensorrt学习笔记--Tensorrt的基本知识

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

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值