TensorRT设置低精度推理

据说TensorRT7实现了尽量低精度运算,还没有使用过。

TensorRT5要设置低精度运算的话,可以设置为Fp16或int8的。

1 Fp16

需要先查询设备是否支持fp16:

bool fp16 = builder->platformHasFastFp16();

返回true了,才能设置引擎以fp16进行推理。

builder->setFp16Mode(true);

2 int8

if (builder->platformHasFastInt8()) { … };

需要先生成int8校准表。怎么生成校准表呢?要通过训练500张左右的图片(最好来自同一个训练集),将网络权重映射到int8的取值范围。

再将int8校准表设置到引擎里。

    builder->setInt8Mode(dataType == DataType::kINT8);

    builder->setInt8Calibrator(calibrator);

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值