TensorRT int8 calibration table生成及解析

TensorRT int8推理的精度接近fp32, 但是存储空间更小,对memory的带宽消耗也少,同时推理速度也有一定的提升。是一项很重要的技术。
跟fp16和fp32不一样,使用int8推理必须先要做calibriation,其实就是再做浮点数定点化的一些操作,然后将一些关键数据保存下来,下次使用时,就不用重新生成了。这些数据会被记录到一个calibration table的文件中。为了生成calibration table需要准备一个calibration dataset, 通常要500-1000个samples, 这些samples要有代表性,task中的每个类别都要能涵盖住,最好时validation set的一个子集。
有了calibration dataset,使用一些常用的优化算法,比如nvidia介绍的,每一层的activation value 分布的KL散度,fp32的KL散度和int8对应的KL散度要很相似。优化算法跑完会输出一个calibration table或者calibration cache, TensorR

TensorRT int8 calibration table生成及解析最先出现在Python成神之路

版权声明:
作者:cc
链接:https://www.techfm.club/p/19324.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>