CN111626402A - 一种卷积神经网络量化方法及装置、计算机可读存储介质 - Google Patents

一种卷积神经网络量化方法及装置、计算机可读存储介质 Download PDF

Info

Publication number
CN111626402A
CN111626402A CN202010323877.XA CN202010323877A CN111626402A CN 111626402 A CN111626402 A CN 111626402A CN 202010323877 A CN202010323877 A CN 202010323877A CN 111626402 A CN111626402 A CN 111626402A
Authority
CN
China
Prior art keywords
fixed point
neural network
convolutional neural
precision
quantization
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
Application number
CN202010323877.XA
Other languages
English (en)
Inventor
高蕾
秦步月
窦勇
姜晶菲
苏华友
李荣春
许金伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010323877.XA priority Critical patent/CN111626402A/zh
Publication of CN111626402A publication Critical patent/CN111626402A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种卷积神经网络量化方法及装置、计算机可读存储介质。该方法包括:在利用卷积神经网络进行推理过程中,获取当前数据集中的所有图像在卷积神经网络各层中的特征值数据;根据特征值数据中的所有特征值所处的数值范围设置定点整数位数,根据定点整数位数确定定点小数位数;测试当前的至少一种定点格式的精度;判断是否存在至少一种定点格式的精度满足设定的精度:如果是,则直接进行量化;如果否,则进行分层量化。装置包括特征获取模块、定点设置模块、精度测试模块、精度比较模块、整体量化模块及分层量化模块。本发明不仅能够保证卷积神经网络输出结果的精度,而且还能够有效地降低量化位宽,降低存储空间和带宽。

Description

一种卷积神经网络量化方法及装置、计算机可读存储介质
技术领域
本发明涉及卷积神经网络技术领域,更为具体来说,本发明为一种卷积神经网络量化方法及装置、计算机可读存储介质。
背景技术
目前,卷积神经网络工作时可采用较高精度的浮点数进行运算,从而能够达到较高的运算精度,特别是在图像关键点检测过程中,高精度运算是必不可少的。但是,在卷积神经网络所有工作过程中均采用高精度浮点数运算会带来很多问题,比如运行时间过长、存储空间和带宽过高、数据位宽大以及运算部件较多等等。
因此,在卷积神经网络工作过程中,如何保证同时具备精度高、存储空间和带宽低等优点,成为了本领域技术人员亟待解决的技术问题和始终研究的重点。
发明内容
为解决现有技术无法使卷积神经网络同时兼顾高精度运算和低存储、低带宽等要求及无法较好地用于图像关键点检测等工作中,本发明提供了一种卷积神经网络量化方法及装置、计算机可读存储介质,创新地提供了卷积神经网络分层量化方案,从而达到既能降低量化位宽又能保持精度的目的,从而彻底解决现有技术存在的至少一个问题。
为实现上述技术目的,本发明公开了一种卷积神经网络量化方法,该方法包括如下步骤:在利用卷积神经网络进行推理过程中,获取当前数据集中的所有图像在卷积神经网络各层中的特征值数据;根据所述特征值数据中的所有特征值所处的数值范围设置定点整数位数,并根据所述定点整数位数确定定点小数位数;测试所述定点整数位数和所述定点小数位数对应的至少一种定点格式的精度;判断是否存在至少一种定点格式的精度满足设定的精度:如果是,则利用具有最高精度的定点格式对所述卷积神经网络进行量化;如果否,则对所述卷积神经网络进行分层量化。
进一步地,对所述卷积神经网络进行分层量化的步骤包括:将所述卷积神经网络中的待量化层中的所有特征值进行从小到大或从大到小排序,以得到特征值集合;利用所述特征值集合中预设区间范围的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数;根据当前待量化层的定点整数位数和定点小数位数确定当前待量化层的至少一种定点格式;利用具有满足设定的精度的定点格式对当前待量化层进行量化,直至所述卷积神经网络中的所有待量化层均分层量化完成。
进一步地,在得到待量化层的特征值集合之后,将所述特征值集合划分为三个子集合:第一集合、第二集合及第三集合,利用第二集合中的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数;其中,第一集合中的任一值≥第二集合中的任一值≥第三集合中的任一值。
进一步地,在对所述特征值集合进行划分时:从所述特征值集合中抽出10%的数据量作为第一集合,从所述特征值集合中抽出80%的数据量作为第二集合,并将剩余的10%的数据量作为第三集合。
进一步地,所述根据定点整数位数确定定点小数位数,包括:根据所述定点整数位数确定量化位宽,利用所述量化位宽、所述定点整数位数及符号位计算所述定点小数位数;其中,所述量化位宽等于所述定点整数位数、所述定点小数位数与所述符号位之和。
进一步地,所述根据特征值数据中的所有特征值所处的数值范围设置定点整数位数,包括:根据所述特征值数据中的所有特征值所处的数值范围确定最大值和最小值,依据所述最大值和所述最小值设置所述定点整数位数。
为实现上述的技术目的,本发明还提供了一种卷积神经网络量化装置,该装置包括:特征获取模块,用于在利用卷积神经网络进行推理过程中获取当前数据集中的所有图像在卷积神经网络各层中的特征值数据;定点设置模块,用于根据所述特征值数据中的所有特征值所处的数值范围设置定点整数位数,并用于根据所述定点整数位数确定定点小数位数;精度测试模块,用于测试所述定点整数位数和所述定点小数位数对应的至少一种定点格式的精度;精度比较模块,用于判断是否存在至少一种定点格式的精度满足设定的精度;整体量化模块,用于在存在至少一种定点格式的精度满足设定的精度的条件下利用具有最高精度的定点格式对所述卷积神经网络进行量化;分层量化模块,用于在无定点格式的精度满足设定的精度的条件下对所述卷积神经网络进行分层量化。
进一步地,所述分层量化模块包括特征排序子模块、定点确定子模块、格式确定子模块及单层量化子模块;特征排序子模块,用于将卷积神经网络中的待量化层中的所有特征值进行从小到大或从大到小排序、得到特征值集合;定点确定子模块,用于利用所述特征值集合中预设区间范围的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数;格式确定子模块,用于根据当前待量化层的定点整数位数和定点小数位数确定当前待量化层的至少一种定点格式;单层量化子模块,用于利用具有满足设定的精度的定点格式对当前待量化层进行量化。
进一步地,所述特征排序子模块,用于在得到待量化层的特征值集合之后将所述特征值集合划分为三个子集合:第一集合、第二集合及第三集合,并用于利用第二集合中的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数;其中,第一集合中的任一值≥第二集合中的任一值≥第三集合中的任一值。
为实现上述的技术目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行,以实现本发明任一实施例所述的量化方法或本发明任一实施例所述的量化装置。
本发明的有益效果为:本发明不仅能够保证卷积神经网络输出结果的精度,而且能够在保证输出精度的前提下有效地降低量化位宽,降低存储空间和带宽,并能够减少运行时间和简化运算部件。本发明能够同时兼顾精度和量化位宽要求,满足了基于VGG-19深度卷积神经网络的遥感图像飞行器关键点检测等某些特殊应用的需要。而且本发明还具有扩展性强等优点,当数据集中增加了新的数据,可以重复使用本发明提出的技术方案快速获得新的分层定点格式,修改硬化的格式参数即可满足需求。
附图说明
图1示出了本发明一些实施例中卷积神经网络整体量化方法的流程示意图。
图2示出了本发明一些实施例中卷积神经网络分层量化方法的流程示意图。
图3示出了本发明一些实施例中卷积神经网络量化装置的结构组成示意图。
具体实施方式
下面结合说明书附图对本发明提供的一种卷积神经网络量化方法及装置、计算机可读存储介质进行详细的解释和说明。
设计和实现神经网络硬件加速器时,可采用本发明一些实施例提供的卷积神经网络量化方法及装置、计算机可读存储介质。具体应用时,在对卷积神经网络训练时采用较高精度的浮点数来运算,但通过卷积神经网络进行推理时则采用本发明量化后的卷积神经网络,从而能够同时保证计算精度和结果的准确度,以解决现有技术存在的至少一个问题。本发明量化方案能够在软件上执行,执行后得到的结果(每层网络的定点格式)可用在硬件FPGA加速器上,在FPGA加速器中配合神经网络执行。
如图1所示,本发明一些实施例提供了一种卷积神经网络量化方法,具体涉及卷积神经网络硬化领域;该方法包括但不限于如下步骤。
首先,在利用卷积神经网络进行推理的过程中,获取当前数据集中的所有图像在卷积神经网络各层中的特征值数据,从而通过该方式能够得知整个卷积神经网络的各个具体的特征值,即可对各特征值进行操作。
其次,根据特征值数据中的所有特征值所处的数值范围设置定点整数位数,然后根据定点整数位数确定定点小数位数。在本发明的一个或多个实施例中,根据定点整数位数E确定量化位宽,如果E<6,则量化位宽取8bit;如果E<14,则量化位宽取16bit,本发明的一些实施例以16bit量化位宽进行说明。利用量化位宽、定点整数位数及符号位计算定点小数位数M;其中,量化位宽等于定点整数位数、定点小数位数与符号位之和,符号位S=1,则M=16-1-E。
本发明能够具体统计出数据集中的所有图像在推理过程中每层特征范围的最大值和最小值,一些实施例可以根据特征值数据中的所有特征值所处的数值范围确定最大值和最小值,从而得到本发明需要的所有层特征范围的最大值和最小值。基于统计的最大值和最小值,按照上述方式确定定点整数位数和数值的位宽(例如16位、8位、4位等),其余位设置为符号位和定点小数位数。在应用于神经网络硬件加速器时,根据定点整数位数、定点小数位数及位宽在加速器中设置统一的定点格式,当一层运算结束后进行对应的截断后输入至卷积神经网络的下一层。
再次,然后测试定点整数位数和所述定点小数位数所对应的至少一种定点格式的精度。在本发明的一些实施例中,可分别取E、E-1、E-2…等几种定点格式,然后测试统一定点格式的精度。
最后,判断是否存在至少一种定点格式的精度满足设定的精度:如果是,说明其中有一种或几种定点格式能满足应用需要的精度,则利用具有最高精度的定点格式对卷积神经网络进行量化,以完成对卷积神经网络的硬化;如果否,说明能够得到的一种或几种定点格式均不满足应用需要的精度,当神经网络至少一层的特征值分布在较大的区间时往往会出现这种情况,则对卷积神经网络进行分层量化,可以解决当神经网络至少一层的特征值分布在较大的区间时的量化问题。
基于上述的技术方案,相对于浮点类型的卷积神经网络,本发明能够通过定点类型的运算有效地简化运算部件、减少运行时间,而且本发明还达到了减小数据位宽、降低存储空间和带宽等目的。
面对神经网络至少一层的特征值分布在较大的区间时,本发明还能够提供一种改进后的技术方案。例如基于VGG-19深度卷积神经网络的遥感图像飞行器关键点检测等某些特殊应用,每层特征值分布在较大的区间,最大的层例如conv4_4,它的特征分布在2799-8684,那么至少需要32bit的定点数才能既覆盖数值范围又保持结果精度,在采用上述的方案时,相较于32bit的单精度浮点数仅仅是提升了速度并没有降低存储和带宽,本发明一些实施例通过下述的分层量化方案能够有效地解决该问题,以达到既提升速度又降低存储和带宽等目的。
如图2所示,对卷积神经网络进行分层量化的步骤包括但不限于下述步骤。
一、逐层对卷积神经网络的每层特征进行量化。将卷积神经网络中的待量化层中的所有特征值进行从小到大或从大到小排序,从而得到特征值集合,特征值集合为对待量化层中所有特征值按大小重新排序后的结果。
在本发明的一个或多个实施例中,拿其中一层conv1_1为例,在得到待量化层的特征值集合之后,将特征值集合划分为三个子集合:第一集合、第二集合及第三集合,利用第二集合中的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数;其中,第一集合中的任一值≥第二集合中的任一值≥第三集合中的任一值,即将该层的所有特征值按照大小分为三份。具体地,本发明一些实施例采用了一些较佳的实施方式,包括在对特征值集合进行划分时:从特征值集合中抽出10%的数据量作为第一集合(最大的部分),且从特征值集合中抽出80%的数据量作为第二集合(中间的部分),并可将剩余的10%的数据量作为第三集合(最小的部分)。
二、利用特征值集合中预设区间范围(本实施例可为上述的第二集合中的特征值)的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数。本发明一些优选的实施例可以利用上述待量化层自身的中间的80%数量的特征值确定当前待量化层的定点整数位数和定点小数位数,进而实现对待量化层自身进行单层量化。
三、根据当前待量化层的定点整数位数和定点小数位数确定当前待量化层的至少一种定点格式,并可对至少一种定点格式进行测试,得到满足设定的精度的定点格式。
四、利用具有满足设定的精度的定点格式对当前待量化层进行量化,如果满足设定的精度的定点格式为多种,则可采用精度最高的定点格式对当前待量化层进行量化。依次取到所有层的定点格式后测试其结果精度,直至卷积神经网络中的所有待量化层均分层量化完成。一般情况下,结果精度可满足设定的精度,说明通过本发明得到的分层定点格式是可以进行硬化的格式;但如果出现不满足设定的精度的意外情况,则本发明还能够通过扩展量化位宽或伪量化训练等方式进一步地进行优化和改进,本发明不再进行赘述。
如图3所示,本发明另一些实施例还能够提供一种卷积神经网络量化装置,具体涉及卷积神经网络硬化领域。该装置与卷积神经网络量化方法基于相同的发明构思。具体地,该装置可包括但不限于特征获取模块、定点设置模块、精度测试模块、精度比较模块、整体量化模块及分层量化模块,各模块的具体工作方式与连接关系说明如下。
特征获取模块,用于在利用卷积神经网络进行推理过程中获取当前数据集中的所有图像在卷积神经网络各层中的特征值数据。
定点设置模块,与特征获取模块连接,用于根据特征值数据中的所有特征值所处的数值范围设置定点整数位数,并用于根据定点整数位数确定定点小数位数。在本发明的一个或多个实施例中,定点设置模块用于根据定点整数位数确定量化位宽,并用于利用量化位宽、定点整数位数及符号位计算定点小数位数;其中,量化位宽等于定点整数位数、定点小数位数与符号位之和。在本发明的一些实施例中,定点设置模块用于根据特征值数据中的所有特征值所处的数值范围确定最大值和最小值,并可用于依据最大值和最小值设置定点整数位数。
精度测试模块,与定点设置模块连接,用于测试定点整数位数和定点小数位数对应的至少一种定点格式的精度。
精度比较模块,与精度测试模块连接,用于判断是否存在至少一种定点格式的精度满足设定的精度。
整体量化模块,与精度比较模块连接,用于在存在至少一种定点格式的精度满足设定的精度的条件下利用具有最高精度的定点格式对卷积神经网络进行量化,本实施例的整体量化可看做是分层量化的一种特殊形式。
分层量化模块,与精度比较模块连接,用于在无定点格式的精度满足设定的精度的条件下对卷积神经网络各层进行分层量化。在本发明一个或多个实施例中,分层量化模块包括特征排序子模块、定点确定子模块、格式确定子模块及单层量化子模块。分层量化模块中的各子模块可按照如下方式工作。
特征排序子模块,可与精度比较模块连接,用于将卷积神经网络中的待量化层中的所有特征值进行从小到大或从大到小排序、得到特征值集合。在本发明一些优选的实施例中,特征排序子模块,用于在得到待量化层的特征值集合之后将特征值集合划分为三个子集合:第一集合、第二集合及第三集合,并用于利用第二集合中的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数;其中,第一集合中的任一值≥第二集合中的任一值≥第三集合中的任一值。特征排序子模块,用于在对特征值集合进行划分时:从特征值集合中抽出10%的数据量作为第一集合,从特征值集合中抽出80%的数据量作为第二集合,并将剩余的10%的数据量作为第三集合。
定点确定子模块,与特征排序模块子模块连接,用于利用特征值集合中预设区间范围的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数。
格式确定子模块,与定点确定子模块连接,用于根据当前待量化层的定点整数位数和定点小数位数确定当前待量化层的至少一种定点格式。
单层量化子模块,与格式确定子模块连接,用于利用具有满足设定的精度的定点格式对当前待量化层进行量化。
本发明另一些实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行,以实现如本发明任一实施例的量化方法或本发明任一实施例的量化装置。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读存储介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM,Random Access Memory),只读存储器(ROM,Read-Only Memory),可擦除可编辑只读存储器(EPROM,Erasable Programmable Read-Only Memory,或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM,Compact Disc Read-Only Memory)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA,Programmable Gate Array),现场可编程门阵列(FPGA,Field Programmable Gate Array)等。
在本说明书的描述中,参考术语“本实施例”、“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明实质内容上所作的任何修改、等同替换和简单改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种卷积神经网络量化方法,其特征在于,该方法包括如下步骤:
在利用卷积神经网络进行推理过程中,获取当前数据集中的所有图像在卷积神经网络各层中的特征值数据;
根据所述特征值数据中的所有特征值所处的数值范围设置定点整数位数,并根据所述定点整数位数确定定点小数位数;
测试所述定点整数位数和所述定点小数位数对应的至少一种定点格式的精度;
判断是否存在至少一种定点格式的精度满足设定的精度:如果是,则利用具有最高精度的定点格式对所述卷积神经网络进行量化;如果否,则对所述卷积神经网络进行分层量化。
2.根据权利要求1所述的卷积神经网络量化方法,其特征在于,对所述卷积神经网络进行分层量化的步骤包括:
将所述卷积神经网络中的待量化层中的所有特征值进行从小到大或从大到小排序,以得到特征值集合;
利用所述特征值集合中预设区间范围的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数;
根据当前待量化层的定点整数位数和定点小数位数确定当前待量化层的至少一种定点格式;
利用具有满足设定的精度的定点格式对当前待量化层进行量化,直至所述卷积神经网络中的所有待量化层均分层量化完成。
3.根据权利要求2所述的卷积神经网络量化方法,其特征在于,
在得到待量化层的特征值集合之后,将所述特征值集合划分为三个子集合:第一集合、第二集合及第三集合,利用第二集合中的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数;
其中,第一集合中的任一值≥第二集合中的任一值≥第三集合中的任一值。
4.根据权利要求3所述的卷积神经网络量化方法,其特征在于,在对所述特征值集合进行划分时:
从所述特征值集合中抽出10%的数据量作为第一集合,从所述特征值集合中抽出80%的数据量作为第二集合,并将剩余的10%的数据量作为第三集合。
5.根据权利要求1所述的卷积神经网络量化方法,其特征在于,
所述根据定点整数位数确定定点小数位数,包括:
根据所述定点整数位数确定量化位宽,利用所述量化位宽、所述定点整数位数及符号位计算所述定点小数位数;其中,所述量化位宽等于所述定点整数位数、所述定点小数位数与所述符号位之和。
6.根据权利要求1所述的卷积神经网络量化方法,其特征在于,
所述根据特征值数据中的所有特征值所处的数值范围设置定点整数位数,包括:
根据所述特征值数据中的所有特征值所处的数值范围确定最大值和最小值,依据所述最大值和所述最小值设置所述定点整数位数。
7.一种卷积神经网络量化装置,其特征在于,该装置包括:
特征获取模块,用于在利用卷积神经网络进行推理过程中获取当前数据集中的所有图像在卷积神经网络各层中的特征值数据;
定点设置模块,用于根据所述特征值数据中的所有特征值所处的数值范围设置定点整数位数,并用于根据所述定点整数位数确定定点小数位数;
精度测试模块,用于测试所述定点整数位数和所述定点小数位数对应的至少一种定点格式的精度;
精度比较模块,用于判断是否存在至少一种定点格式的精度满足设定的精度;
整体量化模块,用于在存在至少一种定点格式的精度满足设定的精度的条件下利用具有最高精度的定点格式对所述卷积神经网络进行量化;
分层量化模块,用于在无定点格式的精度满足设定的精度的条件下对所述卷积神经网络进行分层量化。
8.根据权利要求7所述的卷积神经网络量化装置,其特征在于,所述分层量化模块包括特征排序子模块、定点确定子模块、格式确定子模块及单层量化子模块;
特征排序子模块,用于将卷积神经网络中的待量化层中的所有特征值进行从小到大或从大到小排序、得到特征值集合;
定点确定子模块,用于利用所述特征值集合中预设区间范围的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数;
格式确定子模块,用于根据当前待量化层的定点整数位数和定点小数位数确定当前待量化层的至少一种定点格式;
单层量化子模块,用于利用具有满足设定的精度的定点格式对当前待量化层进行量化。
9.根据权利要求8所述的卷积神经网络量化装置,其特征在于,
所述特征排序子模块,用于在得到待量化层的特征值集合之后将所述特征值集合划分为三个子集合:第一集合、第二集合及第三集合,并用于利用第二集合中的特征值所处的数值范围确定当前待量化层的定点整数位数和定点小数位数;其中,第一集合中的任一值≥第二集合中的任一值≥第三集合中的任一值。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行,以实现如权利要求1~6中任一权利要求所述的量化方法或实现如权利要求7~9中任一权利要求所述的量化装置。
CN202010323877.XA 2020-04-22 2020-04-22 一种卷积神经网络量化方法及装置、计算机可读存储介质 Pending CN111626402A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010323877.XA CN111626402A (zh) 2020-04-22 2020-04-22 一种卷积神经网络量化方法及装置、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010323877.XA CN111626402A (zh) 2020-04-22 2020-04-22 一种卷积神经网络量化方法及装置、计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN111626402A true CN111626402A (zh) 2020-09-04

Family

ID=72260962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010323877.XA Pending CN111626402A (zh) 2020-04-22 2020-04-22 一种卷积神经网络量化方法及装置、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111626402A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113762503A (zh) * 2021-05-27 2021-12-07 腾讯云计算(北京)有限责任公司 数据处理方法、装置、设备及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113762503A (zh) * 2021-05-27 2021-12-07 腾讯云计算(北京)有限责任公司 数据处理方法、装置、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN108701250B (zh) 数据定点化方法和装置
EP3242254B1 (en) Convolutional neural network hardware configuration
US20230186064A1 (en) Histogram-Based Per-Layer Data Format Selection for Hardware Implementation of Deep Neural Network
CN110874625B (zh) 一种数据处理方法及装置
EP3480689A1 (en) Hierarchical mantissa bit length selection for hardware implementation of deep neural network
GB2568081A (en) End-to-end data format selection for hardware implementation of deep neural network
CN112740233A (zh) 网络量化方法、推理方法以及网络量化装置
CN114677548A (zh) 基于阻变存储器的神经网络图像分类系统及方法
CN111626402A (zh) 一种卷积神经网络量化方法及装置、计算机可读存储介质
CN112561049B (zh) 一种基于忆阻器的dnn加速器的资源分配方法及装置
US11036980B2 (en) Information processing method and information processing system
CN112686365A (zh) 运行神经网络模型的方法、装置和计算机设备
US20230058500A1 (en) Method and machine learning system to perform quantization of neural network
CN111859252B (zh) 一种装卸时长的确定方法、装置、设备和存储介质
CN114581261A (zh) 基于快速图计算的故障诊断方法、系统、设备及存储介质
CN114595627A (zh) 模型量化方法、装置、设备及存储介质
EP3985571A1 (en) Methods and systems for selecting number formats for deep neural networks based on network sensitivity and quantisation error
JP2019133627A (ja) 情報処理方法及び情報処理システム
CN114764756B (zh) 去雾模型的量化剪枝方法及系统
US20220237455A1 (en) Neural-network quantization method and apparatus
US20230281013A1 (en) Machine Code Instruction
CN109359728B (zh) 计算神经网络压缩最佳定点位数的方法、存储介质和装置
US20240028895A1 (en) Switchable one-sided sparsity acceleration
CN117391145A (zh) 一种卷积神经网络量化推理优化方法及系统
CN116468080A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200904