量化有两种主要方法——量化感知训练和训练后量化。MAX78000 支持这两种方法,具体量化原理我们后面介绍,这里先介绍量化过程。

对于这两种方法,quantize.py软件都会量化现有的 PyTorch checkpoint文件并写出一个新的 PyTorch checkpoint文件,然后可以使用与训练相同的 PyTorch 框架来评估量化网络的质量。

将上述文件移动到ai8x-synthesis/proj文件夹,准备量化。

cd ai8x-synthesis

量化感知训练 (QAT)

$ ./quantize.py proj/qat_best.pth.tar proj/proj_q8.pth.tar --device MAX78000

   量化感知训练是性能更好的方法。它默认启用。QAT 在训练期间学习有助于量化的其他参数。需要quantize.py.的输入 checkpoint要么是qat_best.pth.tar,最好的 QAT 时期的 checkpoint,要么是qat_checkpoint.pth.tar,最终的 QAT 时期的 checkpoint。

更多推荐