input=node_dict[self.bottom_[0]]
linear_scale_shift是什么
activation op
- forward 实现激活函数功能
- quantize method:
- looking up table(lut)
- self.lut_[self.qprec] = range (precision_q_min, precision_q_max+1) / input_scale
argminmax op
- forward 取axis下的min,max
- 不做quantize
batchnorm op
- forward:
normalized = tf.round(output * self.scale_ * (0.5 ** self.shift_))
outputs = round_clip_cast(normalized, TF_PRECISION_MAP[self.top_type_[precision][0]])
- quantize method
int_bits = int(np.ceil(np.log2(np.max(self.weights_['float32']))))
dec_bits = 15 - int_bits
weights_scale = 2.0 ** dec_bits
quantized_weights = np.round(self.weights_['float32'] * weights_scale).astype(np.int16)
biases_scale = input_scale * weights_scale
- cal_scale_zp
conv_fc op
- quantize method: quantize weights, quantize biases
- biases_scale=self.input_scale*weights_scale
detection op
任务: 改进代码
- 用其他的模型(hrnet)跑一遍aqt
- 读一读图优化的论文,并尝试一些图优化的方法
- 在各个算子内部尝试优化其量化算法
- 混合精度(下周)
- 输入文件.ckpt格式转成.pb格式,用parser转成ir输入格式(.bin, .txt)