tensorrt 低精度推理
tensorrt 使用后,精度可能下降,下降的原因:
1.输入尺寸不一样,
2.rgb bgr模式不对
3.阈值不一样
4.nms阈值不一样。
5.层不一样?
据说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);
原文链接:https://blog.csdn.net/shizao/article/details/103619026
下表列出了TensorRT层和每个层支持的精确模式,转自:
TensorRT层和每个层支持的精度模式 - 今夜无风 - 博客园
TensorRT运行demo程序sample_uff_ssd.exe,发现用fp16精度运行 比 fp32还慢,如下图所示
原因是:根据NVIDIA的说法,支持full-rate FP16 performance 的型号是: Tesla P100, Quadro GP100, and Jetson TX1/TX2。GTX 1050, 1060, 1070, 1080, Pascal Titan X, Titan Xp, Tesla P40等型号,不支持full-rate FP16,所以,在这些型号中使用fp16精度反而比fp32慢。
简单来说就是硬件有没有Native FP16 support,即native FP16 instructions支持。
转自:TensorRT--用fp16精度运行 比 fp32还慢? - 简书
tensorrt 低精度推理相关推荐
- 深度学习模型量化(低精度推理)大总结
模型量化作为一种能够有效减少模型大小,加速深度学习推理的优化技术,已经得到了学术界和工业界的广泛研究和应用.模型量化有 8/4/2/1 bit等,本文主要讨论目前相对比较成熟的 8-bit 低精度推理 ...
- 英伟达TensorRT 8-bit Inference推理
英伟达TensorRT 8-bit Inference推理 引论 ● 目标:将FP32 CNN转换为INT8,不会造成显著的精度损失. ● 原因:Int8 Math具有更高的吞吐量和更低的内存需求. ...
- 低数值精度推理和训练
低数值精度推理和训练 介绍 如今,大多数商业深度学习应用程序使用 32 位浮点精度 ( ) 来处理训练和推理工作负载.各种研究人员已经证明,深度学习训练和推理都可以以较低的数值精度进行,使用 16 位 ...
- 将深度学习低延迟推理性能提高一倍
将深度学习低延迟推理性能提高一倍 JetPack 3.1 Doubles Jetson's Low-Latency Inference Performance NVIDIA发布了JetPack 3.1 ...
- 基于TensorRT车辆实时推理优化
基于TensorRT车辆实时推理优化 Optimizing NVIDIA TensorRT Conversion for Real-time Inference on Autonomous Vehic ...
- tensorrt轻松部署高性能dnn推理_基于TensorRT车辆实时推理优化
基于TensorRT车辆实时推理优化 Optimizing NVIDIA TensorRT Conversion for Real-time Inference on Autonomous Vehic ...
- 低精度神经网络:从数值计算角度优化模型效率
作者丨林野 学校丨东北大学自然语言处理实验室2019级博士生 研究方向丨机器翻译.模型压缩.模型加速 背景 近年来,随着人工智能的不断兴起,神经网络已经在语音识别.计算机视觉和自然语言处理领域等多个任 ...
- 1、pth转onnx模型、onnx转tensorrt模型、python中使用tensorrt进行加速推理(全网最全,不信你打我)
本文向所有亲们介绍在python当中配置tensorrt环境.使用tensorrt环境进行推理的教程,主要分为两大部分,第一部分环境配置,第二部分前向推理. 第一部分 环境配置 第一步:检查你的系统类 ...
- 新增Transformer优化!NVIDIA最新发布TensorRT 8!推理方面取得重大突破
[导读]近日,英伟达悄悄地发布了TensorRT 8,BERT-Large推理仅需1.2毫秒!同时还加入了量化感知训练和对稀疏性的支持,实现了性能200%的提升.项目已开源. 2019年黄仁勋在GTC ...
最新文章
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法
- VMware vCenter Converter Standlone迁移手册
- 正则表达式匹配手机号
- POJ 2395 Out of Hay
- 面试必问:用 Java 写一个内存泄漏程序
- display: flex的兼容性写法
- verilog实现多周期处理器之——(一)基本概念以及总体框架
- HDOJ1181变形课 深搜回溯
- ✨✨✨【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(三)✨✨✨
- 修改Android手机的分辨率和屏幕密度
- php打开文件fopen函数
- egret eui.Button改变文本、背景色及是否可点击
- 英语口语练习五十五之英语委婉提建议
- vue端口号被占用报错npm ERR! @1.0.0 dev: `node build/dev-server.js`
- 苍穹变服务器维护中,苍穹变7月1日更新维护公告
- 大数据实战之Spark-Flume-Kafka-idea-Mysql实时处理数据并存储
- 【Spring系列04】自动装配(Qualifier,Autowired,Resource讲解)
- Sublime出现错误——“plugin_host has existed unexpectedly......”
- 如何搭建个人博客网站(Mac)
- GAN-overview reading note(3)Wasserstein GAN
热门文章
- Libgcrypt实现AES加密
- DirectX和DirectShow介绍和区别
- VS2013打包VC++程序
- VS中遇到 _WIN32_WINNT not defined
- C++ 程序不一定从 main 处开始执行
- OpenStack使用neutron agent-list缺少组件
- KVM 虚拟化原理探究--启动过程及各部分虚拟化原理
- Linux内核的Oops
- 文件分享平台php源码,简易社会化用户文件分享系统 v1.0
- linux在文档中查找内容,【Linux】用grep在文档中查找内容