tensorRT C++ API

核心的C++ API包含在 NvInfer.h 中。

有四个关键的API如下:

1、Bulider API

Builds an engine from a network definition。build与网络相关的engine.

2、Execution API

Context for executing inference using an engine。执行前向计算using engine。

3、Network Definition API

A network definition for input to the builder。网络的定义。

4、Plugin API

 Plugin class for user-implemented layers。用户自己实现的层。

命名空间:nvinfer1 (个人理解为是 nvidia inference version1的意思)

命名空间里有很多members,主要涵盖了functions、Enumerations、Enumerator

具体命名空间里的member的意思可以到https://docs.nvidia.com/deeplearning/sdk/tensorrt-api/c_api/namespacemembers.html查阅

tensorRT中大量的类以及类的介绍、成员、方法查阅https://docs.nvidia.com/deeplearning/sdk/tensorrt-api/c_api/classes.html

下面介绍的是几个重点的类:

IHostMemory: Class to handle library allocated memory that is accessible to the user

与分配内存相关的类库,通过主机内存对象分配的内存由该library拥有,通过调用destroy释放内存。注意该类是不能继承的,否则会影响前向传播的计算。该类有几个成员函数:data (指针,指向数据的首地址)、size( data bytes)、type(数据类型)、destroy。

原文地址:https://www.cnblogs.com/yanxingang/p/10851156.html