CN116702859A - 模型量化方法、装置、计算机设备和存储介质 - Google Patents
模型量化方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116702859A CN116702859A CN202310659920.3A CN202310659920A CN116702859A CN 116702859 A CN116702859 A CN 116702859A CN 202310659920 A CN202310659920 A CN 202310659920A CN 116702859 A CN116702859 A CN 116702859A
- Authority
- CN
- China
- Prior art keywords
- quantization
- original network
- network layer
- model
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013139 quantization Methods 0.000 title claims abstract description 701
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000001514 detection method Methods 0.000 claims description 30
- 238000000605 extraction Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 23
- 230000004927 fusion Effects 0.000 claims description 17
- 238000012216 screening Methods 0.000 abstract 2
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请涉及一种模型量化方法、装置、计算机设备和存储介质。该方法包括:根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;并根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;再根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。即先对原始网络模型中的每一个原始网络层进行目标量化策略的筛选,然后对原始网络模型中的待量化网络层进行筛选,相比于基于固定比特的方式对原始网络模型中的每一原始网络层进行量化处理,提高了目标量化模型在精度和计算资源占用之间的平衡。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种模型量化方法、装置、计算机设备和存储介质。
背景技术
近年来,针对神经网络模型的量化处理获得了广泛关注。
目前,对高精度的浮点类型的神经网络模型(即高精度的原始网络模型)的量化方式具体为:对整个原始网络模型的权重和激活值都量化到固定比特的方式,得到低精度的整型模型(目标量化模型)。若固定的比特是高比特,则此时虽然能够保证量化后的目标量化模型的精度,但是会存在量化后的目标量化模型内存占用和计算量大的问题。若固定的比特是低比特,则此时虽然能够保证量化后的目标量化模型内存占用和计算量小,但是会存在量化后的目标量化模型精度低的问题。
可见,现有技术中,基于固定比特对原始网络模型进行量化很难在精度和计算资源占用之间达到很好的平衡,亟需改进。
发明内容
基于此,有必要针对上述技术问题,提供一种能够平衡精度和计算资源占用关系的一种模型量化方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种模型量化方法,该方法包括:
根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;
根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;
根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
在其中一个实施例中,根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略,包括:
基于原始网络模型中的每一原始网络层,采用至少两组候选量化策略进行量化,得到每一原始网络层对应的至少两个量化网络层;
确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差;
将每一原始网络层的最小量化误差对应的候选量化策略,作为每一原始网络层的目标量化策略。
在其中一个实施例中,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差,包括:
基于样本输入数据对每一原始网络层进行推理,得到第一推理结果;
基于样本输入数据对每一原始网络层的各量化网络层进行推理,得到第二推理结果;
根据每一原始网络层的第一推理结果与第二推理结果,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
在其中一个实施例中,根据每一原始网络层的第一推理结果与第二推理结果,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差,包括:
对每一原始网络层的各量化网络层的第二推理结果进行反量化处理,得到每一原始网络层的第三推理结果;
确定每一原始网络层的第一推理结果与第三推理结果之间的相似度;
根据相似度,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
在其中一个实施例中,根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层,包括:
从原始网络模型的各个原始网络层中确定候选量化层;
判断候选量化模型是否满足量化指标要求;其中,候选量化模型基于候选量化层的目标量化策略对原始网络模型进行量化得到;
若不满足,则根据每一原始网络层在目标量化策略下对应的量化误差,调整候选量化层,并基于调整后的候选量化层返回重新判断候选量化模型是否满足量化指标要求,直到满足量化指标要求为止。
在其中一个实施例中,从原始网络模型的各个原始网络层中确定候选量化层,包括:
将原始网络模型中的所有原始网络层均作为候选量化层;
相应的,根据每一原始网络层在目标量化策略下对应的量化误差,调整候选量化层,包括:
根据每一原始网络层在目标量化策略下对应的量化误差,将量化误差最大的原始网络层从候选量化层中剔除。
在其中一个实施例中,原始网络模型为目标检测模型,目标检测模型中的原始网络层包括:点云特征提取层、点云特征融合层和目标检测层。
第二方面,本申请还提供了一种模型量化装置。该装置包括:
第一确定模块,用于根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;
第二确定模块,用于根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;
量化模块,用于根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
第三方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;
根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;
根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
第四方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;
根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;
根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
第五方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;
根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;
根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
上述模型量化方法、装置、计算机设备和存储介质,根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;并根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;再根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。本申请的方案先对原始网络模型中的每一个原始网络层进行目标量化策略的筛选,然后对原始网络模型中的待量化网络层进行筛选,相比于现有技术基于固定比特的方式对原始网络模型中的每一原始网络层进行量化处理,极大的提高了目标量化模型在精度和计算资源占用之间的平衡。
附图说明
图1为本实施例提供的一种模型量化方法的应用环境图;
图2为本实施例提供的第一种模型量化方法的流程示意图;
图3为本实施例提供的一种确定每一原始网络层的目标量化策略的流程示意图;
图4为本实施例提供的一种确定原始网络模型中的待量化网络层的流程示意图;
图5为本实施例提供的第二种模型量化方法的流程示意图;
图6为本实施例提供的第一种模型量化装置的结构框图;
图7为本实施例提供的第二种模型量化装置的结构框图;
图8为本实施例提供的第三种模型量化装置的结构框图;
图9本实施例提供的计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图1所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过无线保真(Wireless-Fidelity,WIFI)、移动蜂窝网络、近场通信(Near FieldCommunication,NFC)或其他技术实现。该计算机程序被处理器执行时以实现一种模型量化方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,如图2所示,提供了一种模型量化方法,该方法包括以下步骤:
S201、根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略。
可选的,本实施例的原始网络模型可以是包括至少两个原始网络层的任意高精度的浮点类型的神经网络模型,例如,原始网络模型可以是目标检测模型、图像识别模型和图像分类模型等。
量化策略是指针对原始网络模型中的每一原始网络层进行量化的策略。可选的,可以对可选量化方法和可选量化算法进行任意组合,得到至少两组候选量化策略,其中,不同候选量化策略中包含的可选量化方法和/或可选量化算法不同。其中,可选量化方法包括对称量化、非对称量化、逐层量化和逐通道量化等。可选量化算法包括最大值最小值法、滑动平均最大最小值法和相对熵(Kullback-Leibler Divergence,KL)等。
可选的,量化误差是指针对任意一个原始网络层对一组数据的推理结果,与该原始网络层经量化处理后对该组数据的推理结果的之间误差。实际应用中,量化误差越小,说明原始网络层对一组数据的推理结果与该原始网络层经量化处理后对该组数据的推理结果差距越小,也就是说,原始网络层对该组数据的推理结果与该原始网络层经量化处理后对该组数据的推理结果的相似度越高,同理,反之也成立。
目标量化策略是指针对每一原始网络层,为其选择出的最优的量化策略,例如,可以是最小量化误差对应的候选量化策略。
本实施例中,针对原始网络模型中的每一原始网络层,遍历各个候选量化策略,确定每一个候选量化策略下对每一个原始网络层进行量化的各个量化网络层,然后,基于同一组数据,确定一个原始网络层对一组数据的推理结果与该原始网络层的各量化网络层对该组数据的推理结果的量化误差,并对各量化网络层对应的量化误差进行排序,将最小量化误差对应的候选量化策略,确定为每一原始网络层确定目标量化策略。
S202、根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层。
其中,待量化网络层是原始网络模型中需要进行量化的原始网络层。
本实施例中,针对原始网络模型中的每一原始网络层,确定各个原始网络层在目标量化策略下的各量化网络层对应的量化误差,并对各个量化网络层对应的量化误差进行从低到高的顺序进行排序,得到量化误差的排列顺序,基于该排列顺序,确定原始网络模型中的待量化网络层。
一种可选的实施方式中,预设设置误差阈值,基于量化误差的排列顺序,将量化误差小于预设误差阈值的各个原始网络层均作为待量化网络层,其中,需要说明的是,误差阈值可以根据原始网络模型量化后的精度或速度等要求确定,在此不限定误差阈值的确定方式。
另一种可选的实施方式中,预先设置原始网络模型量化后最大允许的误差值,基于各个量化网络层对应的量化误差的从低到高的排序顺序,依次从首个量化误差进行累加,直至累加后的总值大于最大允许的误差值,将不大于最大允许的误差值对应的各个原始网络层均作为待量化网络层。需要说明的是,最大允许的误差值可以根据原始网络模型量化后的精度或速度等要求确定,在此不限定最大允许的误差值的确定方式。
可选的,为了进一步保障原始网络模型的量化效果,通过上述方式确定出待量化网络层后,还可以进一步检测基于上述量化策略对待量化网络层进行量化后,得到的量化后的原始网络模型的精度或速度等性能是否达标,如果没有,还需要进一步基于量化误差调整原始网络模型中的待量化网络层。
S203、根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
在确定原始网络模型中的待量化网络层之后,针对原始网络模型中的每一原始网络层,首先判断该原始网络层是不是待量化网络层,在确定该原始网络层是待量化网络层的情况下,基于各个待量化网络层对应的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
本申请提供的模型量化方法,根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;并根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;再根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。显然,本申请的方案先对原始网络模型中的每一个原始网络层进行目标量化策略的筛选,然后对原始网络模型中的待量化网络层进行筛选,相比于现有技术基于固定比特的方式对原始网络模型中的每一原始网络层进行量化处理,极大的提高了目标量化模型在精度和计算资源占用之间的平衡。
可选的,本实施例中,原始网络模型可以是目标检测模型,该目标检测模型中的原始网络层包括:点云特征提取层、点云特征融合层和目标检测层。
其中,点云特征提取层用于对包括目标特征的点云数据进行提取。点云特征融合层用于对从点云特征提取层获取的目标特征的点云数据进行融合。目标检测层用于对点云特征融合层融合后的点云数据进行检测,得到目标特征。
本实施例中,假设原始网络模型是目标检测模型,此时可以通过对点云特征提取层、点云特征融合层和目标检测层这三个原始网络层进行量化,来实现对目标检测模型的量化。
为了对确定每一原始网络层的目标量化策略进行理解,本实施例给出了一种针对每一原始网络层确定目标量化策略的可选方式,如图3所示,该方式包括如下步骤:
S301、基于原始网络模型中的每一原始网络层,采用至少两组候选量化策略进行量化,得到每一原始网络层对应的至少两个量化网络层。
具体的,针对每一个原始网络层,依次遍历候选量化策略,得到每一个量化策略下分别对应的量化网络层。也就是说,针对每一个原始网络层,可以得到多个量化策略下对应的多个量化网络层。
具体的,对可选量化方法和可选量化算法进行任意组合,得到至少两组候选量化策略。针对原始网络模型中的每一原始网络层,分别采用至少两组候选量化策略对该点云特征提取层进行量化,得到至少两组量化网络层。假设原始网络层是点云特征提取层,对可选量化方法和可选量化算法进行任意组合,得到10组候选量化策略,可分别采用10组候选量化策略对该点云特征提取层进行量化,得到点云特征提取层对应的10个量化网络层。
S302、确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
具体的,本步骤可以通过如下子步骤来实现确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差的过程:
子步骤一、基于样本输入数据对每一原始网络层进行推理,得到第一推理结果。
本实施例中,样本输入数据可以是任意原始网络模型中的各个原始网络层进行数据推理所使用的数据。可选的,原始网络模型中的每一原始网络层中的样本输入数据可以相同也可以不同。
具体的,可以为原始网络模型中的各个原始网络层构造单算子模型,将样本输入数据输入单算子模型,该单算子模型对输入的样本输入数据进行推理,得到第一推理结果,其中,由于原始网络层是未经量化处理的,所以该第一推理结果是以浮点数的形式表示。可选的,第一推理结果可以是原始网络层输出的激活值。
例如,当原始网络模型为目标检测模型时,点云特征提取层的样本输入数据为原始点云数据,点云特征提取层对原始点云数据进行推理,得到点云特征提取层的推理结果。点云特征融合层的样本输入数据为点云特征数据,该点云特征数据是点云特征提取层的推理结果,该点云特征融合层对点云特征提取层推理的结果进行推理,得到点云特征融合层的推理结果。目标检测层的样本输入数据为点云融合特征数据,该点云融合特征数据可以是点云特征融合层推理的结果,该目标检测层对点云特征融合层推理的结果进行推理,得到目标检测层的推理结果。
子步骤二、基于样本输入数据对每一原始网络层的各量化网络层进行推理,得到第二推理结果。
本实施例中,针对每一原始网络层的每一量化网络层均对应一个第二推理结果,其中,该第二推理结果可以是量化网络层输出的激活值,其中,由于量化网络层是经原始网络层量化得到的,所以该第二推理结果是以整数形式表示的。
针对每一个原始网络层,可以得到多个量化策略下对应的多个量化网络层。将样本输入数据分别输入每一个原始网络层的对应的每一个量化网络层(量化后的单算子模型),该量化网络层对输入的样本输入数据进行推理,得到第二推理结果。
需要说明的是,为了保证确定的每一个原始网络层对输入的样本输入数据的推理,与该原始网络层对应的量化网络层对输入的样本输入数据的推理之间的量化误差准确性。针对原始网络模型中的每一个原始网络层,每一原始网络层的各量化网络层对应的样本输入数据,与原始网络模型中的每一个原始网络层对应的样本输入数据相同。也就是说,每一原始网络层进行推理的样本输入数据与该原始网络层对应的各量化网络层进行推理的样本输入数据相同。
子步骤三、根据每一原始网络层的第一推理结果与第二推理结果,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
可选的,本实施例中,可以是直接计算每一原始网络层的第一推理结果,和该原始网络层的各量化网络层分别对应的第二推理结果的差值,并将该差值作为每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
本实施例中,还可以采用相似度算法,确定每一原始网络层的第一推理结果,与该原始网络层对应的量化网络层的第二推理结果之间的相似度,并基于该相似度,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。需要说明的是,相似度与量化误差成反比关系,相似度越大,量化误差越小。
为了精确的确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差,上述子步骤三的具体实现过程包括:
对每一原始网络层的各量化网络层的第二推理结果进行反量化处理,得到每一原始网络层的第三推理结果;
确定每一原始网络层的第一推理结果与第三推理结果之间的相似度;
根据相似度,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
具体的,由于每一个原始网络层的第一推理结果是以浮点数的形式表示的,每一原始网络层的各量化网络层的第二推理结果是以整数的形式表示的,为了精确的确定每一原始网络层对输入的样本输入数据的推理,与该原始网络层的各量化网络层对输入的样本输入数据的推理之间的量化误差。可以对每一个原始网络层的各个量化网络层对应的各个第二推理结果进行反量化处理,得到每一个原始网络层的至少两个第三推理结果,其中,该第三推理结果浮点数的形式表示,可选的,第三推理结果可以是各个量化网络层输出的激活值。
具体的,采用公式(1)计算原始网络层中每一原始网络层的第一推理结果与该原始网络层对应的各个量化网络层的各个第三推理结果的相似度。
其中,sqrt()是计算平方根的函数,xi为每一原始网络层量化后的各个量化网络层的第三推理结果,yi为每一原始网络层的第一推理结果,N为维度数,S为相似度值。
在得到每一原始网络层对应的第一推理结果与该原始网络层对应的各个量化网络层的各个第三推理结果的相似度,基于各个相似度,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
S303、将每一原始网络层的最小量化误差对应的候选量化策略,作为每一原始网络层的目标量化策略。
在确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差之后,将每一原始网络层的最小量化误差对应的量化网络层的候选量化策略,作为每一原始网络层的目标量化策略。
以上文中描述的原始网络层是点云特征提取层,可分别采用10组候选量化策略对该点云特征提取层进行量化,得到10个量化网络层为例。
假设点云特征提取层对输入的样本输入数据A进行推理,得到第一推理结果A1,第一组候选量化策略对该点云特征提取层进行量化得到第一量化网络层,第一量化网络层对样本输入数据A进行推理,得到第二推理结果B1,对第二推理结果B1进行反量化处理,得到第三推理结果C1,计算第一推理结果A1和第三推理结果C3的相似度,假设二者的相似度是90%。继续采用第二组候选量化策略对该点云特征提取层进行量化得到第二量化网络层,第二量化网络层对样本输入数据B进行推理,得到第二推理结果B2,对第二推理结果B2进行反量化处理,得到第三推理结果C2,计算第一推理结果A1和第三推理结果C2的相似度,假设二者的相似度是95%。依次执行各个量化网络层对样本输入数据X进行推理,得到第二推理结果Xn,对第二推理结果Xn进行反量化处理,得到第三推理结果Cn,计算第一推理结果A1和第三推理结果Cn的相似度,直至获得第10个相似度,其中n是从1到10的正整数。假设10组候选量化策略下依次分别对应的相似度是90%、95%、70%、60%、50%、80%、90%、95%、88%和97%,可以将这些最大相似度值97%对应的候选量化策略,作为点云特征提取层对应的目标量化策略。
本实施例中,可以根据每一原始网络层对样本输入数据进行推理,得到的第一推理结果,以及各量化网络层对样本输入数据的进行推理,得到的第二推理结果;并根据第一推理结果与第二推理结果,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。为了更精确的确定各量化网络层之间的量化误差,还可以对每一原始网络层的各量化网络层的第二推理结果进行反量化处理,得到每一原始网络层的第三推理结果;并基于第一推理结果与第三推理结果之间的相似度,精确的确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差,并将最小量化误差对应的候选量化策略,作为每一原始网络层的目标量化策略,可以精确的确定每一原始网络层的目标量化策略。
为了进一步的保证从原始网络模型中确定待量化网络层的精确性,本实施例给出一种确定原始网络模型中的待量化网络层的可选方式。具体的,如图4所示。
S401、从原始网络模型的各个原始网络层中确定候选量化层。
可选的,可以将原始网络模型中的所有原始网络层均作为候选量化层,也可以是根据最大允许的误差值,将原始网络模型中的量化误差不大于最大允许的误差值误差的各个原始网络层,作为候选量化层,其中,最大允许的误差值根据原始网络模型量化后的精度或速度等要求确定,在此不限定最大允许的误差值的确定方式。或者,只是将原始网络模型中的量化误差最小的原始网络层作为候选量化层。
假设原始网络层包括5个网络层,针对第1个网络层,第1个网络层与该第1个网络层对应的量化网络层之间的量化误差是10%。针对第2个网络层,第2个网络层与该第2个网络层对应的量化网络层之间的量化误差是50%。类似的,第3个网络层与该第3个网络层对应的量化网络层之间的量化误差是20%,第4个网络层与该第4个网络层对应的量化网络层之间的量化误差是5%,第5个网络层与该第5个网络层对应的量化网络层之间的量化误差是30%。
本实施例中,可以将5个网络层均作为候选量化层。或者,假设最大允许的误差值20%,将不大于20%的各个原始网络层,即第1个网络层、第3个网络层和第4个网络层,作为候选量化层。或者,只是将最小量化误差5%对应的第4个网络层作为候选量化层。
S402、判断候选量化模型是否满足量化指标要求,若不满足,则执行S403,否则,执行S404。
其中,候选量化模型基于候选量化层的目标量化策略对原始网络模型进行量化得到。
可选的,量化指标包括推理精度和/或推理速度的指标。即量化指标可以包括推理精度,量化指标还可以包括推理速度的指标,量化指标也可以包括推理精度和推理速度的指标。
本实施例中,从各个原始网络层中确定候选量化层之后,可以基于各个候选量化层对应的目标量化策略,对原始网络模型中的各个候选量化层进行量化,得到候选量化模型。基于测试数据对候选量化模型进行推理精度和/或推理速度的测试;并根据测试结果,确定候选量化模型是否满足推理精度和/或推理速度的量化指标要求。
若候选量化模型不满足推理精度和/或推理速度的量化指标要求,则需要调整候选量化层,此时执行S403。
若候选量化模型满足推理精度和/或推理速度的量化指标要求,则不需要调整候选量化层,此时执行S404。
S403、根据每一原始网络层在目标量化策略下对应的量化误差,调整候选量化层,并基于调整后的候选量化层返回重新判断候选量化模型是否满足量化指标要求,直到满足量化指标要求为止。
可选的,若S401是将原始网络模型中的所有原始网络层均作为候选量化层;则此时可以根据每一原始网络层在目标量化策略下对应的量化误差,将量化误差最大的原始网络层从候选量化层中剔除。
具体的,若将原始网络模型中的所有原始网络层均作为候选量化层时,或者,将原始网络模型中的量化误差不大于最大允许的误差值误差的各个原始网络层,作为候选量化层时,可以将各个候选量化层对应的量化误差从小到大的进行排序,并将量化误差最大的原始网络层从候选量化层中剔除。因为量化误差最大对应的原始网络层在量化后,量化网络层对样本输入数据的推理结果与原始网络层对样本输入数据的推理结果之间的相似度最低,极大的影响了候选量化模型的推理精度和/或推理速度,因此,在确定候选量化模型的推理精度和/或推理速度不满足推理精度的量化指标要求时,需要将量化误差最大的原始网络层从候选量化层中剔除,并基于调整后的候选量化层返回执行S402的操作,直到满足量化指标要求。
假设上述原始网络层中的5个网络层分别对应的量化误差是10%、50%、20%、5%和30%,将原始网络层中的5个网络层均作为候选量化层,并基于5个网络层分别对应的目标量化策略进行量化后,得到候选量化模型,判断候选量化模型是否满足量化指标要求,在候选量化模型不满足量化指标要求时,可以将最大量化误差50%对应的第2个网络层从候选量化层中剔除,基于第1个网络层、第3网络层、第4网络层和第5网络层,重新判断候选量化模型是否满足量化指标要求,循环执行调整候选量化层,并判断候选量化模型是否满足量化指标要求的操作,直到满足量化指标要求为止。
可选的,若S401是将原始网络模型中的量化误差最小的原始网络层作为候选量化层,则此时可以是将除候选量化层之外的其他原始网络层中,量化误差最小的原始网络层添加到候选量化网络层中,并基于调整后的候选量化层返回重新判断候选量化模型是否满足量化指标要求。
具体的,将各个候选量化层对应的量化误差从小到大的进行排序之后,将量化误差最小对应的原始网络层作为候选量化层。因为量化误差最小的原始网络层在量化后,量化网络层对样本输入数据的推理结果与原始网络层对样本输入数据的推理结果之间的相似度最高,候选量化模型的推理精度较高,可能候选量化模型的推理精度远大于量化指标,因此,可以将除候选量化层之外的其他原始网络层中,将量化误差最小的原始网络层添加到候选量化网络层中,并基于调整后的候选量化层返回执行S402的操作,直到满足量化指标要求。
假设上述原始网络层中的5个网络层分别对应的量化误差是10%、50%、20%、5%和30%,首先将量化误差最小5%对应的第4个网络层作为候选量化层,并基于第4个网络层对应的目标量化策略对第4个网络层进行量化后,得到的候选量化模型,判断候选量化模型是否满足量化指标要求,在候选量化模型满足量化指标要求时,可以将除第4个网络层之外的其他原始网络层中,将最小量化误差10%对应的第1个网络层添加到候选量化网络层中,并基于调整后的第1个网络层和第4个网络层返回重新判断候选量化模型是否满足量化指标要求。循环执行调整候选量化层,并判断候选量化模型是否满足量化指标要求的操作,直到满足量化指标要求为止。
S404、将候选量化层作为原始网络模型中的待量化网络层。
需要说明的是,本实施例也可以S402中确定候选量化模型满足量化指标要求的情况下,直接将候选量化模型作为目标量化模型,并输出目标量化模型和每一原始网络层对应的目标量化策略。
本实施例中,可以调整各个候选量化层,即当量化后的各量化网络层对样本输入数据的推理结果与量化前的原始网络层对样本输入数据的推理结果之间的量化误差较大时,可以对该原始网络层取消量化,从而避免量化导致精度过低或计算速度过慢等问题,因此,本申请可以很好的平衡量化过程中精度与计算资源占用的关系。
在上述实施例的基础上,本实施例提供了一种模型量化方法的可选实现方式,如图5所示,该方法包括以下步骤:
S501、基于样本输入数据对每一原始网络层进行推理,得到第一推理结果。
S502、基于原始网络模型中的每一原始网络层,采用至少两组候选量化策略进行量化,得到每一原始网络层对应的至少两个量化网络层。
S503、基于样本输入数据对每一原始网络层的各量化网络层进行推理,得到第二推理结果。
S504、对每一原始网络层的各量化网络层的第二推理结果进行反量化处理,得到每一原始网络层的第三推理结果。
S505、确定每一原始网络层的第一推理结果与第三推理结果之间的相似度。
S506、根据相似度,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
S507、将每一原始网络层的最小量化误差对应的候选量化策略,作为每一原始网络层的目标量化策略。
S508、将原始网络模型中的所有原始网络层均作为候选量化层。
S509、基于候选量化层的目标量化策略对原始网络模型进行量化得到候选量化模型。
S510、判断候选量化模型是否满足量化指标要求;若否,则执行S511,若是,则执行S512。
S511、根据每一原始网络层在目标量化策略下对应的量化误差,将量化误差最大的原始网络层从候选量化层中剔除,并基于剔除后的候选量化层返回执行S509的操作。
S512、将候选量化层作为原始网络模型中的待量化网络层。
S513、根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
需要说明的是,本实施例也可以S510中确定候选量化模型满足量化指标要求的情况下,直接将候选量化模型作为目标量化模型,并输出目标量化模型和每一原始网络层对应的目标量化策略。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的模型量化方法的一种模型量化装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案和有益效果相似,故下面所提供的一个或多个一种模型量化装置实施例中的具体限定可以参见上文中对于一种模型量化方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种模型量化装置,包括:
第一确定模块601,用于根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;
第二确定模块602,用于根据每一原始网络层在所述目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;
量化模块603,用于根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
在其中一个实施例中,如图7所示,上图6中的第一确定模块601,还包括:
量化单元6011,用于基于原始网络模型中的每一原始网络层,采用至少两组候选量化策略进行量化,得到每一原始网络层对应的至少两个量化网络层;
第一确定单元6012,用于确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差;
第二确定单元6013,用于将每一原始网络层的最小量化误差对应的候选量化策略,作为每一原始网络层的目标量化策略。
在其中一个实施例中,第一确定单元6012包括:
第一推理子单元,用于基于样本输入数据对每一原始网络层进行推理,得到第一推理结果;
第二推理子单元,用于基于样本输入数据对每一原始网络层的各量化网络层进行推理,得到第二推理结果;
第一确定子单元,用于根据每一原始网络层的第一推理结果与第二推理结果,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
在其中一个实施例中,第一确定子单元,具体用于:
对每一原始网络层的各量化网络层的第二推理结果进行反量化处理,得到每一原始网络层的第三推理结果;
确定每一原始网络层的第一推理结果与第三推理结果之间的相似度;
根据相似度,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
在其中一个实施例中,如图8所示,在上述图6-7任意一个的基础上,第二确定模块602,
第三确定单元6021,用于从原始网络模型的各个原始网络层中确定候选量化层;
判断单元6022,用于判断候选量化模型是否满足量化指标要求;其中,候选量化模型基于候选量化层的目标量化策略对原始网络模型进行量化得到;
调整单元6023,用于在不满足量化指标要求时,根据每一原始网络层在所述目标量化策略下对应的量化误差,调整候选量化层,并基于调整后的候选量化层返回执行判断单元6022的操作,直到满足量化指标要求为止。
在其中一个实施例中,第三确定单元6021具体用于:将原始网络模型中的所有原始网络层均作为候选量化层;
相应的,调整判断单元6023具体用于:根据每一原始网络层在目标量化策略下对应的量化误差,将量化误差最大的原始网络层从候选量化层中剔除。
在其中一个实施例中,原始网络模型为目标检测模型,目标检测模型中的原始网络层包括:点云特征提取层、点云特征融合层和目标检测层。
上述模型量化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现模型量化方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
在其中一个实施例中,根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略,包括:基于原始网络模型中的每一原始网络层,采用至少两组候选量化策略进行量化,得到每一原始网络层对应的至少两个量化网络层;确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差;将每一原始网络层的最小量化误差对应的候选量化策略,作为每一原始网络层的目标量化策略。
在其中一个实施例中,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差,包括:基于样本输入数据对每一原始网络层进行推理,得到第一推理结果;基于样本输入数据对每一原始网络层的各量化网络层进行推理,得到第二推理结果;根据每一原始网络层的第一推理结果与第二推理结果,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
在其中一个实施例中,根据每一原始网络层的第一推理结果与第二推理结果,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差,包括:对每一原始网络层的各量化网络层的第二推理结果进行反量化处理,得到每一原始网络层的第三推理结果;确定每一原始网络层的第一推理结果与第三推理结果之间的相似度;根据相似度,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
在其中一个实施例中,根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层,包括:从原始网络模型的各个原始网络层中确定候选量化层;判断候选量化模型是否满足量化指标要求;其中,候选量化模型基于候选量化层的目标量化策略对原始网络模型进行量化得到;若不满足,则根据每一原始网络层在目标量化策略下对应的量化误差,调整候选量化层,并基于调整后的候选量化层返回重新判断候选量化模型是否满足量化指标要求,直到满足量化指标要求为止。
在其中一个实施例中,从原始网络模型的各个原始网络层中确定候选量化层,包括:将原始网络模型中的所有原始网络层均作为候选量化层;相应的,根据每一原始网络层在目标量化策略下对应的量化误差,调整候选量化层,包括:根据每一原始网络层在目标量化策略下对应的量化误差,将量化误差最大的原始网络层从候选量化层中剔除。
在其中一个实施例中,原始网络模型为目标检测模型,目标检测模型中的原始网络层包括:点云特征提取层、点云特征融合层和目标检测层。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
在其中一个实施例中,根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略,包括:基于原始网络模型中的每一原始网络层,采用至少两组候选量化策略进行量化,得到每一原始网络层对应的至少两个量化网络层;确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差;将每一原始网络层的最小量化误差对应的候选量化策略,作为每一原始网络层的目标量化策略。
在其中一个实施例中,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差,包括:基于样本输入数据对每一原始网络层进行推理,得到第一推理结果;基于样本输入数据对每一原始网络层的各量化网络层进行推理,得到第二推理结果;根据每一原始网络层的第一推理结果与第二推理结果,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
在其中一个实施例中,根据每一原始网络层的第一推理结果与第二推理结果,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差,包括:对每一原始网络层的各量化网络层的第二推理结果进行反量化处理,得到每一原始网络层的第三推理结果;确定每一原始网络层的第一推理结果与第三推理结果之间的相似度;根据相似度,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
在其中一个实施例中,根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层,包括:从原始网络模型的各个原始网络层中确定候选量化层;判断候选量化模型是否满足量化指标要求;其中,候选量化模型基于候选量化层的目标量化策略对原始网络模型进行量化得到;若不满足,则根据每一原始网络层在目标量化策略下对应的量化误差,调整候选量化层,并基于调整后的候选量化层返回重新判断候选量化模型是否满足量化指标要求,直到满足量化指标要求为止。
在其中一个实施例中,从原始网络模型的各个原始网络层中确定候选量化层,包括:将原始网络模型中的所有原始网络层均作为候选量化层;相应的,根据每一原始网络层在目标量化策略下对应的量化误差,调整候选量化层,包括:根据每一原始网络层在目标量化策略下对应的量化误差,将量化误差最大的原始网络层从候选量化层中剔除。
在其中一个实施例中,原始网络模型为目标检测模型,目标检测模型中的原始网络层包括:点云特征提取层、点云特征融合层和目标检测层。
本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略;根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层;根据待量化网络层的目标量化策略,对原始网络模型进行量化处理,得到目标量化模型。
在其中一个实施例中,根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从至少两组候选量化策略中,为每一原始网络层确定目标量化策略,包括:基于原始网络模型中的每一原始网络层,采用至少两组候选量化策略进行量化,得到每一原始网络层对应的至少两个量化网络层;确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差;将每一原始网络层的最小量化误差对应的候选量化策略,作为每一原始网络层的目标量化策略。
在其中一个实施例中,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差,包括:基于样本输入数据对每一原始网络层进行推理,得到第一推理结果;基于样本输入数据对每一原始网络层的各量化网络层进行推理,得到第二推理结果;根据每一原始网络层的第一推理结果与第二推理结果,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
在其中一个实施例中,根据每一原始网络层的第一推理结果与第二推理结果,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差,包括:对每一原始网络层的各量化网络层的第二推理结果进行反量化处理,得到每一原始网络层的第三推理结果;确定每一原始网络层的第一推理结果与第三推理结果之间的相似度;根据相似度,确定每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
在其中一个实施例中,根据每一原始网络层在目标量化策略下对应的量化误差,确定原始网络模型中的待量化网络层,包括:从原始网络模型的各个原始网络层中确定候选量化层;判断候选量化模型是否满足量化指标要求;其中,候选量化模型基于候选量化层的目标量化策略对原始网络模型进行量化得到;若不满足,则根据每一原始网络层在目标量化策略下对应的量化误差,调整候选量化层,并基于调整后的候选量化层返回重新判断候选量化模型是否满足量化指标要求,直到满足量化指标要求为止。
在其中一个实施例中,从原始网络模型的各个原始网络层中确定候选量化层,包括:将原始网络模型中的所有原始网络层均作为候选量化层;相应的,根据每一原始网络层在目标量化策略下对应的量化误差,调整候选量化层,包括:根据每一原始网络层在目标量化策略下对应的量化误差,将量化误差最大的原始网络层从候选量化层中剔除。
在其中一个实施例中,原始网络模型为目标检测模型,目标检测模型中的原始网络层包括:点云特征提取层、点云特征融合层和目标检测层。
需要说明的是,本申请所涉及的数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种模型量化方法,其特征在于,所述方法包括:
根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从所述至少两组候选量化策略中,为所述每一原始网络层确定目标量化策略;
根据所述每一原始网络层在所述目标量化策略下对应的量化误差,确定所述原始网络模型中的待量化网络层;
根据所述待量化网络层的所述目标量化策略,对所述原始网络模型进行量化处理,得到目标量化模型。
2.根据权利要求1所述的方法,其特征在于,根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从所述至少两组候选量化策略中,为每一原始网络层确定目标量化策略,包括:
基于所述原始网络模型中的所述每一原始网络层,采用所述至少两组候选量化策略进行量化,得到所述每一原始网络层对应的至少两个量化网络层;
确定所述每一原始网络层与该原始网络层的各量化网络层之间的量化误差;
将所述每一原始网络层的最小量化误差对应的候选量化策略,作为所述每一原始网络层的目标量化策略。
3.根据权利要求2所述的方法,其特征在于,确定所述每一原始网络层与该原始网络层的各量化网络层之间的量化误差,包括:
基于样本输入数据对所述每一原始网络层进行推理,得到第一推理结果;
基于所述样本输入数据对所述每一原始网络层的各量化网络层进行推理,得到第二推理结果;
根据所述每一原始网络层的所述第一推理结果与所述第二推理结果,确定所述每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
4.根据权利要求3所述的方法,其特征在于,根据所述每一原始网络层的所述第一推理结果与所述第二推理结果,确定所述每一原始网络层与该原始网络层的各量化网络层之间的量化误差,包括:
对所述每一原始网络层的各量化网络层的所述第二推理结果进行反量化处理,得到所述每一原始网络层的第三推理结果;
确定所述每一原始网络层的所述第一推理结果与所述第三推理结果之间的相似度;
根据所述相似度,确定所述每一原始网络层与该原始网络层的各量化网络层之间的量化误差。
5.根据权利要求1所述的方法,其特征在于,根据所述每一原始网络层在所述目标量化策略下对应的量化误差,确定所述原始网络模型中的待量化网络层,包括:
从所述原始网络模型的各个原始网络层中确定候选量化层;
判断候选量化模型是否满足量化指标要求;其中,所述候选量化模型基于所述候选量化层的目标量化策略对所述原始网络模型进行量化得到;
若不满足,则根据所述每一原始网络层在所述目标量化策略下对应的量化误差,调整所述候选量化层,并基于调整后的所述候选量化层返回重新判断所述候选量化模型是否满足量化指标要求,直到满足所述量化指标要求为止。
6.根据权利要求5所述的方法,其特征在于,从所述原始网络模型的各个原始网络层中确定候选量化层,包括:
将所述原始网络模型中的所有原始网络层均作为所述候选量化层;
相应的,根据所述每一原始网络层在所述目标量化策略下对应的量化误差,调整所述候选量化层,包括:
根据所述每一原始网络层在所述目标量化策略下对应的量化误差,将所述量化误差最大的所述原始网络层从所述候选量化层中剔除。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述原始网络模型为目标检测模型,所述目标检测模型中的原始网络层包括:点云特征提取层、点云特征融合层和目标检测层。
8.一种模型量化装置,其特征在于,所述装置包括:
第一确定模块,用于根据原始网络模型中的每一原始网络层在至少两组候选量化策略下对应的量化误差,从所述至少两组候选量化策略中,为所述每一原始网络层确定目标量化策略;
第二确定模块,用于根据所述每一原始网络层在所述目标量化策略下对应的量化误差,确定所述原始网络模型中的待量化网络层;
量化模块,用于根据所述待量化网络层的所述目标量化策略,对所述原始网络模型进行量化处理,得到目标量化模型。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310659920.3A CN116702859A (zh) | 2023-06-05 | 2023-06-05 | 模型量化方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310659920.3A CN116702859A (zh) | 2023-06-05 | 2023-06-05 | 模型量化方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116702859A true CN116702859A (zh) | 2023-09-05 |
Family
ID=87830624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310659920.3A Pending CN116702859A (zh) | 2023-06-05 | 2023-06-05 | 模型量化方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116702859A (zh) |
-
2023
- 2023-06-05 CN CN202310659920.3A patent/CN116702859A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111105017A (zh) | 神经网络量化方法、装置及电子设备 | |
CN114359563A (zh) | 模型训练方法、装置、计算机设备和存储介质 | |
CN116737373A (zh) | 负载均衡方法、装置、计算机设备、存储介质 | |
CN116894721A (zh) | 一种指标预测方法、装置、计算机设备 | |
CN116702859A (zh) | 模型量化方法、装置、计算机设备和存储介质 | |
CN116187387A (zh) | 神经网络模型量化方法、装置、计算机设备和存储介质 | |
CN115761239B (zh) | 一种语义分割方法及相关装置 | |
CN113344181B (zh) | 神经网络的结构搜索方法、装置、计算机设备及存储介质 | |
CN117235584B (zh) | 图数据分类方法、装置、电子装置和存储介质 | |
CN116894802B (zh) | 图像增强方法、装置、计算机设备和存储介质 | |
CN116630629B (zh) | 基于域适应的语义分割方法、装置、设备及存储介质 | |
CN117076093B (zh) | 一种基于机器学习的存储资源调度方法、装置及存储介质 | |
CN113962365A (zh) | 神经网络的量化方法、装置、计算机设备及存储介质 | |
US20220300818A1 (en) | Structure optimization apparatus, structure optimization method, and computer-readable recording medium | |
CN117669646A (zh) | 模型结构搜索方法、装置、计算机设备、存储介质 | |
CN114329918A (zh) | 构件化软件系统的分析方法、装置、设备和存储介质 | |
CN117540792A (zh) | 网络混合压缩方法、装置、计算机设备和存储介质 | |
CN116205281A (zh) | 网络模型量化方法、装置、计算机设备及其存储介质 | |
CN118069478A (zh) | 芯片算力确定方法、装置、计算机设备和存储介质 | |
CN116205392A (zh) | 车辆路线的确定方法、装置、计算机设备和存储介质 | |
CN117437994A (zh) | 非晶合金动力学性能的预测方法、装置、设备和存储介质 | |
CN117009121A (zh) | 设备异常检测方法、装置、计算机设备和存储介质 | |
CN117113182A (zh) | 分布外数据检测方法、装置、计算机设备和存储介质 | |
CN117975473A (zh) | 票据文本检测模型训练及检测方法、装置、设备和介质 | |
CN116562834A (zh) | 面试结果评估方法、装置、设备、存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |