使用 TensorRT 加速带plugin的caffe模型 -- 框架描述

caffe 模型中含有 TensorRT不支持的层,不需要在prototxt中更改层类型

以下描述以流程和调用关系为主,具体参数从名称可判断。

流程:

//1、序列化caffe模型。
SerializeCaffeModel();

//2、初始化推断。
InitInference();

for(int i=0; i<N; ++i)
  //3、执行推断。
  DoInference();

//4、释放资源。
FreeInference();

1、序列化caffe模型:

shutdownProtobufLibrary 的调用会导致第二次parse的错误。

a/b/c表示所有plugin层完成a,再执行b、c。

a1/a2/a3表示一个plugin层执行完a1、a2、a3,再下个plugin层执行。

static Logger gLogger;

void SerializeCaffeModel() {
  
  //0、设置gpu设备,后续有cudaMalloc,需要关联设备。
  cudaSetDevice(gpu_id);
  
  //1、创建builder/network/parser。
  IBuilder* builder = createInferBuilder(gLogger);
  INetworkDefinition* network = builder->createNetwork();
  ICaffeParser* parser = createCaffeParser();

  //2、设置插件。
  TrtPluginFa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值