lgt8f328p与atmega328p,fp32和fp16有区别吗

1、定义fp32 (全精度) )占用4个字节,共32个比特,其中一个比特是已编码比特,8是指数比特,23是尾数比特。

f16 ) float,半精度)占用两个字节的总共16个比特,其中一个比特是已编码比特、5比特指数比特和10比特的有效数字比特。 因为FP16的接入功耗是FP32的1/2,所以FP16是适合于在移动终端侧进行AI计算的数据格式。

INT8、8位整数占用1个字节。 INT8是定点计算方法,表示整数运算,通常通过浮点运算进行数值化。 在二进制中,一个“0”或“1”表示1位,INT8表示一个数字,用8bit表示。 因此,INT8虽然比FP16精度低,但数据量小、功耗低、计算速度相对快,符合端运算的特点。

2、相对低精度技术(high speed reduced precision )。 在训练阶段,梯度的更新往往很小,需要比较高的精度,一般使用FP32以上。 对于inference,精度要求不是很高,可以使用一般的F16 (半精度),也可以使用INT8(8) 8位整数,精度的影响不是很大。 此外,低精度模型的占用空间变小,有利于嵌入模型的部署。

用fp16代替fp32

好处:

1 ) TensorRT的FP16,在GPU支持FP16 (最新的2070、2080、2080 ti等)的前提下,与FP32相比可以提高接近2倍的速度

2 )减少显存。

缺点:

1 )导致溢出

3、测试我在Jetson Xavier NX上测试了基于TensorRT加速的yolo算法在FP32、FP16、INT8三种精度下的数据:

Ref :

TensorRT模型转换和部署,FP32/FP16/INT8精度划分

Pytorch的cuda撒娇黑米过渡到cpu撒娇黑米需要时间怎么办?

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注