TensorRT設定低精度推理

2021-10-01 14:14:59 字數 497 閱讀 2136

據說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);

bert 推理加速 使用tensorRt

之前對bert輕量化,視訊記憶體占用減少一半。但是推理速度仍然沒多大變化。因此 計畫通過tensorrt完成模型的推理加速。1.首先,了解一下tensortr是幹什麼的,這篇文章寫得很好。本人猜想,nvidia官方提出tensorrt的目的是為了更好的融合深度學習框架和gpu.tensorflow ...

進製轉換(低精度)

並不是某道題其實只是心血來潮隨便寫的qwq 2333我才不會說我想發二進位制說說來裝b include include include includeusing namespace std int primer int a,int b 快速冪將n進製轉換成10進製 return r int a 10...

大數相乘「高精度乘低精度」和「高精度乘高精度」

二 高精度乘高精度 如下 由於計算機的儲存位元組有限,所以不能完整表示乙個很大整數的精確值,這時候就得用到其他的方法,稱之為高精度演算法。這裡的高精度乘法主要指按位模擬乘法,實際上就是模擬乘法的過程,也就是筆算的過程。高精度乘低精度,即乙個大數與乙個小於10000的數相乘,大數使用字串來進行儲存,較...