CN113537340A - 一种yolo目标检测模型压缩方法、系统及存储介质 - Google Patents
一种yolo目标检测模型压缩方法、系统及存储介质 Download PDFInfo
- Publication number
- CN113537340A CN113537340A CN202110795623.2A CN202110795623A CN113537340A CN 113537340 A CN113537340 A CN 113537340A CN 202110795623 A CN202110795623 A CN 202110795623A CN 113537340 A CN113537340 A CN 113537340A
- Authority
- CN
- China
- Prior art keywords
- target detection
- detection model
- yolo
- yolo target
- model
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 186
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000006835 compression Effects 0.000 title claims abstract description 21
- 238000007906 compression Methods 0.000 title claims abstract description 21
- 238000013139 quantization Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 17
- 238000013135 deep learning Methods 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 15
- 238000007689 inspection Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 3
- 238000011002 quantification Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007499 fusion processing Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Operations Research (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种yolo目标检测模型压缩方法、系统及存储介质,首先对搭建并训练好的yolo目标检测模型每层的输出值进行量化得到yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子,再将yolo目标检测模型的BN层和卷积层进行融合,然后对融合后的yolo目标检测模型的模型参数进行量化得到权重和偏置的缩放尺度因子和偏置因子,根据yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子,以及权重和偏置的缩放尺度因子和偏置因子,对融合后的yolo目标检测模型的模型参数进行量化,得到融合后的yolo目标检测模型的整体量化因子,最后根据整体量化因子,搭建yolo的int8型目标检测模型,得到通过int8参数进行前向推理的yolo目标检测模型。
Description
技术领域
本发明实施例涉及数据处理技术领域,具体涉及一种yolo目标检测模型压缩方法、系统及存储介质。
背景技术
在yolo目标检测模型的边缘计算中,边缘设备的计算能力通常较低,并且计算会受限于边缘设备的内存和电量消耗。此外,为了降低将yolo目标检测模型传输给边缘设备的通信量以及网络连接需求,需要将yolo目标检测模型量化使其尺寸更小、推断更快、耗电量更低。由于yolo目标检测模型的计算量以及计算复杂度较大,现有的yolo目标检测模型通常在云端进行计算,并且以浮点型运算为主。然而该方法对将yolo目标检测模型传输给边缘设备的通信量以及网络连接需求较高,使得在很多工程应用场景中有较大的局限性。
发明内容
为此,本发明实施例提供一种yolo目标检测模型压缩方法、系统及存储介质,以解决上述背景技术中出现的至少一个问题。
为了实现上述目的,第一方面,本发明实施例提供了一种yolo目标检测模型压缩方法,包括如下步骤:
利用深度学习框架搭建yolo目标检测模型;
对yolo目标检测模型进行训练,并保存训练后的yolo目标检测模型的模型参数;
利用模型参数,量化yolo目标检测模型每层的输出值,得到yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子;
导出模型参数,并将yolo目标检测模型的BN层和卷积层进行融合,得到融合后的yolo目标检测模型;
对融合后的yolo目标检测模型的模型参数进行量化,得到权重和偏置的缩放尺度因子和偏置因子;
根据yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子,以及权重和偏置的缩放尺度因子和偏置因子,对融合后的yolo目标检测模型的模型参数进行量化,得到融合后的yolo目标检测模型的整体量化因子;
根据整体量化因子,搭建yolo的int8型目标检测模型,得到通过int8参数进行前向推理的yolo目标检测模型。
进一步地,利用深度学习框架搭建yolo目标检测模型包括:
计算数据集的均值和标准差,并对数据集进行归一化处理,得到预处理后的数据集;
写出文件读取函数,并利用文件读取函数读取yolo目标检测模型各层的数据参数;
利用深度学习框架搭建yolo目标检测模型的yolo层;
定义yolo层的模块函数;
利用数据参数和模块函数,搭建yolo目标检测模型。
进一步地,对yolo目标检测模型进行训练包括:
利用数据集对yolo目标检测模型进行N次训练,其中N为整数,且N≥100;
对第N次训练后的yolo目标检测模型的平均精度进行测试;
若第N次训练后的yolo目标检测模型的平均精度大于或等于标准精度,则停止训练。
进一步地,在停止训练之后还包括:
根据yolo目标检测模型的类型,选择对应的保存格式保存第N次训练后的yolo目标检测模型的模型参数。
进一步地,对yolo目标检测模型进行训练后得到的模型参数为浮点型,yolo的int8型目标检测模型的模型参数为int型。
进一步地,根据整体量化因子,搭建yolo的int8型目标检测模型,得到通过int8参数进行前向推理的yolo目标检测模型包括:
将yolo目标检测模型的浮点型卷积运算转换成int型卷积运算,使浮点型矩阵转换成int型矩阵;
将yolo目标检测模型中的卷积操作通过int型矩阵进行卷积运算;
通过将整体量化因子和int型矩阵卷积运算后的输出进行相乘,并做截断,使yolo目标检测模型中的运算均为int型运算,得到int型输出值;
利用整体量化因子将浮点运算转换为整数运算。
第二方面,本发明实施例提供了一种yolo目标检测模型压缩系统,系统包括:处理器和存储器;
存储器用于存储一个或多个程序指令;
处理器,用于运行一个或多个程序指令,用以执行如上一种yolo目标检测模型压缩方法中任一方法步骤。
第三方面,本发明实施例提供了一种计算机存储介质,计算机存储介质中包含一个或多个程序指令,一个或多个程序指令用于被一种yolo目标检测模型压缩系统执行如上一种yolo目标检测模型压缩方法中任一方法步骤。
本发明实施例具有如下优点:
本发明实施例提供的yolo目标检测模型压缩方法首先对搭建并训练好的yolo目标检测模型每层的输出值进行量化得到yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子,再将yolo目标检测模型的BN层和卷积层进行融合,然后对融合后的yolo目标检测模型的模型参数进行量化得到权重和偏置的缩放尺度因子和偏置因子,根据yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子,以及权重和偏置的缩放尺度因子和偏置因子,对融合后的yolo目标检测模型的模型参数进行量化,得到融合后的yolo目标检测模型的整体量化因子,最后根据整体量化因子,搭建yolo的int8型目标检测模型,得到通过int8参数进行前向推理的yolo目标检测模型,从而不需要对yolo目标检测模型进行重新训练,并且不会导致yolo目标检测模型的精度损失,同时还有效地简化了yolo目标检测模型的的结构,节约了运算资源和对计算设备的内存占用,提高了计算设备的计算速度。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明实施例提供的一种yolo目标检测模型压缩方法流程示意图;
图2为本发明实施例提供的yolov3-tiny目标检测模型的BN层和卷积层的融合过程示意图;
图3为本发明实施例提供的利用深度学习框架搭建yolo目标检测模型的流程示意图;
图4为本发明实施例提供的对yolo目标检测模型进行训练的流程示意图;
图5为本发明实施例提供的再一种yolo目标检测模型压缩方法流程示意图;
图6为本发明实施例提供的yolov3-tiny目标检测模型的量化推理图;
图7为本发明实施例提供的yolo目标检测模型压缩系统结构框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一方面,如图1所示,本发明实施例提供了一种yolo目标检测模型压缩方法,包括如下步骤:
S101、利用深度学习框架搭建yolo目标检测模型;
在本步骤中,可采用pytorch深度学习框架搭建yolov3-tiny目标检测模型,以下将以yolov3-tiny目标检测模型作为示例对本实施例的技术方案进行说明,但本领域技术人员应当理解的是,也可采用其它深度学习框架搭建不同类别的yolo目标检测模型,本实施例不做具体限制。
S102、对yolo目标检测模型进行训练,并保存训练后的yolo目标检测模型的模型参数;
在本步骤中,模型参数为yolov3-tiny目标检测模型的权重和偏置。
S103、利用模型参数,量化yolo目标检测模型每层的输出值,得到yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子;
在本步骤中,根据步骤S102中保存的模型参数,即yolov3-tiny目标检测模型的权重和偏置,对yolov3-tiny目标检测模型的输出值进行量化,得到yolov3-tiny目标检测模型每层的输出值的缩放尺度因子和偏置因子,所采用的量化计算公式如下:
r=s(q-z) (1)
其中,q为yolo目标检测模型量化后的输出值,为8bit整数。r为yolov3-tiny目标检测模型量化前的输出值,为浮点型。s为缩放尺度因子,z为偏置因子。round(x)为截断函数,x<0,置为0;x>2n-1,置为2n-1。arraymin为输出范围中的最小值,arraymax为输出范围中的最大值,bitwidth为位宽。
S104、导出模型参数,并将yolo目标检测模型的BN层和卷积层进行融合,得到融合后的yolo目标检测模型;
在本步骤中,将yolov3-tiny目标检测模型的BN层和卷积层进行融合可以节约运算资源,简化yolov3-tiny目标检测模型的结构,所采用的融合公式如下:
z=w*x+b (4)
znew=wnew*x+bnew (8)
其中,z、w、x和b分别为BN层和卷积层融合前的输出、权重、输入和偏置,γ为尺度参数,β为偏移参数,E[x]为滑动均值,Var[x]为滑动方差,znew、wnew和bnew分别为BN层和卷积层融合后的输出、权重和偏置,mean为均值。公式(4)为卷积层运算公式,公式(5)为BN层运算公式,公式(6)和(7)为BN层和卷积层融合后的计算公式,BN层和卷积层的融合过程如图2所示。
S105、对融合后的yolo目标检测模型的模型参数进行量化,得到权重和偏置的缩放尺度因子和偏置因子;
在本步骤中,模型参数即融合后的yolov3-tiny目标检测模型的权重和偏置,对模型参数进行量化,即可得到融合后的yolov3-tiny目标检测模型的权重和偏置的缩放尺度因子和偏置因子,而对融合后yolov3-tiny目标检测模型的模型的权重以及偏置进行量化所涉及的公式与上述公式(1)到(3)一致,此时的0<x<2n-1,置为0,根据以上公式,对浮点型输出值进行量化,本实施例不再赘述。然后再结合以下公式,即可得到融合后的yolov3-tiny目标检测模型权重和偏置的缩放尺度因子和偏置因子:
其中,q、z、r和s分别为模型参数量化后的输出值、偏置因子、模型参数量化前的输出值和缩放尺度因子。
S106、根据yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子,以及权重和偏置的缩放尺度因子和偏置因子,对融合后的yolo目标检测模型的模型参数进行量化,得到融合后的yolo目标检测模型的整体量化因子;
S107、根据整体量化因子,搭建yolo的int8型目标检测模型,得到通过int8参数进行前向推理的yolo目标检测模型。
在本步骤中,根据整体量化因子,搭建yolov3-tiny的int8型目标检测模型,得到通过int8参数进行前向推理的yolov3-tiny目标检测模型,即可实现对yolov3-tiny目标检测模型的压缩。
本发明实施例提供的yolo目标检测模型压缩方法首先对搭建并训练好的yolo目标检测模型每层的输出值进行量化得到yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子,再将yolo目标检测模型的BN层和卷积层进行融合,然后对融合后的yolo目标检测模型的模型参数进行量化得到权重和偏置的缩放尺度因子和偏置因子,根据yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子,以及权重和偏置的缩放尺度因子和偏置因子,对融合后的yolo目标检测模型的模型参数进行量化,得到融合后的yolo目标检测模型的整体量化因子,最后根据整体量化因子,搭建yolo的int8型目标检测模型,得到通过int8参数进行前向推理的yolo目标检测模型,从而不需要对yolo目标检测模型进行重新训练,并且不会导致yolo目标检测模型的精度损失,同时还有效地简化了yolo目标检测模型的的结构,节约了运算资源和对计算设备的内存占用,提高了计算设备的计算速度。
进一步地,如图3所示,利用深度学习框架搭建yolo目标检测模型包括:
S301、计算数据集的均值和标准差,并对数据集进行归一化处理,得到预处理后的数据集;
在本步骤中,在训练yolov3-tiny目标检测模型之前,需要对训练用的数据集进行预处理,计算数据集的均值和标准差,数据集可采用coco数据集,本实施例不做具体限制。
S302、写出文件读取函数,并利用文件读取函数读取yolo目标检测模型各层的数据参数;
在本步骤中,以yolov3-tiny目标检测模型为例,则可以采用cfg文件读取函数读取yolov3-tiny目标检测模型各层的数据参数,若采用其它类型的yolo目标检测模型,则可以采用相应的文件读取函数读取yolo目标检测模型各层的数据参数,本实施例不做具体限制。
S303、利用深度学习框架搭建yolo目标检测模型的yolo层;
在本步骤中,可以采用pytorch深度学习框架,搭建yolov3-tiny目标检测模型的yolo层。
S304、定义yolo层的模块函数;
在本步骤中,根据pytorch深度学习框架对yolo层的模块函数进行定义。
S305、利用数据参数和模块函数,搭建yolo目标检测模型。
在本步骤中,利用数据参数和模块函数,从而完成yolov3-tiny目标检测模型的搭建。
进一步地,如图4所示,对yolo目标检测模型进行训练包括:
S401、利用数据集对yolo目标检测模型进行N次训练,其中N为整数,且N≥100;
S402、对第N次训练后的yolo目标检测模型的平均精度进行测试;
S403、若第N次训练后的yolo目标检测模型的平均精度大于或等于标准精度,则停止训练。
在本实施例中,由于数据集采用coco数据集,则标准精度可设定为33.1%,若数据集采用其它数据集,则标准精度可设定为相应值,本实施例不做具体限制。
进一步地,在停止训练之后还包括:
根据yolo目标检测模型的类型,选择对应的保存格式保存第N次训练后的yolo目标检测模型的模型参数。
具体的,由于本实施例采用的是pytorch深度学习框架搭建的yolov3-tiny目标检测模型,因此可以采用.pth格式保存yolov3-tiny目标检测模型的模型参数。
进一步地,对yolo目标检测模型进行训练后得到的模型参数为浮点型,yolo的int8型目标检测模型的模型参数为int型。
进一步地,如图5所示,根据整体量化因子,搭建yolo的int8型目标检测模型,得到通过int8参数进行前向推理的yolo目标检测模型包括:
S501、将yolo目标检测模型的浮点型卷积运算转换成int型卷积运算,使浮点型矩阵转换成int型矩阵;
在本步骤中,所采用的计算公式如下:
r3=r1*r2 (10)
其中,r1为卷积,r2为卷积核,r3为卷积运算结果,i和j为卷积大小,α为第几个卷积,s、q和z分别为缩放尺度因子、量化后的值和偏置因子。公式(10)为浮点矩阵卷积运算,公式(11)可将浮点矩阵转换为int型矩阵。
S502、将yolo目标检测模型中的卷积操作通过int型矩阵进行卷积运算;
在本步骤中,所采用的计算公式如下:
其中,i、j和k为卷积大小,根据公式(12),将转换后的int型矩阵进行卷积运算,此时,yolov3-tiny目标检测模型中的卷积操作均通过int型矩阵做卷积运算。
S503、通过将整体量化因子和int型矩阵卷积运算后的输出进行相乘,并做截断,使yolo目标检测模型中的运算均为int型运算,得到int型输出值;
在本步骤中,所采用的计算公式如下:
其中,M为整体量化因子,通过将公式(12)展开得到公式(13),M的值由公式(14)计算得到,再通过公式(13)将M与int型矩阵卷积运算后的输出进行相乘,并做截断,使得yolov3-tiny目标检测模型中的运算均为int型运算,并得到int型输出值。
S504、利用整体量化因子将浮点运算转换为整数运算。
在本步骤中,所采用的计算公式如下:
M=2-n·M0 (15)
其中,M0是由M计算得到的整数值,n为非负整数,由于yolov3-tiny目标检测模型的整体量化因子M是唯一非整型值,根据公式(15)进行转换,转换后浮点运算即转换成整数运算。
如图6所示,为本实施例提供的示例性的yolov3-tiny目标检测模型的量化推理图,相较于移动32bit浮点型数据,移动8bit定点型数据在效率上比前者高4倍。
第二方面,如图7所示,本发明实施例提供了一种yolo目标检测模型压缩系统,系统包括:处理器701和存储器702;
存储器702用于存储一个或多个程序指令;
处理器701,用于运行一个或多个程序指令,用以执行如上一种yolo目标检测模型压缩方法中任一方法步骤。
第三方面,本发明实施例提供了一种计算机存储介质,计算机存储介质中包含一个或多个程序指令,一个或多个程序指令用于被一种yolo目标检测模型压缩系统执行如上一种yolo目标检测模型压缩方法中任一方法步骤。
在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。
易失性存储器可以是随机存取存储器(Random Access Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,简称DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,简称DRRAM)。
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种yolo目标检测模型压缩方法,其特征在于,包括如下步骤:
利用深度学习框架搭建yolo目标检测模型;
对所述yolo目标检测模型进行训练,并保存训练后的yolo目标检测模型的模型参数;
利用所述模型参数,量化所述yolo目标检测模型每层的输出值,得到所述yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子;
导出所述模型参数,并将所述yolo目标检测模型的BN层和卷积层进行融合,得到融合后的yolo目标检测模型;
对所述融合后的yolo目标检测模型的模型参数进行量化,得到权重和偏置的缩放尺度因子和偏置因子;
根据所述yolo目标检测模型每层的输出值的缩放尺度因子和偏置因子,以及所述权重和偏置的缩放尺度因子和偏置因子,对所述融合后的yolo目标检测模型的模型参数进行量化,得到所述融合后的yolo目标检测模型的整体量化因子;
根据所述整体量化因子,搭建yolo的int8型目标检测模型,得到通过int8参数进行前向推理的yolo目标检测模型。
2.根据权利要求1所述的yolo目标检测模型压缩方法,其特征在于,所述利用深度学习框架搭建yolo目标检测模型包括:
计算数据集的均值和标准差,并对所述数据集进行归一化处理,得到预处理后的数据集;
写出文件读取函数,并利用所述文件读取函数读取yolo目标检测模型各层的数据参数;
利用所述深度学习框架搭建所述yolo目标检测模型的yolo层;
定义所述yolo层的模块函数;
利用所述数据参数和所述模块函数,搭建所述yolo目标检测模型。
3.根据权利要求2所述的yolo目标检测模型压缩方法,其特征在于,所述对所述yolo目标检测模型进行训练包括:
利用所述数据集对所述yolo目标检测模型进行N次训练,其中N为整数,且N≥100;
对第N次训练后的yolo目标检测模型的平均精度进行测试;
若第N次训练后的yolo目标检测模型的平均精度大于或等于标准精度,则停止训练。
4.根据权利要求3所述的yolo目标检测模型压缩方法,其特征在于,在所述停止训练之后还包括:
根据所述yolo目标检测模型的类型,选择对应的保存格式保存第N次训练后的yolo目标检测模型的模型参数。
5.根据权利要求1所述的yolo目标检测模型压缩方法,其特征在于,对所述yolo目标检测模型进行训练后得到的模型参数为浮点型,所述yolo的int8型目标检测模型的模型参数为int型。
6.根据权利要求1所述的yolo目标检测模型压缩方法,其特征在于,所述根据所述整体量化因子,搭建yolo的int8型目标检测模型,得到通过int8参数进行前向推理的yolo目标检测模型包括:
将所述yolo目标检测模型的浮点型卷积运算转换成int型卷积运算,使浮点型矩阵转换成int型矩阵;
将所述yolo目标检测模型中的卷积操作通过所述int型矩阵进行卷积运算;
通过将所述整体量化因子和int型矩阵卷积运算后的输出进行相乘,并做截断,使所述yolo目标检测模型中的运算均为int型运算,得到int型输出值;
利用所述整体量化因子将浮点运算转换为整数运算。
7.一种yolo目标检测模型压缩系统,其特征在于,所述系统包括:处理器和存储器;
所述存储器用于存储一个或多个程序指令;
所述处理器,用于运行一个或多个程序指令,用以执行如权利要求1-6任一项所述的方法。
8.一种计算机存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被一种yolo目标检测模型压缩系统执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110795623.2A CN113537340A (zh) | 2021-07-14 | 2021-07-14 | 一种yolo目标检测模型压缩方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110795623.2A CN113537340A (zh) | 2021-07-14 | 2021-07-14 | 一种yolo目标检测模型压缩方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113537340A true CN113537340A (zh) | 2021-10-22 |
Family
ID=78127899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110795623.2A Pending CN113537340A (zh) | 2021-07-14 | 2021-07-14 | 一种yolo目标检测模型压缩方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113537340A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902745A (zh) * | 2019-03-01 | 2019-06-18 | 成都康乔电子有限责任公司 | 一种基于cnn的低精度训练与8位整型量化推理方法 |
CN110659725A (zh) * | 2019-09-20 | 2020-01-07 | 字节跳动有限公司 | 神经网络模型的压缩与加速方法、数据处理方法及装置 |
CN111931917A (zh) * | 2020-08-20 | 2020-11-13 | 浙江大华技术股份有限公司 | 前向计算的实现方法及装置、存储介质、电子装置 |
US20200410318A1 (en) * | 2019-06-25 | 2020-12-31 | XNOR.ai, Inc. | Optimizing Binary Convolutional Neural Networks |
-
2021
- 2021-07-14 CN CN202110795623.2A patent/CN113537340A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902745A (zh) * | 2019-03-01 | 2019-06-18 | 成都康乔电子有限责任公司 | 一种基于cnn的低精度训练与8位整型量化推理方法 |
US20200410318A1 (en) * | 2019-06-25 | 2020-12-31 | XNOR.ai, Inc. | Optimizing Binary Convolutional Neural Networks |
CN110659725A (zh) * | 2019-09-20 | 2020-01-07 | 字节跳动有限公司 | 神经网络模型的压缩与加速方法、数据处理方法及装置 |
CN111931917A (zh) * | 2020-08-20 | 2020-11-13 | 浙江大华技术股份有限公司 | 前向计算的实现方法及装置、存储介质、电子装置 |
Non-Patent Citations (1)
Title |
---|
蒋润熙 等: "面向轻量化网络的安全帽检测算法", 《计算机工程与应用》, pages 4 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11275986B2 (en) | Method and apparatus for quantizing artificial neural network | |
CN110717585B (zh) | 神经网络模型的训练方法、数据处理方法和相关产品 | |
EP3686813A1 (en) | Deep neural network-based method and device for quantifying activation amount | |
WO2019238029A1 (zh) | 卷积神经网络系统和卷积神经网络量化的方法 | |
WO2023011002A1 (zh) | 溢出感知的量化模型训练方法、装置、介质及终端设备 | |
CN115238893A (zh) | 面向自然语言处理的神经网络模型量化方法和装置 | |
WO2021012148A1 (zh) | 基于深度神经网络的数据处理方法、装置及移动设备 | |
CN116884398B (zh) | 语音识别方法、装置、设备和介质 | |
CN113537340A (zh) | 一种yolo目标检测模型压缩方法、系统及存储介质 | |
US11475352B2 (en) | Quantizing machine learning models with balanced resolution via damped encoding | |
CN116957024A (zh) | 利用神经网络模型进行推理的方法和装置 | |
CN113610709B (zh) | 模型量化方法、装置、电子设备和计算机可读存储介质 | |
CN115965062A (zh) | 一种bert中层归一化非线性函数的fpga加速方法 | |
CN115705486A (zh) | 量化模型的训练方法、装置、电子设备和可读存储介质 | |
CN116227332A (zh) | 一种transformer混合比特量化方法及系统 | |
CN115952834A (zh) | 应用于Transformer的批量层归一化方法及装置 | |
US20230062910A1 (en) | Neural network hardware accelerator circuit with requantization circuits | |
CN115147283A (zh) | 一种图像重建方法、装置、设备及介质 | |
CN113361697A (zh) | 一种卷积网络模型压缩方法、系统及存储介质 | |
CN113987690A (zh) | 飞机起落架疲劳应力分析方法、系统、设备及存储介质 | |
CN114584476A (zh) | 一种流量预测方法、网络训练方法、装置及电子设备 | |
CN117221747B (zh) | 一种基于sopc的单周期坏点补偿与非均匀校正方法 | |
CN115238873B (zh) | 神经网络模型部署方法、装置、计算机设备 | |
EP4006783A1 (en) | Data block processing method and apparatus, device, and storage medium | |
WO2024124866A1 (en) | Data processing method and 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 |