TensorRT C++ API用法

本文对比了TensorRT的C++和Python API,强调C++ API在高性能和安全性场景的应用。介绍了如何在C++中实例化TensorRT对象,包括创建IExecutionContext、ICudaEngine,解析模型文件以及执行推理的操作流程。
摘要由CSDN通过智能技术生成

TensorRT C++ API用法

1、C++ API vs Python API

  本质上,TensorRT的C++接口和Python接口在满足你的需要时应该是接近完全一致的,C++接口应该被用在对性能有很大需求的场景,也同时被用在安全很重要的场景,比如自动驾驶。

  Python接口最大的好处就是在做数据预处理和后处理的时候比较方便,因为你可以使用各种各样的Python库,比如NumPy和SciPy。

2、C++实例TensorRT对象

  执行inference操作,你需要使用IExecutionContext对象。在创建IExecutionContext对象之前,你需要创建一个ICudaEngine对象(engine)。

  有两种方式来创建engine:

  • 解析训练好的模型。这种情况下engine可以被随意的序列化并且保存用于后续的使用
    • caffe模型解析生成engine
    • onnx模型解析生成engine
    • uuf模型(TensorFlow生成的)解析生成engine
  • 通过从磁盘读取序列化的engine。这种情况下,性能是更好的,因为解析模型和创建中间对象的步骤已经跳过。

  需要创建一个全局的ILogger对象,被用作TensorRT API各种方法的参

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值