Tensorrt 自定义插件的调用顺序及过程

一个自定义插件需要实现两个类,分别继承于

class MyPluginDynamic : public IPluginV2DynamicEx

class MyPluginDynamicCreator : public IPluginCreator

然后使用

REGISTER_TENSORRT_PLUGIN(MyPluginDynamicCreator);

看其详细定义,也就是将这个插件加入到一个全局链表中,方便trtexec根据op name来查找该插件,这个实现跟ffmpeg中注册编解码器是一个思路

#define REGISTER_TENSORRT_PLUGIN(name)                                                                         

    static nvinfer1::PluginRegistrar<name> pluginRegistrar##name {}

#endif // NV_INFER_RUNTIME_H

下面是method详细的调用过程:

Creator:

MyPluginDynamicCreator

getPluginName (连续被调用两次)

getPluginNamespace

getPluginVersion

================================

Plugin:

getPluginVersion
getPluginNamespace
getPluginNamespace
getFieldNames
createPlugin
MyPluginDynamic
getNbOutputs
getOutputDataType
getNbOutputs
clone
MyPluginDynamic
setPluginNamespace
getPluginType
destroy
~MyPluginDynamic
getOutputDimensions
getOutputDataType
getOutputDimensions
 

=====

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值