CN112990438B - 基于移位量化操作的全定点卷积计算方法、系统及设备 - Google Patents
基于移位量化操作的全定点卷积计算方法、系统及设备 Download PDFInfo
- Publication number
- CN112990438B CN112990438B CN202110315588.XA CN202110315588A CN112990438B CN 112990438 B CN112990438 B CN 112990438B CN 202110315588 A CN202110315588 A CN 202110315588A CN 112990438 B CN112990438 B CN 112990438B
- Authority
- CN
- China
- Prior art keywords
- parameter
- convolution
- quantization scale
- layer
- quantized
- 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.)
- Active
Links
- 238000013139 quantization Methods 0.000 title claims abstract description 229
- 238000004364 calculation method Methods 0.000 title claims abstract description 37
- 238000010586 diagram Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000006870 function Effects 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 8
- 238000012937 correction Methods 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 abstract description 3
- 238000013461 design Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
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
- G06N3/045—Combinations of networks
-
- 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/048—Activation functions
-
- 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
- G06N5/046—Forward inferencing; Production systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
Abstract
本发明属于卷积神经网络领域,具体涉及了一种基于移位量化操作的全定点卷积计算方法、系统及设备,旨在解决现有的卷积计算方法内存占用和时间消耗大,难以在嵌入式设备上进行部署的问题。本发明包括:通过量化尺度参数公式和量化后偏置项参数公式获取待计算图像的卷积特征图的量化尺度参数和卷积核参数的量化尺度参数,进而计算偏置项参数的量化尺度参数,通过卷积核参数的量化尺度参数和偏置项参数对权重进行量化,进而获得量化运算结果,通过移位操作将中间结果进行量化,使得在前向计算过程中没有浮点运算的参与。本发明每一层仅需一个量化参数,减小内存占用和时间消耗,使得卷积模型可在嵌入式设备上部署。
Description
技术领域
本发明属于卷积神经网络领域,具体涉及了一种基于移位量化操作的全定点卷积计算方法、系统及设备。
背景技术
随着深度学习技术的不断发展,以卷积神经网络为代表的一系列模型在图像分类、目标检测等领域取得了良好的效果,并在生活中得到了广泛应用。但目前的卷积运算通常为浮点运算,在模型设计越来越复杂的情况下,浮点计算所带来的内存占用和时间消耗都非常巨大,难以在嵌入式设备上进行部署,因此通常需要将浮点运算量化为定点运算,以提高网络前向推理的效率。
现有的量化方法虽然将权值量化为定点数,但在前向推理过程中仍然涉及部分浮点运算,这会给嵌入式设备带来一定的性能损耗,另外,现有量化方法通常对每层卷积层的多个通道分别进行量化,导致每一层需要多个量化参数,这会增加嵌入式设备尤其是FPGA设备调度的复杂性。因此,设计一种更为简洁的全定点卷积计算方法尤为必要。
发明内容
为了解决现有技术中的上述问题,即现有的卷积计算只能通过浮点运算,内存占用和时间消耗都非常巨大,难以在嵌入式设备上进行部署的问题,本发明提供了一种基于移位量化操作的全定点卷积计算方法,所述方法包括:
步骤S100,获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
步骤S200,基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
步骤S300,计算各卷积层的卷积核参数的量化尺度参数;
步骤S400,基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;
步骤S500,基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;
步骤S600,基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
在一些优选的实施方式中,所述计算特征图的量化尺度参数,其具体步骤为:
步骤A10,基于所述各卷积层输出的特征图,获取各卷积层特征图的绝对值最大值;
步骤A20,基于所述各卷积层特征图的绝对值最大值,通过量化尺度参数公式计算各卷积特征图的量化尺度参数;
所述量化尺度参数公式为:
其中, 表示参数量化到相应低bit定点数时的最大值,比如量化到8bit有符号数,则 ; 表示当前待量化的浮点数中的绝对值最大值,在本步骤中为各卷积层特征图的绝对值最大值; 表示量化尺度参数,在本步骤中为各卷积层特征图的量化尺度参数; 表示对数据进行四舍五入。
在一些优选的实施方式中,,所述计算各卷积层的卷积核参数的量化尺度参数,其具体步骤为:
步骤B10,统计各卷积层卷积核的绝对值最大值;
步骤B20,基于所述卷积核的绝对值最大值,根据所述量化尺度参数公式生成各卷积层卷积核的量化尺度参数。
在一些优选的实施方式中,偏置项参数的量化尺度参数,其获得方法为:
由当前层上一层的特征图的量化尺度参数和当前卷积层的卷积核参数的量化尺度参数加和获得偏置项的量化尺度参数。
在一些优选的实施方式中,所述卷积核参数和量化后的偏置项参数,其获得方法为:
基于各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,通过量化后权重参数公式,分别获得量化后的卷积核参数和量化后的偏置项参数;
所述量化后权重参数公式为:
在一些优选的实施方式中,步骤S600包括:
步骤S610,对于每一层卷积层,将当前卷积层输入的量化后的特征图与当前卷积层的量化后的卷积核参数进行卷积运算,并加上当前卷积层的量化后的偏置项参数获得当前卷积层的中间结果;
步骤S620,若当前卷积层配置有relu激活函数,则对所述中间结果进行relu激活获得激活后的中间结果;
步骤S630,对所述中间结果或激活后的中间结果进行饱和运算,获得饱和运算后的中间结果;
步骤S640,基于所述饱和运算后的中间结果,进行向右移位量化操作,获得当前卷积层输出的量化后的特征图像,最后一层卷积层输出的量化后的特征图像即为最终卷积特征;所述向右移位量化操作,其右移的位数为当前卷积层的中间结果的量化尺度参数,所述中间结果的量化尺度参数为当前卷积层输入的特征图的量化尺度参数加上当前卷积层卷积核参数的量化尺度参数减去当前卷积层特征图的量化尺度参数。
在一些优选的实施方式中,所述饱和运算,其具体步骤为:
对所述第i层卷积层的中间结果设置最大值和最小值:
若所述第i层卷积层的中间结果大于预设的最大值则赋值为最大值,若所述第i层卷积层的中间结果小于预设的最小值则赋值为最小值。
本发明的另一方面,提出了一种基于移位量化操作的全定点卷积计算系统,所述系统包括:特征图获取模块、卷积层特征图的量化尺度参数获取模块、卷积核参数的量化尺度参数获取模块、偏置项参数的量化尺度参数获取模块、权重参数量化模块和卷积计算结果获取模块;
所述特征图获取模块,配置为获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
所述卷积层特征图的量化尺度参数获取模块,配置为基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
所述卷积核参数的量化尺度参数获取模块,配置为计算各卷积层的卷积核参数的量化尺度参数;
所述偏置项参数的量化尺度参数获取模块,配置为基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;
所述权重参数量化模块,配置为基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;
所述卷积计算结果获取模块,配置为基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
本发明的第三方面,提出了一种电子设备,其特征在于,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的基于移位量化操作的全定点卷积计算方法。
本发明的第四方面,提出了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的基于移位量化操作的全定点卷积计算方法。
本发明的有益效果:
(1)本发明基于移位量化操作的全定点卷积计算方法,通过将中间结果进行移位操作进行量化,使得在前向计算过程中避免了浮点运算的参与,在保证量化后精度损失较小的情况下,减小卷积模型在嵌入式设备上的内存占用,每一层仅需一个量化参数,提高模型的前向推理效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本发明基于移位量化操作的全定点卷积计算方法实施例的流程示意图;
图2是本发明基于移位量化操作的全定点卷积计算方法实施例中前向推理过程中某一层卷积计算过程的流程示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
本发明基于移位量化操作的全定点卷积计算方法,包括:
步骤S100,获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
步骤S200,基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
步骤S300,计算各卷积层的卷积核参数的量化尺度参数;
步骤S400,基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;
步骤S500,基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;
步骤S600,基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了更清晰地对本发明基于移位量化操作的全定点卷积计算方法进行说明,下面结合图1对本发明实施例中各步骤展开详述。
在本实施例中;
本发明第一实施例的基于移位量化操作的全定点卷积计算方法,包括步骤S100-步骤S600,各步骤详细描述如下:
本发明实施例主要包括三个部分:第一部分为求解特征图的量化尺度参数,第二部分为对卷积核参数的量化及对偏置的量化,第三部分为前向推理过程中对中间结果的处理。
在本实施例中,以将特征图量化到8bit,将卷积核参数量化到7bit为例,则运用到的QUAN参数分别取值127和63;本发明可沿用于量化到其他比特的技术方案中。
步骤S100,获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
第一部分,求解特征图的量化尺度参数主要为步骤S200的内容。
步骤S200,基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
其具体步骤为:
步骤A10,基于所述各卷积层输出的特征图,获取各卷积层特征图的绝对值最大值;
步骤A20,基于所述各卷积层特征图的绝对值最大值,通过量化尺度参数公式计算各卷积特征图的量化尺度参数;在本实施例中,各卷积特征图的量化尺度参数表示为scale_feature [n],n表示第n层卷积;
所述量化尺度参数公式为:
(1)
其中, 表示参数量化到相应低bit定点数时的最大值,比如量化到8bit有符号数,则 ; 表示当前待量化的浮点数中的绝对值最大值,在本步骤中为各卷积层特征图的绝对值最大值; 表示量化尺度参数,在本步骤中为各卷积层特征图的量化尺度参数; 表示对数据进行四舍五入。
第二部分,对卷积核参数的量化及对偏置的量化主要包括步骤S300-步骤S400的内容。
步骤S300,计算各卷积层的卷积核参数的量化尺度参数;
在本实施例中,所述计算各卷积层的卷积核参数的量化尺度参数,其具体步骤包括:
步骤B10,统计各卷积层卷积核的绝对值最大值;
步骤B20,基于所述卷积核的绝对值最大值,根据所述量化尺度参数公式即公式(1),生成各卷积层卷积核的量化尺度参数scale_kernel[n]。
步骤S400,基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;本实施例中,偏置项统一量化为int32。
在本实施例中,由当前层输入的特征图的量化尺度参数scale_feature[i-1]和当前卷积层的卷积核参数的量化尺度参数scale_kernel[i]加和获得当前层的偏置项的量化尺度参数scale_bias[i]。即scale_bias[i] =scale_feature[i-1]+scale_kernel[i]。通过本步骤的偏置项量化尺度参数计算方法可以有效地保持各卷积层特征图尺度的统一。
步骤S500,基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;在本步骤中,即将浮点转换为定点进行后续计算。
在本实施例中,所述量化后卷积核参数和量化后的偏置项参数,其获得方法为:
基于各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,通过量化后权重参数公式,分别获得量化后的卷积核参数和量化后的偏置项参数;在本申请中,权重包括卷积层的卷积核参数和偏置项参数,对权重的量化即问对卷积核参数的量化和对偏置项参数的量化;
所述量化后权重参数公式为:
(2)
步骤S600,基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
在获取了特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数后,输入任意图像均可进行卷积运算,此时输入图像视为第0层特征,在将特征图量化到8bit的情况下其量化尺度参数为-1。后续即可通过如步骤S600的方法完成计算。
在本实施例中,步骤S600如图2所示,包括:
步骤S610,对于每一层卷积层,将当前卷积层输入的量化后的特征图feature_q[i-1]与当前卷积层的量化后的卷积核参数kernel_q[i]进行卷积运算,并加上当前卷积层的量化后的偏置项参数int32_bias[i]获得当前卷积层的中间结果int32_feat[i];即int32_feat[i]= feature_q[i-1]*kernel_q[i]+ int32_bias[i];
步骤S620,若当前卷积层配置有relu激活函数,则对所述中间结果进行relu激活获得激活后的中间结果;
步骤S630,对所述中间结果或激活后的中间结果int32_feat[i]进行饱和运算,获得饱和运算后的中间结果,即int32_feat[i]=saturate(relu(int32_feat[i]));
步骤S640,基于所述饱和运算后的中间结果int32_feat[i],进行向右移位量化操作,获得当前卷积层输出的量化后的特征图像,最后一层卷积层输出的量化后的特征图像即为最终卷积特征;所述向右移位量化操作,其右移的位数为当前卷积层的中间结果的量化尺度参数scale[i],所述中间结果的量化尺度参数为当前卷积层输入的特征图的量化尺度参数scale_feature[i-1]加上当前卷积层卷积核参数的量化尺度参数scale_kernel[i]减去当前卷积层特征图的量化尺度参数scale_feature[i],即scale[i]=scale_feature[i-1]+scale_kernel[i]-scale_feature[i]。则步骤S640可以表示为feauture_q[i]=int32_feat[i]>>scale[i],>>表示向右移位操作;在本实施例中,取低8bit为当前卷积层的输出结果。
在本实施例中,所述饱和运算,其具体步骤为:
对当前卷积层的中间结果设置最大值和最小值:
若所述第i层卷积层的中间结果大于预设的最大值则赋值为最大值,若所述第i层卷积层的中间结果小于预设的最小值则赋值为最小值。为了保证移位量化后的结果不溢出,需要在量化前判断中间结果是否超过最大值或最小值,即对中间结果进行饱和运算操作。
本方案将权值和特征图量化到低比特后,在卷积计算过程中没有浮点计算的参与,且对卷积层中间结果的量化使用了移位量化操作,这些优化大大提高了模型在嵌入式设备上运行的效率
本发明第二实施例的基于移位量化操作的全定点卷积计算系统,包括:特征图获取模块、卷积层特征图的量化尺度参数获取模块、卷积核参数的量化尺度参数获取模块、偏置项参数的量化尺度参数获取模块、权重参数量化模块和卷积计算结果获取模块;
所述特征图获取模块,配置为获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
所述卷积层特征图的量化尺度参数获取模块,配置为基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
所述偏置项参数的量化尺度参数获取模块,配置为基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;
所述权重参数量化模块,配置为基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;
所述卷积计算结果获取模块,配置为基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的基于移位量化操作的全定点卷积计算系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种电子设备,其特征在于,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的基于移位量化操作的全定点卷积计算方法。
本发明第四实施例的一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的基于移位量化操作的全定点卷积计算方法。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
术语“第一”、 “第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (5)
1.一种基于移位量化操作的全定点卷积计算方法,其特征在于,所述方法包括:
步骤S100,获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
步骤S200,基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;具体为:
步骤A10,基于所述各卷积层输出的特征图,获取各卷积层特征图的绝对值最大值;
步骤A20,基于所述各卷积层特征图的绝对值最大值,通过量化尺度参数公式计算各卷积特征图的量化尺度参数;
所述量化尺度参数公式为:
其中,表示参数量化到相应低bit定点数时的最大值,若量化到nbit有符号数,则, n表示正整数;表示当前待量化的浮点数中的绝对值最大值,在本步骤中为各卷积层特征图的绝对值最大值;表示特征图的量化尺度参数、卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,在本步骤中为各卷积层特征图的量化尺度参数;表示对数据进行四舍五入;
步骤S300,计算各卷积层的卷积核参数的量化尺度参数;具体为:
步骤B10,统计各卷积层卷积核的绝对值最大值;
步骤B20,基于所述卷积核的绝对值最大值,根据所述量化尺度参数公式生成各卷积层卷积核的量化尺度参数;
步骤S400,基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;具体为:
由当前层上一层的特征图的量化尺度参数和当前卷积层的卷积核参数的量化尺度参数加和获得当前卷积层的偏置项的量化尺度参数;具体为,由当前层输入的特征图的量化尺度参数scale_feature[i-1]和当前卷积层的卷积核参数的量化尺度参数scale_kernel[i]加和获得当前层的偏置项的量化尺度参数scale_bias[i],scale_bias[i]=scale_feature[i-1]+scale_kernel[i];
步骤S500,基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;具体为:
基于各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,通过量化后权重参数公式,分别获得量化后的卷积核参数和量化后的偏置项参数;
所述量化后权重参数公式为:
其中,表示待量化的浮点权重参数;表示特征图的量化尺度参数、卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,在本步骤中为卷积核参数的量化尺度参数和偏置项参数的量化尺度参数;q表示量化后的权重参数;表示对数据四舍五入;
步骤S600,基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征;
具体为:
步骤S610,对于每一层卷积层,将当前卷积层输入的量化后的特征图与当前卷积层的量化后的卷积核参数进行卷积运算,并加上当前卷积层的量化后的偏置项参数获得当前卷积层的中间结果;
步骤S620,若当前卷积层配置有relu激活函数,则对所述中间结果进行relu激活获得激活后的中间结果;
步骤S630,对所述中间结果或激活后的中间结果进行饱和运算,获得饱和运算后的中间结果;
步骤S640,基于所述饱和运算后的中间结果,进行向右移位量化操作,获得当前卷积层输出的量化后的特征图像,最后一层卷积层输出的量化后的特征图像即为最终卷积特征;所述向右移位量化操作,其右移的位数为当前卷积层的中间结果的量化尺度参数,所述中间结果的量化尺度参数为当前卷积层输入的特征图的量化尺度参数加上当前卷积层卷积核参数的量化尺度参数减去当前卷积层特征图的量化尺度参数。
3.一种基于移位量化操作的全定点卷积计算系统,其特征在于,所述系统包括:特征图获取模块、卷积层特征图的量化尺度参数获取模块、卷积核参数的量化尺度参数获取模块、偏置项参数的量化尺度参数获取模块、权重参数量化模块和卷积计算结果获取模块;
所述特征图获取模块,配置为获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
所述卷积层特征图的量化尺度参数获取模块,配置为基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;具体为:
基于所述各卷积层输出的特征图,获取各卷积层特征图的绝对值最大值;
基于所述各卷积层特征图的绝对值最大值,通过量化尺度参数公式计算各卷积特征图的量化尺度参数;
所述量化尺度参数公式为:
其中,表示参数量化到相应低bit定点数时的最大值,若量化到nbit有符号数,则, n表示正整数;表示当前待量化的浮点数中的绝对值最大值,在本功能模块中为各卷积层特征图的绝对值最大值;表示特征图的量化尺度参数、卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,在本功能模块中为各卷积层特征图的量化尺度参数;表示对数据进行四舍五入;
所述卷积核参数的量化尺度参数获取模块,配置为计算各卷积层的卷积核参数的量化尺度参数;具体为:
统计各卷积层卷积核的绝对值最大值;
基于所述卷积核的绝对值最大值,根据所述量化尺度参数公式生成各卷积层卷积核的量化尺度参数;
所述偏置项参数的量化尺度参数获取模块,配置为基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;具体为:
由当前层上一层的特征图的量化尺度参数和当前卷积层的卷积核参数的量化尺度参数加和获得当前卷积层的偏置项的量化尺度参数;具体为,由当前层输入的特征图的量化尺度参数scale_feature[i-1]和当前卷积层的卷积核参数的量化尺度参数scale_kernel[i]加和获得当前层的偏置项的量化尺度参数scale_bias[i], scale_bias[i]=scale_feature[i-1]+scale_kernel[i];
所述权重参数量化模块,配置为基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;具体为:
基于各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,通过量化后权重参数公式,分别获得量化后的卷积核参数和量化后的偏置项参数;
所述量化后权重参数公式为:
其中,表示待量化的浮点权重参数;表示特征图的量化尺度参数、卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,在本功能模块中为卷积核参数的量化尺度参数和偏置项参数的量化尺度参数;q表示量化后的权重参数;表示对数据四舍五入;
所述卷积计算结果获取模块,配置为基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征;具体为:
对于每一层卷积层,将当前卷积层输入的量化后的特征图与当前卷积层的量化后的卷积核参数进行卷积运算,并加上当前卷积层的量化后的偏置项参数获得当前卷积层的中间结果;
若当前卷积层配置有relu激活函数,则对所述中间结果进行relu激活获得激活后的中间结果;
对所述中间结果或激活后的中间结果进行饱和运算,获得饱和运算后的中间结果;
基于所述饱和运算后的中间结果,进行向右移位量化操作,获得当前卷积层输出的量化后的特征图像,最后一层卷积层输出的量化后的特征图像即为最终卷积特征;所述向右移位量化操作,其右移的位数为当前卷积层的中间结果的量化尺度参数,所述中间结果的量化尺度参数为当前卷积层输入的特征图的量化尺度参数加上当前卷积层卷积核参数的量化尺度参数减去当前卷积层特征图的量化尺度参数。
4.一种电子设备,其特征在于,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求1-2任一项所述的基于移位量化操作的全定点卷积计算方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求1-2任一项所述的基于移位量化操作的全定点卷积计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110315588.XA CN112990438B (zh) | 2021-03-24 | 2021-03-24 | 基于移位量化操作的全定点卷积计算方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110315588.XA CN112990438B (zh) | 2021-03-24 | 2021-03-24 | 基于移位量化操作的全定点卷积计算方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112990438A CN112990438A (zh) | 2021-06-18 |
CN112990438B true CN112990438B (zh) | 2022-01-04 |
Family
ID=76333413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110315588.XA Active CN112990438B (zh) | 2021-03-24 | 2021-03-24 | 基于移位量化操作的全定点卷积计算方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112990438B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113570111B (zh) * | 2021-06-29 | 2023-08-29 | 中北大学 | 基于轻量化网络的桥梁健康状态片上监测方法 |
CN113780523B (zh) * | 2021-08-27 | 2024-03-29 | 深圳云天励飞技术股份有限公司 | 图像处理方法、装置、终端设备及存储介质 |
CN114898108B (zh) * | 2022-03-30 | 2023-01-06 | 哈尔滨工业大学 | 一种基于fpga的cnn模型轻量化方法、目标检测方法及系统 |
CN116913266B (zh) * | 2023-09-13 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 一种语音检测方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109409509A (zh) * | 2018-12-24 | 2019-03-01 | 济南浪潮高新科技投资发展有限公司 | 一种针对基于fpga的卷积神经网络加速器的数据结构和加速方法 |
CN109840589A (zh) * | 2019-01-25 | 2019-06-04 | 深兰人工智能芯片研究院(江苏)有限公司 | 一种在fpga上运行卷积神经网络的方法、装置及系统 |
CN110598839A (zh) * | 2018-06-12 | 2019-12-20 | 华为技术有限公司 | 卷积神经网络系统和卷积神经网络量化的方法 |
CN110880038A (zh) * | 2019-11-29 | 2020-03-13 | 中国科学院自动化研究所 | 基于fpga的加速卷积计算的系统、卷积神经网络 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10878273B2 (en) * | 2017-07-06 | 2020-12-29 | Texas Instruments Incorporated | Dynamic quantization for deep neural network inference system and method |
WO2020223856A1 (zh) * | 2019-05-05 | 2020-11-12 | 深圳市大疆创新科技有限公司 | 一种基于卷积神经网络架构的数据处理方法及装置 |
-
2021
- 2021-03-24 CN CN202110315588.XA patent/CN112990438B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598839A (zh) * | 2018-06-12 | 2019-12-20 | 华为技术有限公司 | 卷积神经网络系统和卷积神经网络量化的方法 |
CN109409509A (zh) * | 2018-12-24 | 2019-03-01 | 济南浪潮高新科技投资发展有限公司 | 一种针对基于fpga的卷积神经网络加速器的数据结构和加速方法 |
CN109840589A (zh) * | 2019-01-25 | 2019-06-04 | 深兰人工智能芯片研究院(江苏)有限公司 | 一种在fpga上运行卷积神经网络的方法、装置及系统 |
CN110880038A (zh) * | 2019-11-29 | 2020-03-13 | 中国科学院自动化研究所 | 基于fpga的加速卷积计算的系统、卷积神经网络 |
Also Published As
Publication number | Publication date |
---|---|
CN112990438A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112990438B (zh) | 基于移位量化操作的全定点卷积计算方法、系统及设备 | |
CN110008952B (zh) | 一种目标识别方法及设备 | |
CN110880038B (zh) | 基于fpga的加速卷积计算的系统、卷积神经网络 | |
CN109858623B (zh) | 用于执行人工神经网络正向运算的装置和方法 | |
KR20200004700A (ko) | 뉴럴 네트워크에서 파라미터를 처리하는 방법 및 장치 | |
CN111783961A (zh) | 基于激活定点拟合的卷积神经网络训练后量化方法及系统 | |
CN113159276B (zh) | 模型优化部署方法、系统、设备及存储介质 | |
CN110598839A (zh) | 卷积神经网络系统和卷积神经网络量化的方法 | |
CN109740737B (zh) | 卷积神经网络量化处理方法、装置及计算机设备 | |
CN110929865A (zh) | 网络量化方法、业务处理方法及相关产品 | |
CN111985495A (zh) | 模型部署方法、装置、系统及存储介质 | |
CN111178514A (zh) | 神经网络的量化方法及系统 | |
CN111383157B (zh) | 图像处理方法、装置、车载运算平台、电子设备及系统 | |
CN114418057A (zh) | 卷积神经网络的运算方法及相关设备 | |
CN110647990A (zh) | 基于灰色关联分析的深度卷积神经网络模型的裁剪方法 | |
CN113780549A (zh) | 溢出感知的量化模型训练方法、装置、介质及终端设备 | |
CN112686384A (zh) | 一种自适应比特位宽的神经网络量化方法及其装置 | |
CN111091183A (zh) | 一种神经网络加速系统和方法 | |
CN113408696A (zh) | 深度学习模型的定点量化方法及装置 | |
CN112232477A (zh) | 图像数据处理方法、装置、设备及介质 | |
CN112446461A (zh) | 一种神经网络模型训练方法及装置 | |
US12100196B2 (en) | Method and machine learning system to perform quantization of neural network | |
CN114492778B (zh) | 神经网络模型的运行方法、可读介质和电子设备 | |
US20210150334A1 (en) | Machine learning with input data domain transformation | |
CN110852361B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |