Pytorch量化感知训练

参考博客:Pytorch量化感知训练

  • 量化感知训练(Quantization Aware Training)是在模型中插入伪量化模块(fake_quant module)模拟量化模型在推理过程中进行的舍入(rounding)和钳位(clamping)操作,从而在训练过程中提高模型对量化效应的适应能力,获得更高的量化模型精度 。

  • 在这个过程中,所有计算(包括模型正反向传播计算和伪量化节点计算)都是以浮点计算实现的,在训练完成后才量化为真正的int8模型。

  • Pytorch官方从1.3版本开始提供量化感知训练API,只需修改少量代码即可实现量化感知训练。

Step1:修改模型

  • 在模型输入前加入QuantStub(),在模型输出后加入DeQuantStub()。目的是将输入从float32量化为int8,将输出从int8反量化为float32。
##############################
# Part1:插入节点
##############################

你可能感兴趣的:(模型轻量化,pytorch,python,深度学习)