CN113947206A - 一种深度神经网络量化方法及系统及装置及介质 - Google Patents
一种深度神经网络量化方法及系统及装置及介质 Download PDFInfo
- Publication number
- CN113947206A CN113947206A CN202111558843.XA CN202111558843A CN113947206A CN 113947206 A CN113947206 A CN 113947206A CN 202111558843 A CN202111558843 A CN 202111558843A CN 113947206 A CN113947206 A CN 113947206A
- Authority
- CN
- China
- Prior art keywords
- quantization
- layer
- neural network
- layers
- deep neural
- 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
Images
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/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Abstract
Description
技术领域
本发明涉及神经网络量化领域,具体地,涉及一种深度神经网络量化方法及系统及装置及介质。
背景技术
深度神经网络模型被广泛应用在图像分类、目标检测等机器视觉任务中,并取得了巨大成功。然而,由于存储资源和计算资源的限制,深度神经网络模型在移动端或嵌入式设备上的存储与计算仍然面临巨大挑战,因此深度神经网络的压缩和轻量化是一个亟待解决的问题。近年来,研究者们已经在深度神经网络的压缩方向取得了很多研究成果,其中,量化是压缩深度神经网络的方法之一。
一般的,深度神经网络使用float32位数字表示的参数进行卷积、激活、批归一化等计算。在推理阶段,深度神经网络只需要进行一次前向传播,可能不需要很高的数字计算精度。float32位数字占4个字节,表示的精度过高,显得有些冗余,因此可将网络参数以占2个字节的float16位或1个字节的int8(8位整数型)位进行表示,分别称为fp16(FloatPoint 16-16位浮点型数字)量化和int8量化。
大量的研究和实验表明,fp16量化可以在不损失深度神经网络精度的条件下提升其推理速度,并且可以减少推理时的运行内存。位数更少的int8量化相比于fp16量化有更快的推理速度,然而由于int8量化是将原本卷积神经网络中的fp32(Float Point 32-32位浮点型数字)位的特征层和权重参数均匀的分到[-127, 127]的整数区间内,这些参数损失的精度更高,使得某些模型进行int8量化以后推理精度降低。
部分量化是恢复int8量化模型损失精度的方法之一。部分量化是在int8量化的深度神经网络模型中,选择若干个神经网络层的参数以float32位数字表示,这样的神经网络层称为非量化层,这种同时有int8量化参数和fp32参数表示的模型称为混合精度量化模型。相比于int8量化模型,混合精度量化模型推理速度会降低,但是可以一定程度恢复int8量化模型损失的精度。
可以看出,混合精度量化模型的推理速度和精度恢复程度是一个权衡问题,一般来说,fp32精度的层数越多,推理速度越慢,精度相对会更高。因此,部分量化的目的是使混合精度量化模型的精度损失在一定范围内,找到最少的非量化层;即优化以下公式:
发明内容
本发明目的是降低量化的时间复杂度并且能够同时找到一个局部最优的量化层组合。
为实现上述目的,本发明提供了一种深度神经网络量化方法,所述方法包括:
其中,本方法使用二分法,针对fp32位神经网络在全部量化int8表示的神经网络以后模型精度损失严重的问题,本方法意图在int8位量化的神经网络中找到对网络准确率影响最大的若干个层,本发明称这些层为非量化层(其余层称为量化层),将这些层还原成fp32位表示,而其余层依旧进行int8位的量化,使整个fp32位和int8位混合精度表示的神经网络在给定测试任务上的准确率相比于原始的fp32位神经网络准确率下降程度在一定阈值之内,同时使得非量化层数尽可能少,量化层数尽可能多。
本发明查找非量化层的思路为:int8位量化模型精度损失主要是因为神经网络中某些层对精度比较敏感,这些层被量化后精度损失较大;而有些层相对不敏感,这些不敏感的层被量化后不会明显降低模型精度。因此,本发明在进行部分量化时,默认平均量化一层神经网络至多只能产生的精度损失,为精度损失阈值,n为神经网络层数。若量化b层精度损失小或等于,则说明这b层都属于不敏感层,均可被量化;否则,这b层中一定存在若干个敏感层,本方案的目的即是找到这些敏感层。
所述预设查找步骤包括:
步骤1:若,则所述中第i至第j层所述神经网络层之间的量化层查找结果为空;若,且,则所述中第i至第j层所述神经网络层之间的量化层查找结果为第i层;若,且,则所述中第i至第j层所述神经网络层之间的量化层查找结果为空;
优选的,本方法中将所述量化层量化具体为:将量化层的参数采用8位整数型数据表示。8位整数型数据与32位浮点型数据相比占用空间小,能够有效实现模型的量化。
优选的,本方法中深度神经网络的准确率获取方式为:利用测试集数据测试深度神经网络,获得深度神经网络的准确率。
从所述测试集中随机选择若干批次数据对所述第二深度神经网络的激活层定标以确定每一个激活层的量化尺度,利用所述测试集对所述第二深度神经网络进行多次推理分别获得多个推理准确率,求取所述多个推理准确率的平均值获得所述。为了确保鲁棒性,定标传入的若干批次测试数据集选取需要有随机性,每一套参数(i, j)的神经网络要以随机定标的方法进行5次int8量化推理,以5次推理准确率的平均值作为的结果。
本发明还提供了一种深度神经网络量化系统,所述系统包括:
本发明还提供了一种深度神经网络量化装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述深度神经网络量化方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述深度神经网络量化方法的步骤。
本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明提出的使用二分算法进行部分量化的方法具有相当低的时间复杂度。从算法流程中很容易计算本方案的时间复杂度为O(log(n))。具体地,若有k个非量化层,则时间复杂度近似为O(k*log(n))。在实际应用中,一般几个非量化层就可以将精度损失控制在一定范围内,因此k值一般比较小,O(k*log(n))的复杂度可近似为O(log(n))。一些深层的神经网络模型进行部分量化时,如YoloV4,该方案有绝对的速度优势,并且此方案能同时找到一个局部最优的量化层组合。
本发明应用普适性强,效率高。体现在模型评价标准简单(只使用模型推理准确率),没有多余的超参数(只有一个自定义的精度损失阈值),进行部分量化的算法也是端到端的,算法执行完毕即可以输出满足条件的最优的量化层组合,并可以同时计算出这个最优量化层组合的混合精度量化模型准确率。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明的一部分,并不构成对本发明实施例的限定;
图1为深度神经网络量化方法的流程示意图;
图2为深度神经网络量化系统的组成示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
实施例一
请参考图1,图1为深度神经网络量化方法的流程示意图,本发明实施例一提供了一种深度神经网络量化方法,所述方法包括:
下面结合具体的例子和现有的深度神经网络优化方法对本方法进行详细的介绍:
本实施例首先介绍与本发明相关的现有技术,目的是凸显本方法的区别和进步:
现有技术1:
此技术对深度神经网络所有层进行敏感度分析,优先选择敏感度更高的层作为非量化层。第i个神经网络层的敏感度定义为:fp32位深度神经网络中只将第i层进行int8量化,得到的混合精度量化神经网络推理精度相较于原始fp32位网络推理精度的损失值。其具体的算法流程为:
(4)按照敏感度从大到小对神经网络层进行排序,取前k个层作为非量化层,其余层作为量化层进行int8量化,k为满足混合精度量化模型精度要求的最小值。
现有技术1方案的缺点是:
(1)此方案用控制变量的思想独立分析每一层的敏感度,随后选择敏感度最高的几层作为非量化层,思路合理,但是其并未同时对多个层做非量化分析推理精度,因此可能会失去一些具有高精度的非量化层的组合。
(2)此方案时间复杂度为O(n),n为深度神经网络的层数。在一些比较复杂的网络上,如目标检测网络或目标分割网络等,网络层数多,推理时间长,该方案会很耗时。
现有技术2:
此技术方案是对现有技术1方案的改进,首先自定义一个目标函数:
其中,S表示混合精度量化神经网络中的量化层集合,该方案以一个参数来权衡网络的精度和速度。越大,公式(3)更倾向于最小化右边的量化层S参数量部分,参数量越多,量化层越多,网络推理速度更快;越小,公式(3)更倾向于最小化左边的精度部分,一个极端情况,时,网络为全fp32位表示,即S为空集时公式(3)取得最优解。
此技术方案寻找量化层的算法流程为:
(1)初始化V为神经网络所有层的集合,S为空集;
方案缺点:
(1)此方案作为对现有技术1方案的改进,以最大化目标函数的方法代替敏感度分析,并且通过贪心算法一步步迭代找到了一个局部最优的量化层组合。然而该方案的时间复杂度过高,从算法流程中易知其时间复杂度为O(n2),n为深度神经网络的层数,对超过百层的深度神经网络,该方案的时间消耗是难以接受的。
(2)此方案的核心是目标函数,也是唯一的模型评价指标。其中的超参数的选择过于抽象,在不同的模型,不同的任务,不同的精度损失阈值中,选择都有很大差异,很难选定到一个非常合适的值去度量。原方案中也并未介绍如何去选择一个适当的方法。
现有技术3:
此技术方案参考DARTS的方法,使用神经网络架构自动搜索技术(NAS),去搜索每一个神经网络层的量化位数(8位,4位,2位,1位)。该方案首先定义一个超网络,表示其中一个混合精度量化网络,表示混合精度量化网络结构,表明了每一层的量化位数,表示网络权重参数,和都是可导的。接着定义一个包含推理准确率,各层参数量和量化位数的一个目标函数:
定义搜索空间之后,即可以梯度下降的方法进行优化,先固定不变优化超网络中的权重参数,迭代一定次数以后再固定不变,优化结构参数。迭代若干轮后采样几组网络结构在数据集上重新进行训练和验证,从其中选取较好的网络结构。
此技术方案寻找量化层的算法流程为:
(4)从中采样若干个混合精度量化神经网络结构存入Q A 中。
(5)Q A 中每一个网络结构都在数据集上重新训练至收敛后在测试集上进行验证,从中选出需要的网络结构和权重参数。
方案缺点:
(1)此方案使用NAS直接去搜索每一层神经网络的量化位数,而非固定的8位量化,最后能搜索出一个精度尚可的混合精度量化神经网络,推理速度快,模型压缩空间大。然而本方案设计复杂程度过高,目标函数参数量多,使用门槛高,实用性和适用性不强。
(2)此方案搜索空间大,待优化参数多,结构复杂,NAS搜索策略中,搜索时间是一个巨大的消耗。如ResNet18,只有30个卷积层和激活层,此方案搜索ResNet18的一个混合精度量化网络结构使用了8个GPU(图形处理器),花费了5个小时。在一些几百层的网络结构上,该方案的搜索时间可能让人难以接受。
与上述3种方案不同的是,本实施例中的深度神经网络量化方法此发明方案要解决现有的部分量化方法的高时间复杂度问题,同时也能找到一个局部最优量化层组合,具体地:
本方法能够解决高时间复杂度问题。现有的部分量化方法都要在fp32位表示的神经网络中逐个对每一层神经网络层进行int8量化,复杂度为O(n)或O(n2),n为神经网络的层数,即深度神经网络需要该测试数据集上推理至少n次或n2次,才能得到这n层神经网络中的量化层组合。
本方法能够选择一个局部最优量化层组合。全局最优量化层组合时间复杂度为O(2n),因此只能设计启发式方法寻找局部最优组合。现有技术1中逐层遍历得到每个神经网络层对int8量化的敏感度只是选择单层非量化网络层的最优解,以多个这样的局部最优解来决定哪些层要进行非量化会错失可能较好的量化层组合。
本方法使用二分法,针对fp32位神经网络在全部量化int8表示的神经网络以后模型精度损失严重的问题,我们意图在int8位量化的神经网络中找到对网络准确率影响最大的若干个层,我们称这些层为非量化层(其余层称为量化层),将这些层还原成fp32位表示,而其余层依旧进行int8位的量化,使整个fp32位和int8位混合精度表示的神经网络在给定测试任务上的准确率相比于原始的fp32位神经网络准确率下降程度在一定阈值之内,同时使得非量化层数尽可能少,量化层数尽可能多。
本方案查找非量化层的思路为:int8位量化模型精度损失主要是因为神经网络中某些层对精度比较敏感,这些层被量化后精度损失较大;而有些层相对不敏感,这些不敏感的层被量化后不会明显降低模型精度。因此,本方案在进行部分量化时,默认平均量化一层神经网络至多只能产生的精度损失,为精度损失阈值,n为神经网络层数。若量化b层精度损失小或等于,则说明这b层都属于不敏感层,均可被量化;否则,这b层中一定存在若干个敏感层,本方案的目的即是找到这些敏感层。
具体地,对于n层fp32位量化的神经网络:
首先取第1至第n/2个神经网络层,只将这n/2个神经网络层进行int8位量化,用整个神经网络在测试集上进行测试,若准确率相比于原始的fp32位神经网络下降值小于或等于某个阈值,则说明这n/2个神经网络层中不存在非量化层,在后续过程中均可以用int8量化进行神经网络的推理;若精度率下降值大于阈值,则说明这n/2个神经网络层中存在非量化层,这时候要继续对这n/2个神经层使用二分法寻找非量化层,直到被二分的神经网络只剩一层,不能继续执行二分法为止。
随后寻找第n/2至第n个神经网络层,由于第1至第n/2个神经网络层中的量化层已经找到,将这些层量化成int8位,再以上述流程判断第n/2至第n层中是否存在非量化层,若不存在,则算法结束;若存在,再对第n/2至第n层继续二分寻找非量化层。
本发明目标是找到非量化层集合,而实际上量化层集合就是非量化层集合关于全集的补集,找到量化层集合就相当于找到了非量化层集合。为了计算和说明方便,以下方案步骤均以寻找量化层集合为目的,本方案使用的递归算法也以量化层集合为返回值。
假设整个神经网络有n层,定义find_layer(i, j)为算法在网络第i层至第j层之间寻找到的量化层集合。qi表示神经网络在第i层之前找到的量化层集合,M(i, j)表示神经网络量化第i层至第j层以及qi层的推理准确率。
网络的int8量化推理时需要将每一个被激活后的特征层(以下简称激活层)和卷积网络参数都进行int8量化,每一层卷积网络参数的int8量化可以在获取到原始的float32位网络参数之后统计其最大值和最小值进行,但是每个特征层的数据只有在网络进行推理时才能生成,如果在int8量化推理过程中统计每一个激活层的最大最小值或其分布情况再对激活层进行int8量化,势必会影响量化推理速度。因此,在生成int8量化模型之前,要从测试数据随机选取几个批次送入网络中,提前统计每个激活层的最大最小值和分布情况,确定激活层的量化尺度,称为定标。根据现有技术1,常用的定标方法分为最大值定标,百分位定标,交叉熵定标三种方法。本方案中采用99.999%百分位定标的方法,即将每一个特征层中最大0.001%的值视为极值,量化时直接映射到int8位的最大整数。
为了确保鲁棒性,定标传入的若干批次测试数据集选取需要有随机性,每一套参数(i, j)的神经网络要以随机定标的方法进行5次int8量化推理,以5次推理准确率的平均值作为M(i, j)的结果。
本方法要先给定一个基础的fp32位表示的神经网络,测试集,在GPU端使用在上进行推理得到基础神经网络准确率,以及将神经网络进行int8量化或int8部分量化后最高接受的准确率损失阈值。中有n个神经网络层。
根据以上算法,首先执行以下初始化步骤:
给定一个基础的fp32位表示的n层神经网络,测试集,在GPU端使用在上进行推理得到基础神经网络准确率,设定一个量化模型最高接受的准确率损失阈值。定义为:中取第i至第j,以及集合qi所表示的层进行int8量化)以随机定标的方法量化并推理5次,这5次推理准确率的平均值作为该参数(i,j)量化模型的准确率。初始化,,。
本方案的整体流程如下:
本方案提出的使用二分算法进行部分量化的方法具有相当低的时间复杂度。从算法流程中很容易计算本方案的时间复杂度为O(log(n))。具体地,若有k个非量化层,则时间复杂度近似为O(k*log(n))。在实际应用中,一般几个非量化层就可以将精度损失控制在一定范围内,因此k值一般比较小,O(k*log(n))的复杂度可近似为O(log(n))。一些深层的神经网络模型进行部分量化时,如YoloV4,该方案有绝对的速度优势,并且此方案能同时找到一个局部最优的量化层组合。
本方案应用普适性强,效率高。体现在模型评价标准简单(只使用模型推理准确率),没有多余的超参数(只有一个自定义的精度损失阈值),进行部分量化的算法也是端到端的,算法执行完毕即可以输出满足条件的最优的量化层组合,并可以同时计算出这个最优量化层组合的混合精度量化模型准确率。
本方案以YoloV4在Pascal Voc2012数据集(测试集)上的目标检测模型为基准fp32网络模型,有399个神经网络层(只计算卷积层和激活层,因为量化只对这两种层实施)。在GPU端使用在上进行推理得到基础神经网络准确率(MAP),对进行全int8量化之后准确率为,准确率损失为3.6%。设定量化模型最高接受的准确率损失阈值。本小节的量化和部分量化实验均在TensorRT(深度学习框架)架构上进行。
本实施示例中展示了本方案的部分量化过程和结果,并对比了现有技术1的部分量化结果。现有技术2和现有技术3由于时间复杂度过高未进行实验。
本方案的实施步骤如下:
(1)将区间[1, 399]二分为[1, 200]和[201, 399]两个区间,只将[1, 200]的所有层进行量化得到准确率78.31%,准确率损失为2.85%,大于阈值0.501%,因此在[1, 200]区间内继续二分区间为[1, 100]和[101, 200]。
(2)只将区间[1, 100]的所有层进行量化得到准确率78.82%,准确率损失为2.34%,大于阈值0.25%,因此继续对二分区间[1, 100]为[1, 50]和[51, 100]。
(3)只将区间[1, 50]的所有层进行量化,得到准确率79.89%,准确率损失为1.27%,大于阈值0.125%,在区间[1, 50]中继续进行二分,只量化[1, 25]层的准确率为81.14%,准确率损失为0.02%,小于阈值0.0625%,满足精度要求,因此区间[1, 25]中各层均可被量化,在寻找后面的量化层时区间[1, 25]中的层一直处于量化状态。
(4)在区间[26, 50]中继续二分查找可找到一个非量化层第45层Tanh层(Tanh-双曲正切函数)。
(5)在区间[51, 100]中查找时,区间[1, 50]中除第45层之外的其余49层均进行量化操作,在区间[51, 100]中能找到两个非量化层,第80层Tanh层和第84层Tanh层。
(6)在区间[101, 200]中查找时,区间[1, 100]中除第45,80,84层之外的其余97层均进行量化操作,再将区间[101, 200]中所有层进行量化推理准确率为80.85%,精度损失为0.31%,小于阈值197/399*1%=0.49%,因此区间[101, 200]中所有层全部为量化层。
(7)在区间[201, 399]中查找时,区间[1, 200]中除第45,80,84层之外的其余197层均进行量化操作,再量化区间[201, 399]中所有层推理精度为78.23%,准确率损失为2.93%,大于阈值0.5%,因此需继续划分区间[201, 399]为区间[201, 300]和区间[301,399]。
(8)在区间[201, 300]中寻找到非量化层第270层Tanh层,在区间[301, 399]中找到非量化层第397层Conv层、398层LeakyRelu层、399层Conv层(Conv-卷积、LeakyRelu-带泄露的修正线性单元函数)。
该方案最终找到392个量化层和7个非量化层,混合精度量化模型推理准确率为80.31%,准确率损失为0.85%。这7个非量化层为:45_Tanh、80_Tanh、84_Tanh、270_Tanh、397_Conv、398_LeakyRelu、399_Conv。
两种方案的部分量化实验结果见表1。
表1两种方案在YoloV4上的部分量化实验结果
上述示例中,本方案在执行时间,找到的非量化层数和部分量化模型准确率三个指标上都优于现有技术1,体现了本方案的优越性。
实施例二
请参考图2,图2为深度神经网络量化系统的组成示意图,本发明实施例二提供了一种深度神经网络量化系统,所述系统包括:
实施例三
本发明实施例三提供了一种深度神经网络量化装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述深度神经网络量化方法的步骤。
实施例四
本发明实施例四提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述深度神经网络量化方法的步骤。
其中,所述处理器可以是中央处理器(CPU,Central Processing Unit),还可以是其他通用处理器、数字信号处理器(digital signal processor)、专用集成电路(Application Specific Integrated Circuit)、现成可编程门阵列(Fieldprogrammablegate array)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的数据,实现发明中深度神经网络量化装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。此外,存储器可以包括高速随机存取存储器、还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡,安全数字卡,闪存卡、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述深度神经网络量化装置如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序可存储于一计算机可读存介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码、对象代码形式、可执行文件或某些中间形式等。所述计算机可读取介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存储器、点载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
本发明已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
所述预设查找步骤包括:
步骤1:若,则所述中第i至第j层所述神经网络层之间的量化层查找结果为空;若,且,则所述中第i至第j层所述神经网络层之间的量化层查找结果为第i层;若,且,则所述中第i至第j层所述神经网络层之间的量化层查找结果为空;
4.根据权利要求3所述的深度神经网络量化方法,其特征在于,将所述量化层量化具体为:将量化层的参数采用8位整数型数据表示。
5.根据权利要求2所述的深度神经网络量化方法,其特征在于,本方法中深度神经网络的准确率获取方式为:利用测试集数据测试深度神经网络,获得深度神经网络的准确率。
9.一种深度神经网络量化装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任意一个所述深度神经网络量化方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任意一个所述深度神经网络量化方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111558843.XA CN113947206A (zh) | 2021-12-20 | 2021-12-20 | 一种深度神经网络量化方法及系统及装置及介质 |
CN202210129537.2A CN114444668A (zh) | 2021-12-20 | 2022-02-11 | 网络量化方法及系统及装置及介质及图像处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111558843.XA CN113947206A (zh) | 2021-12-20 | 2021-12-20 | 一种深度神经网络量化方法及系统及装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113947206A true CN113947206A (zh) | 2022-01-18 |
Family
ID=79339392
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111558843.XA Pending CN113947206A (zh) | 2021-12-20 | 2021-12-20 | 一种深度神经网络量化方法及系统及装置及介质 |
CN202210129537.2A Pending CN114444668A (zh) | 2021-12-20 | 2022-02-11 | 网络量化方法及系统及装置及介质及图像处理方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210129537.2A Pending CN114444668A (zh) | 2021-12-20 | 2022-02-11 | 网络量化方法及系统及装置及介质及图像处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113947206A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114386588A (zh) * | 2022-03-23 | 2022-04-22 | 杭州雄迈集成电路技术股份有限公司 | 神经网络量化方法和装置、神经网络推理方法和系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114861886B (zh) * | 2022-05-30 | 2023-03-10 | 阿波罗智能技术(北京)有限公司 | 神经网络模型的量化方法及其装置 |
-
2021
- 2021-12-20 CN CN202111558843.XA patent/CN113947206A/zh active Pending
-
2022
- 2022-02-11 CN CN202210129537.2A patent/CN114444668A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114386588A (zh) * | 2022-03-23 | 2022-04-22 | 杭州雄迈集成电路技术股份有限公司 | 神经网络量化方法和装置、神经网络推理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114444668A (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110880038B (zh) | 基于fpga的加速卷积计算的系统、卷积神经网络 | |
CN110413255B (zh) | 人工神经网络调整方法和装置 | |
EP3540654A1 (en) | Learning classification device and learning classification method | |
CN113947206A (zh) | 一种深度神经网络量化方法及系统及装置及介质 | |
CN111723915B (zh) | 一种基于深度卷积神经网络的目标检测方法 | |
CN112016674A (zh) | 一种基于知识蒸馏的卷积神经网络的量化方法 | |
US11544542B2 (en) | Computing device and method | |
CN112164426A (zh) | 基于TextCNN的药物小分子靶点活性预测方法和装置 | |
CN113255910A (zh) | 卷积神经网络的剪枝方法、装置、电子设备和存储介质 | |
CN112598123A (zh) | 神经网络的权值的量化方法、量化装置及存储介质 | |
CN116188878A (zh) | 基于神经网络结构微调的图像分类方法、装置和存储介质 | |
KR20210111677A (ko) | 뉴럴 네트워크의 클리핑 방법, 뉴럴 네트워크의 컨벌루션 계산 방법 및 그 방법을 수행하기 위한 전자 장치 | |
US20220405561A1 (en) | Electronic device and controlling method of electronic device | |
CN114595641A (zh) | 组合优化问题的求解方法和系统 | |
CN110969259B (zh) | 具有数据关联自适应舍入的处理核心 | |
CN114528968A (zh) | 神经网络的训练方法和装置 | |
CN111240606A (zh) | 一种基于安全内存的存储优化方法及系统 | |
CN115470899B (zh) | 电力设备处理加速方法、装置、设备、芯片及介质 | |
Zhao et al. | U-net for satellite image segmentation: Improving the weather forecasting | |
US11429864B1 (en) | System and method for bank-balanced sparse activation and joint-activation-weight-sparse training of neural networks | |
CN112686278B (zh) | 模型获取方法、装置及存储介质 | |
CN110610227A (zh) | 人工神经网络调整方法及神经网络计算平台 | |
CN113177627B (zh) | 优化系统、重新训练系统及其方法及处理器和可读介质 | |
CN112668702B (zh) | 定点化参数优化方法、系统、及终端、存储介质 | |
US20230244534A1 (en) | Electronic device and controlling method of electronic device |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20220118 |
|
WD01 | Invention patent application deemed withdrawn after publication |