现在比较流行的方式,是使用 torch.fx来做量化,比如地平线J3/J5的oe开发包中内嵌的ptq/qat量化方式,就是基于torch.fix进行开发的。本文将使用100行代码教你入门比较标准的量化步骤。,这些问题需要解答。本文100行代码,麻雀虽小五脏俱全,包括怎么用,用在哪里,哪里不能用等,不管你量化什么模型,基本上套用就是了。
本文使用100行代码,极简的教大家入门比较标准的量化步骤:
1、量化前期知识
请参考我之前的量化文章,或自行百度,此处不做介绍。
2、torch.fix示例
torch.fx最好使用最新的stable版本,老版本API或有不同之处,我测试的是 1.11
。
由于pytorch的自带的 imagnet系列模型,我们没有办法做calibration,我们用小一些的Cifra10, 不需要下载,pytorch自己可以处理,但是这就需要我们自己finetune一下。
先把finetune的代码备好:
2.1 正常训练
这只是用来fintune一个我们准备去量化、校准的模型:
import torch
import torch.nn as nn
import