aqt代码整理相关疑问

  • activation op
if self.method_.lower() == 'sigmoid':
            if self.is_signed:  # special process for wavenet
                o_scale = 127.0
                sigRange = o_scale / input_scale
                xs = np.linspace(-sigRange, sigRange, 2 **quantize_param['precision_bits'])
                self.lut_[self.qprec] = np.clip(np.round(
o_scale * self.sigmoid_(xs)).astype(np.int32), -128, 127).astype(np.int8)
                total_scale, zp = np.array([o_scale]), np.array([0])
            else:
                o_scale = float(2 ** self.qbits)
                xs = np.linspace(precision_q_min / input_scale, precision_q_max / input_scale,
                              2**quantize_param['precision_bits'])
                self.lut_[self.qprec] = np.clip(np.round(o_scale * self.sigmoid_(xs)),
 0, o_scale).astype(np.uint8)
                                               total_scale, zp = np.array([o_scale]), np.array([0])
            self.out_scale = total_scale
  • out_scale/ input_scale用在LUT里作为激活函数的range?
  • total_scale=out_scale
  • do_scale, do_shift = cal_doScale_doShift(total_scale)
do_shift = np.floor((np.log(total_scale) / np.log(0.5))).astype(np.int8)
do_scale = np.clip(np.round(total_scale / 0.5 ** do_shift * default_factor), 0, clip_max).astype(npdtype)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值