如果是QAT模式,则借助torch的底层(或者重载操作)进行量化+反量化计算。 这里要注意,量化方法和torch不一样的化,就继承然后重载实现即可例如nnie的NNIEQuantizeFunc,lsq的LearnableFakeQuantize def forward(self, X): if self.observer_enabled[0] == 1: self.activation_post_process(X.detach()) _scale, _zero...
主要针对QAT (quantization-aware-training 量化感知训练)进行评估,量化方案也主要考虑均匀量化(uniform quantization)。 评估主要对以下四个方面进行:特定硬件的推理加速库的支持、量化算法、网络架构、量化位宽。 Hardware-Aware Quantizer 均匀量化的基本过程,包括量化操作和反量化操作: w¯=clip(⌊w/s⌉+z,Nm...
参数量不变(甚至略有微小增加),但是参数的大小少了,float32 4byte,int8只有1byte ...
UpdatedApr 29, 2022 Python QAT(quantize aware training) for classification with MQBench lsqresnetpactquantizationqatdsqefficientnetb0mqbenchregnetx UpdatedNov 18, 2021 Python
CV QAT SOPHGO-mq supports QAT quantization for common classification models. CUDA_VISIBLE_DEVICES=0 python application/imagenet_example/main.py \ --arch=resnet18 \ --batch_size=128 \ --lr=1e-4 \ --epochs=1 \ --optim=sgd \ --cuda=0 \ --pretrained \ --evaluate \ --train_data=...