Float8格式

该博客讨论了在神经元网络中使用8比特浮点数的可能性,以降低参数存储需求,提高图像压缩效率。提出了两种方案:一是模仿32位和64位浮点数格式,二是采用查表法存储256个常用值。通过这种方式,可以优化神经网络的计算和存储资源,实现更高效的图像处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

产生背景:
在人工智能·神经元网络中,一个参数用1字节表示即可,或者说,这是个猜想:因为图像的颜色用8比特表示就够了,所以说,猜想神经元的区分度应该小于256。
另外,在“神经元网络应用于图像压缩”的实验中,需要参数尽可能少占用空间,以求更高的压缩率。所以,有必要研究8比特的浮点数格式。

方案一、模仿32位的float和64位的double,用一部分比特表示基数、剩下的比特位表示指数,用科学计数法表示浮点数。
在这里插入图片描述

方案二、用查表法记住256个常用值。包括:
-100到+100,共201个,剩55个。
27个正数、27个负数,1个异常。

0.01到1.00,共100个。
1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10,共18个。
20 30 40 50 60 70 80 90 100,共9个。
正数共127个,还有负数127个,一个0,一个异常,总共256个。举例如下:

1000.0000(-128) -> 异常,FT
-127 -> -100
-118 -> -10
1001.1011(-101) -> -1.5
1001.1100(-100) -> -1.00
1111.1111(-1) -> -0.01
0000.0000(0) -> 0, PFT
0000.0001 -> 0.01
0110.0100(100) -> 1.00
0111.0110(118) -> 10
0111.1111(127) -> 100

程序举例:

float FT[256],f,*PFT;
char x;//-128到+127
PFT=FT+128;
x=random_int(-100, +100);
f=PFT[x];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值