PTQ(PostTrainingQuantization)源
PTQ(PostTrainingQuantization)源码阅读二
上文提到了PTQRegistry这个类,主要功能是作为dict来存储nn。LayerLayerInfo的映射。我们看下这个类的实现。LayerInfoclassLayerInfo(object):Storetheargnamesoftheinputsandoutputs。definit(self,layer,inputnames:List〔TEXT〕,weightnames:List〔TEXT〕,outputnames:List〔TEXT〕):super()。init()self。layerlayerself。inputnamesinputnamesself。weightnamesweightnamesself。outputnamesoutputnames
主要存储nn。Layer,及其对应的输入、权重和输出名。
全局参数PTQLAYERSINFO,QUANTLAYERSINFO和SIMULATEDLAYERS汇总目前支持量化的层的LayerInfo如下:PTQLAYERSINFO〔LayerInfo(paddle。nn。Conv2D,〔Input〕,〔Filter〕,〔Output〕),LayerInfo(paddle。nn。Linear,〔X〕,〔Y〕,〔Out〕),LayerInfo(paddle。nn。BatchNorm2D,〔X〕,〔〕,〔Y〕),LayerInfo(paddle。nn。AdaptiveMaxPool2D,〔X〕,〔〕,〔Out〕),LayerInfo(paddle。nn。AdaptiveAvgPool2D,〔X〕,〔〕,〔Out〕),LayerInfo(paddle。nn。AvgPool2D,〔X〕,〔〕,〔Out〕),LayerInfo(paddle。nn。MaxPool2D,〔X〕,〔〕,〔Out〕),LayerInfo(paddle。nn。ReLU,〔X〕,〔〕,〔Out〕),LayerInfo(paddle。nn。ReLU6,〔X〕,〔〕,〔Out〕),LayerInfo(paddle。nn。Hardswish,〔X〕,〔〕,〔Out〕),LayerInfo(paddle。nn。Swish,〔X〕,〔〕,〔Out〕),LayerInfo(paddle。nn。Sigmoid,〔X〕,〔〕,〔Out〕),LayerInfo(paddle。nn。Softmax,〔X〕,〔〕,〔Out〕),LayerInfo(paddle。nn。Tanh,〔X〕,〔〕,〔Out〕),LayerInfo(paddle。nn。quant。add,〔X,Y〕,〔〕,〔Out〕),〕QUANTLAYERSINFO〔LayerInfo(paddle。nn。quant。quantlayers。QuantizedConv2D,〔Input〕,〔Filter〕,〔Output〕,),LayerInfo(paddle。nn。quant。quantlayers。QuantizedLinear,〔X〕,〔Y〕,〔Out〕),〕SIMULATEDLAYERS〔paddle。nn。Conv2D,paddle。nn。Linear〕
PTQLAYERSINFO中存储目前支持量化的层和对应的输入、输出、权重名字。
QUANTLAYERSINFO是量化新实现支持的LayerInfo。这种实现方式等价torch基于nn。QuantModule的实现。
SIMULATEDLAYERS存储的针对inputweight量化的层。模拟量化层会采集层的input的分布。weight分布不需要采集。
模拟量化这里应该指的是FakeQuantization。
PTQRegistry
PTQRegistry用于对上面三个全局变量查询访问使用。classPTQRegistry(object):RegisterthesupportedlayersforPTQandprovidelayersinfo。supportedlayersmap{}registeredlayersmap{}isinitedFalsedefinit(self):super()。init()classmethoddefinit(cls):ifnotcls。isinited:forlayerinfoinPTQLAYERSINFO:cls。supportedlayersmap〔layerinfo。layer〕layerinfoalllayersinfoPTQLAYERSINFOQUANTLAYERSINFOforlayerinfoinalllayersinfo:cls。registeredlayersmap〔layerinfo。layer〕layerinfocls。isinitedTrue
cls。supportedlayersmap存储PTQLAYERSINFO的内容。
cls。registeredlayersmap存储PTQLAYERSINFOQUANTLAYERSINFO的内容。
注意,这里的key是nn。Layer子类。
四个查询接口如下,不做过多介绍了。:classmethoddefissupportedlayer(cls,layer):Analyzewhetherthelayersupportsquantization。Args:layer(Layer):Theinputlayercanbeapythonclassoraninstance。Returns:flag(bool):Whtherthelayerissupported。cls。init()returnlayerincls。supportedlayersmaporisinstance(layer,tuple(cls。supportedlayersmap。keys()))classmethoddefisregisteredlayer(cls,layer):Analyzewhetherthelayerisregisterlayerinfo。Args:layer(Layer):Theinputlayercanbeapythonclassoraninstance。Returns:flag(bool):Wetherthelayerisregisterlayerinfo。cls。init()returnlayerincls。registeredlayersmaporisinstance(layer,tuple(cls。registeredlayersmap。keys()))classmethoddefissimulatedquantlayer(cls,layer):Analyzewhetherthelayerissimulatedquantlayer。Args:layer(Layer):Theinputlayercanbeapythonclassoraninstance。Returns:flag(bool):Whtherthelayerissupported。returnlayerinSIMULATEDLAYERSorisinstance(layer,tuple(SIMULATEDLAYERS))classmethoddeflayerinfo(cls,layer):Gettheinfomationforthelayer。Args:layer(Layer):Theinputlayercanbeapythonclassoraninstance。Returns:layerinfo(LayerInfo):Thelayerinfooftheinputlayer。assertcls。isregisteredlayer(layer),Theinputlayerisnotregister。forlayerkey,layerinfoincls。registeredlayersmap。items():iflayerlayerkeyorisinstance(layer,layerkey):returnlayerinfo参考文献利用NVIDIATensorRT量化感知训练实现INT8推理的FP32精度
计算机行业资金流出榜海康威视浪潮信息等净流出资金居前沪指4月14日上涨0。60,申万所属行业中,今日上涨的有18个,涨幅居前的行业为有色金属、电子,涨幅为3。18、2。00。跌幅居前的行业为社会服务、传媒,跌幅为2。19、2。0……
12星座2018年6月运气好吗白羊座亚历山大虽然6月过去一半,但是这剩下的一月如果注意一些事,可以避免不必要的麻烦,甚至能够转运哦,所以不管在事业上还是生活上出现问题的星座们,一起来看看12星座2018年6月运气好吗?1……
日杂风格口红有哪些日杂风口红推荐日本妹妹的妆容一直是大家都很喜欢的,经常看到日杂上面模特的唇妆都非常好看,日杂妆容都非常温柔,超精致,日杂风口红有很多好看的。日杂风格口红有哪些1、MAC新银管210……
串串紫藤花垂落,如紫色瀑布紫藤挂云木,花蔓宜阳春。4月7日,在郯城县马头镇文化广场上,紫藤蔓上紫藤花竞相绽放,开出了一串一串紫色绚丽的花朵。轻轻摇曳,紫藤花散发着股股清香,沁人心脾。一串一串紫色的花朵宛……
石榴红口红适合啥肤色黄皮擦了显白不突兀秋冬口红颜色不能缺少石榴红,石榴红这种颜色非常显白,因为它是冷色调,不带棕色的正宫红,非常显气色,让黄皮一秒显白,又不会突兀。石榴红口红适合啥肤色秋冬的衣服搭配比较暗沉,……
拆解IPO富卫集团四度冲刺IPO,去年亏损7。4亿美元2023年3月13日,富卫集团有限公司(下称富卫集团)向港交所提交上市申请书,拟募资10亿美元,并预期于今年二季度招股上市,摩根士丹利、高盛、招银国际、摩根大通为其联席保荐人。……
轰111,张本智和用行动打脸国乒退役大将郭焱,网友都求她闭嘴WTT澳门站比赛,国乒昔日大将郭焱,也就是丁宁曾经的主管教练,在张本智和与国乒小将刘诗栋的比赛前,又开始一通自以为是的赛前预测,郭焱录了一条赛前预测视频,标题起的还是什么所谓的……
极乐迪斯科开发者称公司声明极具误导性将继续上诉此前有报道称,游戏《极乐迪斯科》的开发商ZAUM与制作人KaurKender之间发生的法律纠纷已经尘埃落定。这主要是因为工作室和Kender两者发布的声明。工作室表示Kende……
燃旺夜珠山原标题:燃旺夜珠山看景德镇如何扎实推进夜经济品牌高品质发展本报全媒体记者邱西颖上镇赶集咯!前不久,在景德镇市陶溪川文创街区举办的陶然集夜市,又让这座城市上了热……
季中锦标赛细节分6个小组,各组第一和两外卡球队晋级雅虎记者BenRohrbach报道了新版劳资协议的季中锦标赛更多细节:30支球队会打乱赛区分配到6个小组,每个小组5支球队。常规赛前六周的指定锦标赛比赛日,球队将参……
紫色美瞳适合什么人紫色美瞳配什么妆容隐形眼镜有多样的颜色、各式的花样,但要如何搭配不同颜色的眼影让眼睛看起来有神、亮丽、耀眼呢?下面5号网小编带大家来看一下紫色美瞳适合什么人?紫色美瞳配什么妆容?紫色美瞳适合什么……
凌乱小卷中长发怎么弄好看?超美的凌乱小卷中长发中长发是我们平时的日常生活中非常常见的一种发型长度,现在很多人都不喜欢直发,喜欢温柔慵懒女人味十足的卷发,那么凌乱小卷中长发怎么弄好看?超美的凌乱小卷中长发。凌乱小卷中长发怎么……
电商网购直播带货横行,实体店出路在哪里?中国现早已不是以前的计划经济,市场已经充分自由、饱和竞争商品过剩。以前随便开一个店就能钱赚的时代已经一去不复返了。现在遍地门面转让已经是城市里一道独特的风景线。现在网上有……
客户买车,为什么选择比亚迪?第一点:比亚迪的产品规模比亚迪成立于1995年,是一家拥有乘用车、商用车、轨道交通、电子及电池五大事业群的高新技术民营企业。员工人数达到了约24万人,生产基地在全球30多……
爱性最诚实直爽蓝色天空(原创)人活一世,都希望有一个温馨幸福的家庭,有个快乐的宝宝,有一个知心爱人。长久的沐浴在爱的阳光下,倘佯在爱人的关怀中,全身心地享受爱的滋润。相知相伴岁月,……
甲油胶为什么要灯照甲油胶用灯照的原因做过美甲的都知道,甲油胶是要用灯照的,很多人不是很理解为什么做美甲的甲油胶要用灯照,这个是什么原理呢,下面介绍甲油胶为什么要灯照?甲油胶用灯照的原因。甲油胶为什么要灯照光……
甲油胶为什么会缩胶甲油胶缩胶的原因甲油胶是看上去比较粘稠的质地,有时候涂上去的时候好好的,用烤灯照完就缩胶了,缩胶是非常难看的,下面介绍甲油胶为什么会缩胶?甲油胶缩胶的原因。甲油胶为什么会缩胶其实所有甲油……
连年亏损债台高筑的银宝山新要易主,前三大股东纷纷出逃记者庞宇编辑筹划一年多,银宝山新(002786。SZ)控制权变更一事有了最新进展。银宝山新11月21日发布公告称,公司控股股东邦信资产管理有限公司(以下简称邦……
你眼中的苦海虽苦,但你不能弃舟而去面对大海春暖花开,每当读到这一句的时候,心中总会满溢一种温馨之感!甘之如饴!因为这一句我就想认识一下是什么样的人?才能写下这么温暖的诗句。当我知道他是以卧轨自杀这种让人不为所理……
甲油胶裂开什么原因2个因素了解下甲油胶不同于指甲油,甲油胶需要灯照,而指甲油不需要照灯,不照灯的甲油胶干不了,而即使照灯了甲油胶也有很多残掉的原因,下面5号网小编带大家来看甲油胶裂开什么原因?甲油胶裂开什么原……
互动影像飞越13号房试玩版上线Steam这款作品确实高能由ALTLab开发的国产独立作品《飞越13号房》免费试玩版今日上线Steam,并在bilibili高能电玩节正式亮相,此次官宣公布了全新海报及预告视频。官方预告:S……
甲油胶起泡是什么原因甲油胶起翘是什么原因甲油胶做的好是非常美的,但是不知道由于什么原因,有时候做的美甲会起泡和翘起来,这样无疑是非常不好看的,下面介绍甲油胶起泡是什么原因?甲油胶起翘是什么原因?甲油胶起泡是什么原因……
为什么涂口红之前刷粉底涂口红一定要涂粉底么口红是化妆必备的彩妆产品,口红对整个妆容的影响是很大的,我们平时看化妆教程的时候会经常看到美妆博主在涂口红之前,先用粉底液把嘴唇打个底。为什么涂口红之前刷粉底涂口红之前之……
好用的平价眼影盘有哪些好用评价眼影盘推荐眼影盘是女生们几乎都是人手一件或是几件的单品,眼影盘的品牌有很多,不一定贵的就是好用,下面给大家推荐几款好用又平价的眼影盘品牌吧。好用的平价眼影盘有哪些1、完美日记……