CN111860405A - 图像识别模型的量化方法、装置、计算机设备及存储介质 - Google Patents
图像识别模型的量化方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111860405A CN111860405A CN202010740686.3A CN202010740686A CN111860405A CN 111860405 A CN111860405 A CN 111860405A CN 202010740686 A CN202010740686 A CN 202010740686A CN 111860405 A CN111860405 A CN 111860405A
- Authority
- CN
- China
- Prior art keywords
- image
- recognition model
- quantization parameter
- image recognition
- network 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000011002 quantification Methods 0.000 title abstract description 8
- 238000013139 quantization Methods 0.000 claims abstract description 303
- 238000012360 testing method Methods 0.000 claims abstract description 62
- 238000012545 processing Methods 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 7
- 239000000203 mixture Substances 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 10
- 238000012795 verification Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010606 normalization Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种图像识别模型的量化方法、装置、计算机设备及存储介质,属于数字信息传输技术领域。该方法包括:确定用于模型量化的第一图像集合,以及确定用于验证模型精度的第二图像集合;根据第一图像集合,确定待量化的第一图像识别模型的第一量化参数;对于第一图像识别模型中的目标网络层,根据第二图像集合和第一量化参数,对第一图像识别模型进行精度测试,得到与目标网络层匹配的第二量化参数;根据第二量化参数,对第一图像识别模型中的目标网络层进行量化,得到第二图像识别模型。由于第二量化参数与目标网络层匹配,所以通过第二量化参数对目标网络层进行量化,可以提高量化后的第二图像识别模型的精度值。
Description
技术领域
本申请实施例涉及神经网络技术领域,特别涉及一种图像识别模型的量化方法、装置、计算机设备及存储介质。
背景技术
在神经网络技术领域中,在很多场景中需要通过图像识别模型进行图像识别;为了加速图像识别模型的运行速度,降低计算机设备的功耗,常见的解决方法是对图像识别模型进行量化,将图像识别模型中的参数由浮点型数据量化为定点型数据。
相关技术中,计算机设备对图像识别模型进行量化的过程为:计算机设备确定待量化的第一图像识别模型,第一图像识别模型的每个网络层的输入数据、权重数据和输出数据均为浮点型数据。计算机设备从每个网络层的输入数据中确定最大值和最小值;根据该最大值和最小值,确定量化参数;根据该量化参数,将第一图像识别模型中的每个网络层的输入数据、权重数据和输出数据等浮点型数据量化为定点型数据,得到第二图像识别模型。
上述技术中,通过同一个量化参数,对每个网络层的浮点型数据进行量化。然而该量化参数不一定与每个网络层均匹配;因此,通过该量化参数,对每个网络层的浮点型数据进行量化时,得到的定点型数据的精度值低,导致量化得到的第二图像识别模型的精度值低。
发明内容
本申请实施例提供了一种图像识别模型的量化方法、装置、计算机设备及存储介质,可以提高量化得到的第二图像识别模型的精度值。所述技术方案如下:
一方面,提供了一种图像识别模型的量化方法,所述方法包括:
确定用于模型量化的第一图像集合,以及确定用于验证模型精度的第二图像集合;
根据所述第一图像集合,确定待量化的第一图像识别模型的第一量化参数;
对于所述第一图像识别模型中的目标网络层,根据所述第二图像集合和所述第一量化参数,对所述第一图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数;
根据所述第二量化参数,对所述第一图像识别模型中的目标网络层进行量化,得到第二图像识别模型。
在一种可能的实现方式中,所述根据所述第二图像集合和所述第一量化参数,对所述第一图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数,包括:
调整所述第一量化参数;
根据调整后的第一量化参数对所述第一图像识别模型中的目标网络层进行量化,得到第三图像识别模型;
根据所述第二图像集合对所述第三图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,所述根据所述第二图像集合对所述第三图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数,包括:
根据所述第二图像集合,对所述第三图像识别模型进行精度测试,得到所述第三图像识别模型的第一精度值;
响应于所述第一精度值满足第一预设条件,将所述调整后的第一量化参数作为与所述目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,所述方法还包括:
响应于所述第一精度值不满足所述预设条件,执行所述调整所述第一量化参数的步骤,直到所述第一精度值满足所述预设条件或者所述第一量化参数的调整次数达到预设次数,将所述调整后的第一量化参数作为与所述目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,所述确定用于模型量化的第一图像集合,包括:
确定第三图像集合;
确定所述第三图像集合中的每个图像的图像类别,得到多个第一图像类别;
对于每个第一图像类别,从所述第三图像集合中选择图像类别为所述第一图像类别的至少一个图像,得到所述第一图像集合。
在另一种可能的实现方式中,所述确定用于验证模型精度的第二图像集合,包括:
确定第四图像集合;
确定所述第四图像集合中的每个图像的图像类别,得到多个第二图像类别;
对于每个第二图像类别,从所述第四图像集合中选择图像类别为所述第二图像类别的至少一个图像,得到所述第二图像集合。
在另一种可能的实现方式中,所述方法还包括:
对于所述第一图像识别模型中的每个第一网络层,根据所述第一量化参数,对所述第一图像识别模型中的所述第一网络层进行量化,得到第四图像识别模型;
根据所述第二图像集合,对所述第四图像识别模型进行精度测试,得到所述第四图像识别模型的第二精度值;
响应于所述第二精度值满足第二预设条件,确定所述第一网络层为目标网络层。
在另一种可能的实现方式中,所述方法还包括:
确定第五图像识别模型,所述第五图像识别模型中包括全连接层、多个卷积层和多个图像处理层;
根据所述多个卷积层和所述多个图像处理层,生成多个第一网络层;
将所述全连接层和所述第一网络层组成所述第一图像识别模型。
在另一种可能的实现方式中,所述根据所述多个卷积层和所述多个图像处理层,生成多个第一网络层,包括:
对于每个卷积层,响应于所述卷积层连接有图像处理层,将所述卷积层和所述图像处理层进行合并,得到第一网络层;
响应于所述卷积层没有连接图像处理层,将所述卷积层作为第一网络层。
另一方面,提供了一种图像识别模型的量化装置,所述装置包括:
第一确定模块,用于确定用于模型量化的第一图像集合,以及确定用于验证模型精度的第二图像集合;
第二确定模块,用于根据所述第一图像集合,确定待量化的第一图像识别模型的第一量化参数;
第一测试模块,用于对于所述第一图像识别模型中的目标网络层,根据所述第二图像集合和所述第一量化参数,对所述第一图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数;
第一量化模块,用于根据所述第二量化参数,对所述第一图像识别模型中的目标网络层进行量化,得到第二图像识别模型。
在一种可能的实现方式中,所述第一测试模块,包括:
调整单元,用于调整所述第一量化参数;
量化单元,用于根据调整后的第一量化参数对所述第一图像识别模型中的目标网络层进行量化,得到第三图像识别模型;
测试单元,用于根据所述第二图像集合对所述第三图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,所述测试单元,用于根据所述第二图像集合,对所述第三图像识别模型进行精度测试,得到所述第三图像识别模型的第一精度值;响应于所述第一精度值满足第一预设条件,将所述调整后的第一量化参数作为与所述目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,所述测试单元,还用于响应于所述第一精度值不满足所述预设条件,调整所述第一量化参数,直到所述第一精度值满足所述预设条件或者所述第一量化参数的调整次数达到预设次数,将所述调整后的第一量化参数作为与所述目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,所述第一确定模块包括第一确定单元;
所述第一确定单元,用于确定第三图像集合;确定所述第三图像集合中的每个图像的图像类别,得到多个第一图像类别;对于每个第一图像类别,从所述第三图像集合中选择图像类别为所述第一图像类别的至少一个图像,得到所述第一图像集合。
在另一种可能的实现方式中,所述第一确定模块包括第二确定单元;
所述第二确定单元,用于确定第四图像集合;确定所述第四图像集合中的每个图像的图像类别,得到多个第二图像类别;对于每个第二图像类别,从所述第四图像集合中选择图像类别为所述第二图像类别的至少一个图像,得到所述第二图像集合。
在另一种可能的实现方式中,所述装置还包括:
第二量化模块,用于对于所述第一图像识别模型中的每个第一网络层,根据所述第一量化参数,对所述第一图像识别模型中的所述第一网络层进行量化,得到第四图像识别模型;
第二测试模块,用于根据所述第二图像集合,对所述第四图像识别模型进行精度测试,得到所述第四图像识别模型的第二精度值;
第三确定模块,用于响应于所述第二精度值满足第二预设条件,确定所述第一网络层为目标网络层。
在另一种可能的实现方式中,所述装置还包括:
第四确定模块,用于确定第五图像识别模型,所述第五图像识别模型中包括全连接层、多个卷积层和多个图像处理层;
生成模块,用于根据所述多个卷积层和所述多个图像处理层,生成多个第一网络层;
组成模块,用于将所述全连接层和所述第一网络层组成所述第一图像识别模型。
在另一种可能的实现方式中,所述生成模块,用于对于每个卷积层,响应于所述卷积层连接有图像处理层,将所述卷积层和所述图像处理层进行合并,得到第一网络层;响应于所述卷积层没有连接图像处理层,将所述卷积层作为第一网络层。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现上述任一种可能实现方式中的图像识别模型的量化方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述任一种可能实现方式中的图像识别模型的量化方法所执行的操作。
另一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机程序代码,处理器执行所述计算机程序代码,使得所述计算机设备执行上述任一种可能实现方式中的图像识别模型的量化方法所执行的操作。
在本申请实施例中,对于第一图像识别模型中的目标网络层,根据第二图像集合和第一量化参数,对第一图像识别模型进行精度测试,进而根据精度测试结果,得到与目标网络层匹配的第二量化参数。由于第二量化参数与目标网络层匹配,所以,通过第二量化参数,对目标网络层的浮点型数据进行量化时,得到的定点型数据的精度值高;因此,提高了量化后得到的第二图像识别模型的精度值。
附图说明
图1示出了本申请一个示例性实施例示出的实施环境的示意图;
图2示出了本申请一个示例性实施例示出的图像识别模型的量化方法的流程图;
图3示出了本申请另一个示例性实施例示出的图像识别模型的量化方法的流程图;
图4示出了本申请一个示例性实施例示出的图像识别模型的量化方法的示意图;
图5示出了本申请另一个示例性实施例示出的图像识别模型的量化方法的流程图;
图6示出了本申请另一个示例性实施例示出的确定目标网络层的方法的示意图;
图7示出了本申请另一个示例性实施例示出的图像识别模型的量化方法的流程图;
图8示出了本申请一个示例性实施例示出的图像识别模型的量化装置的框图;
图9示出了本申请另一个示例性实施例示出的图像识别模型的量化装置的框图;
图10示出了本申请一个示例性实施例示出的服务器的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
参见图1,其示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括计算机设备;该计算机设备可以是终端或者服务器。
第一种:响应于计算机设备为终端,终端为同时具有图像获取功能和图像识别功能的设备。可选的,终端上安装有人脸识别应用。该人脸识别应用具有图像获取功能和图像识别功能。
例如,终端为人脸识别门禁机,本申请实施例量化得到的第二图像识别模型可以应用在人脸识别门禁场景中。人脸识别门禁机获取人脸图像;基于人脸识别应用,通过第二图像识别模型对人脸图像进行识别,得到人脸图像对应的门禁权限;当人脸图像对应的门禁权限为“有权限”时,人脸识别门禁机打开门禁;当人脸图像对应的门禁权限为“无权限”时,人脸识别门禁机不打开门禁。
再如,终端为手机,本申请实施例量化得到的第二图像识别模型可以应用在人脸识别解锁场景中。手机获取人脸图像;基于人脸识别应用,通过第二图像识别模型对人脸图像进行识别,得到人脸图像对应的权限;当人脸图像对应的权限为“有权限”时,手机解锁成功;当人脸图像对应的权限为“无权限”时,手机解锁失败。
第二种:响应于计算机设备为服务器,在图1中以计算机设备为服务器为例进行说明,则继续参见图1,该实施环境还包括终端102。其中,终端102和服务器101之间通过无线或者有线网络连接;并且,终端102上可以安装有服务器101提供服务的客户端,终端102可以通过客户端与服务器101104之间实现例如数据传输、消息交互等功能。
其中,客户端可以为任一可以获取图像的客户端。例如,客户端可以为搜索类应用、购物类应用或者支付类应用。该客户端可以获取终端102本地存储的图像,也可以获取终端102的摄像模组拍摄的图像。在终端102获取图像的之后,终端102向服务器101发送获取的图像,服务器101接收终端102发送的图像,对图像进行识别,得到图像识别结果。服务器101将图像识别的结果返回终端102。
终端102可以为手机、平板电脑或者其他终端102。服务器101可以是一台服务器101,或者由若干台服务器101组成的服务器101集群,或者是一个云计算服务中心。
并且,本申请实施例量化得到的第二图像识别模型可以广泛地应用在各种实际应用场景中,以下结合四种示例性应用场景对本申请实施例的实际技术效果进行阐述:
(1)可以应用在人脸识别支付场景的场景中:终端102上安装有支付类应用。终端102获取人脸图像,基于该支付类应用向服务器101发送获取的人脸图像,服务器101接收终端102发送的人脸图像,通过第二图像识别模型对图像进行识别,得到图像识别结果。服务器101将图像识别的结果返回终端102。
(2)可以应用在图像识别搜索场景中:终端102上安装有搜索类应用。终端102获取图像,基于该搜索类应用向服务器101发送获取的图像,服务器101接收终端102发送的图像,通过第二图像识别模型对图像进行识别,得到图像对应的搜索结果。服务器101将搜索结果返回终端102。
(3)可以应用在图像识别购物场景的场景中:终端102上安装有购物类应用。终端102获取图像,基于该购物类应用向服务器101发送获取的图像,服务器101接收终端102发送的图像,通过第二图像识别模型对图像进行识别,得到图像对应的商品信息。服务器101将商品信息返回终端102。
参见图2,其示出了本申请一个示例性实施例示出的图像识别模型的量化方法的流程图。该方法包括以下步骤:
S201,确定用于模型量化的第一图像集合,以及确定用于验证模型精度的第二图像集合。
S202,根据第一图像集合,确定待量化的第一图像识别模型的第一量化参数。
S203,对于第一图像识别模型中的目标网络层,根据第二图像集合和第一量化参数,对第一图像识别模型进行精度测试,得到与目标网络层匹配的第二量化参数。
S204,根据第二量化参数,对第一图像识别模型中的目标网络层进行量化,得到第二图像识别模型。
在一种可能的实现方式中,根据第二图像集合和第一量化参数,对第一图像识别模型进行精度测试,得到与目标网络层匹配的第二量化参数,包括:
调整第一量化参数;
根据调整后的第一量化参数对第一图像识别模型中的目标网络层进行量化,得到第三图像识别模型;
根据第二图像集合对第三图像识别模型进行精度测试,得到与目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,根据第二图像集合对第三图像识别模型进行精度测试,得到与目标网络层匹配的第二量化参数,包括:
根据第二图像集合,对第三图像识别模型进行精度测试,得到第三图像识别模型的第一精度值;
响应于第一精度值满足第一预设条件,将调整后的第一量化参数作为与目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,该方法还包括:
响应于第一精度值不满足第一预设条件,执行调整第一量化参数的步骤,直到第一精度值满足第一预设条件或者第一量化参数的调整次数达到预设次数,将调整后的第一量化参数作为与目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,确定用于模型量化的第一图像集合,包括:
确定第三图像集合;
确定第三图像集合中的每个图像的图像类别,得到多个第一图像类别;
对于每个第一图像类别,从第三图像集合中选择图像类别为第一图像类别的至少一个图像,得到第一图像集合。
在另一种可能的实现方式中,确定用于验证模型精度的第二图像集合,包括:
确定第四图像集合;
确定第四图像集合中的每个图像的图像类别,得到多个第二图像类别;
对于每个第二图像类别,从第四图像集合中选择图像类别为第二图像类别的至少一个图像,得到第二图像集合。
在另一种可能的实现方式中,该方法还包括:
对于第一图像识别模型中的每个第一网络层,根据第一量化参数,对第一图像识别模型中的第一网络层进行量化,得到第四图像识别模型;
根据第二图像集合,对第四图像识别模型进行精度测试,得到第四图像识别模型的第二精度值;
响应于第二精度值满足第二预设条件,确定第一网络层为目标网络层。
在另一种可能的实现方式中,该方法还包括:
确定第五图像识别模型,第五图像识别模型中包括全连接层、多个卷积层和多个图像处理层;
根据多个卷积层和多个图像处理层,生成多个第一网络层;
将全连接层和第一网络层组成第一图像识别模型。
在另一种可能的实现方式中,根据多个卷积层和多个图像处理层,生成多个第一网络层,包括:
对于每个卷积层,响应于卷积层连接有图像处理层,将卷积层和图像处理层进行合并,得到第一网络层;
响应于卷积层没有连接图像处理层,将卷积层作为第一网络层。
在本申请实施例中,对于第一图像识别模型中的目标网络层,根据第二图像集合和第一量化参数,对第一图像识别模型进行精度测试,进而根据精度测试结果,得到与目标网络层匹配的第二量化参数。由于第二量化参数与目标网络层匹配,所以,通过第二量化参数,对目标网络层的浮点型数据进行量化时,得到的定点型数据的精度值高;因此,提高了量化后得到的第二图像识别模型的精度值。
参见图3,其示出了本申请另一个示例性实施例示出的图像识别模型的量化方法的流程图。在本申请实施例中,以对第一量化参数进行调整,得到第二量化参数为例进行说明。该方法包括以下步骤:
步骤301,计算机设备确定用于模型量化的第一图像集合。
参见图4,第一图像集合为量化数据集,量化数据集用于量化图像识别模型。第一图像集合中包括多个图像。可选的,多个图像是与第一图像识别模型对应的样本图像,样本图像包括正样本和负样本图像。例如,第一图像识别模型是人脸识别模型,则多个图像中包括人脸图像和非人脸图像,再如,第一图像识别模型是商品识别模型;则多个图像中包括商品图像和非商品图像。
在一种可能的实现方式中,计算机设备可以将全量化数据集作为第一图像集合。相应的,本步骤为:计算机设备确定第三图像集合,将第三图像集合作为第一图像集合。其中,第三图像集合为全量化数据集。
在本申请实施例中,计算机设备通过全量化数据集对第一图像识别模型进行量化,由于全量化数据集内包括的图像总量多,所以通过全量化数据集对第一图像识别模型进行量化的精度值高。
在另一种可能的实现方式中,计算机设备可以从全量化数据集中选择类别不同的图像,得到第一图像集合。相应的,计算机设备确定用于模型量化的第一图像集合的步骤为:计算机设备确定第三图像集合;确定第三图像集合中的每个图像的图像类别,得到多个第一图像类别;对于每个第一图像类别,从第三图像集合中选择图像类别为第一图像类别的至少一个图像,得到第一图像集合。其中,第三图像集合为全量化数据集。图像类别可以包括人像类别、动物类别、植物类别、汽车类别和菜肴类别中的一个或多个。
其中,对于每个第一图像类别,计算机设备从第三图像集合中选择图像类别为第一图像类别的至少一个图像,有以下两种方式:
第一种:计算机设备对于每个第一图像类别,选择相同数量的图像;相应的,对于每个第一图像类别,计算机设备从第三图像集合中选择图像类别为第一图像类别的至少一个图像的步骤为:对于每个第一图像类别,从第三图像集合中选择第一预设数量的第一图像类别的图像。其中,第一预设数量可以是1-100之间的任一数值;例如,第一预设数量为1、5、10等。
在一种可能的实现方式中,以第三图像集合为大型可视化数据库(Image Net,大型可视化数据库)的全量化数据集为例进行说明。第三图像集合中包括50000个图像,50000个图像分为1000个类别。预设数量为1,对于每个类别,计算机设备从50000个图像中选择1个图像,得到1000个图像,将1000个图像组合为第一图像集合。
在本申请实施例中,计算机设备对于每个第一图像类别,选择相同数量的图像,提高了选取图像的速度,进而提高了确定第一图像集合的效率。
第二种:对于不同的第一图像类别,计算机设备选择不同数量的图像;相应的,对于每个第一图像类别,计算机设备从第三图像集合中选择图像类别为第一图像类别的至少一个图像的步骤为:对于每个第一图像类别,计算机设备确定第一图像类别对应的第二预设数量,根据第二预设数量,从第三图像集合中选择第二预设数量的第一图像类别的图像。其中,第二预设数量可以是1-100之间的任一数值;例如,第二预设数量为1、5、10等。
在一种可能的实现方式中,计算机设备内存储有第二预设数量与图像类别之间的对应关系;相应的,计算机设备确定第一图像类别对应的第二预设数量的步骤为:计算机设备根据第一图像类别,从已存储的第二预设数量与图像类别之间的对应关系中,确定第一图像类别对应的第二预设数量。
在另一种可能的实现方式中,计算机设备根据第一图像识别模型的类型,确定第二预设数量与图像类别之间的对应关系。相应的,计算机设备确定第一图像类别对应的第二预设数量的步骤为:计算机设备根据第一图像识别模型的第一类型,确定与第一类型相近的图像类别对应的第五预设数量,确定与第一类型不相近的图像类别对应的第六预设数量。其中,第五预设数量大于第六预设数量。
计算机设备对于每个第一图像类别,有针对性的选择不同数量的图像,提高了第一图像集合的有效性,进而提高了通过第一图像集合对第一图像识别模型进行量化的精度值。
在本申请实施例中,计算机设备可以从全量化数据集中选择类别不同的图像,得到第一图像集合;由于第一图像集合中的多个图像的类别不同,所以通过第一图像集合对第一图像识别模型进行量化的精度值高,并且由于第一图像集的数据量小,所以通过第一图像集对第一图像识别模型进行量化的效率高。
步骤302,计算机设备确定用于验证模型精度的第二图像集合。
继续参见图4,第二图像集合为验证数据集,验证数据集用于验证图像识别模型。第二图像集合中包括多个图像。其中,多个图像是与第一图像识别模型对应的验证图像;验证图像包括正样本图像。例如,第一图像识别模型是人脸识别模型,则多个图像中包括人脸图像。再如,第一图像识别模型是商品识别模型;则多个图像中包括商品图像。
在一种可能的实现方式中,计算机设备可以将全验证数据集作为第二图像集合。相应的,本步骤为:计算机设备确定第四图像集合,将第四图像集合作为第二图像集合,通过第四图像集合对第二图像识别模型进行验证。其中,第四图像集合为全验证数据集。
在本申请实施例中,计算机设备通过全验证数据集对第一图像识别模型进行验证,由于全验证数据集内包括的图像总量多,所以通过全验证数据集对第一图像识别模型进行验证的精度值高。
在另一种可能的实现方式中,计算机设备可以从全验证数据集中选择类别不同的图像,得到第二图像集合。相应的,计算机设备确定用于验证模型精度的第二图像集合,包括:计算机设备确定第四图像集合;确定第四图像集合中的每个图像的图像类别,得到多个第二图像类别;对于每个第二图像类别,从第四图像集合中选择图像类别为第二图像类别的至少一个图像,得到第二图像集合。其中,第四图像集合为全验证数据集。
其中,对于每个第二图像类别,计算机设备从第四图像集合中选择图像类别为第二图像类别的至少一个图像,有以下两种方式:
第一种:计算机设备对于每个第二图像类别,选择相同数量的图像;相应的,对于每个第二图像类别,计算机设备从第四图像集合中选择图像类别为第二图像类别的至少一个图像的步骤为:对于每个第二图像类别,从第四图像集合中选择第三预设数量的第二图像类别的图像。其中,第三预设数量可以是1-100之间的任一数值;例如,第三预设数量为1、5、10等。
在本申请实施例中,计算机设备对于每个第二图像类别,选择相同数量的图像,提高了选取图像的速度,进而提高了确定第二图像集合的效率。
第二种:对于不同的第二图像类别,计算机设备选择不同数量的图像;相应的,对于每个第二图像类别,计算机设备从第四图像集合中选择图像类别为第二图像类别的至少一个图像的步骤为:对于每个第二图像类别,计算机设备确定第二图像类别对应的第四预设数量,根据第四预设数量,从第四图像集合中选择第四预设数量的第二图像类别的图像。其中,第四预设数量可以是1-100之间的任一数值;例如,第四预设数量为1、5、10等。
在一种可能的实现方式中,计算机设备内存储有第四预设数量与图像类别之间的对应关系;相应的,计算机设备确定第二图像类别对应的第四预设数量的步骤为:计算机设备根据第二图像类别,从已存储的第四预设数量与图像类别之间的对应关系中,确定第二图像类别对应的第四预设数量。
在另一种可能的实现方式中,计算机设备根据第一图像识别模型的类型,确定第四预设数量与图像类别之间的对应关系。相应的,计算机设备确定第二图像类别对应的第四预设数量的步骤为:计算机设备根据第一图像识别模型的第一类型,确定与第一类型相近的图像类别对应的第七预设数量,确定与第一类型不相近的图像类别对应的第八预设数量。其中,第七预设数量大于第八预设数量。
计算机设备对于每个第二图像类别,有针对性的选择不同数量的图像,提高了第二图像集合的有效性,进而提高了通过第一图像集合对第一图像识别模型进行验证的精度值。
在本申请实施例中,计算机设备可以从全验证数据集中选择类别不同的图像,得到第二图像集合;由于第二图像集合中的多个图像的类别不同,所以通过第二图像集合对第一图像识别模型进行验证的精度值高;并且,由于第二图像集的数据量小,所以通过第二图像集对第一图像识别模型进行验证的效率高。
步骤303,计算机设备根据第一图像集合,确定待量化的第一图像识别模型的第一量化参数。
第一量化参数为第一图像识别模型的初始的量化参数。其中,第一量化参数为用于将第一图像识别模型中的浮点型数据量化为定点型数据的参数。可选的,第一量化参数为缩放量化参数。缩放量化参数包括缩放系数和量化系数;缩放系数用于对浮点型数据进行缩放,量化系数用于对浮点型数据进行量化,得到定点型数据。例如,浮点型数据9999通过缩放系数缩放为99.99,再通过量化系数量化为100。
在一种可能的实现方式中,计算机设备获取第一图像集合对应的浮点型数据,根据浮点型数据确定第一量化参数。相应的,计算机设备通过浮点型数据确定第一量化参数,包括:计算机设备获取浮点型数据中的最大值和最小值,根据浮点型数据中最大值和最小值,确定第一量化参数。
可选的,计算机设备内存储有确定初始的量化参数的量化参数公式。计算机设备根据浮点型数据中的最大值和最小值,通过量化参数公式确定第一量化参数。计算机设备存储的初始的量化参数的量化参数公式为:
其中,xscale为第一量化参数,Max(xfloat)为浮点型数据中的最大值,Min(xfloat)为浮点型数据中的最小值;Max(xquant)-Min(xquant)为固定值。例如,计算机设备通过第一量化参数将第一图像识别模型量化到8bit,则Max(xquant)-Min(xquant)的值为28-1-(-28-1+1)=256。
步骤304,计算机设备调整第一量化参数;根据调整后的第一量化参数对第一图像识别模型中的目标网络层进行量化,得到第三图像识别模型。
在一种可能的实现方式中,第一量化参数的数值不同,对目标网络层的输出值的量化效果不同。其中,计算机设备调整第一量化参数有以下两种实现方式:
第一种实现方式,计算机设备内存储有多个数值的量化参数。相应的,计算机设备调整第一量化参数的步骤为:计算机设备获取第一量化参数的数值,从已存储的多个数值的量化参数中提取与第一量化参数的数值不同的第三量化参数,将第一量化参数调整为第三量化参数。
在本申请实施例中,计算机设备直接从已存储的多个数值的量化参数中提取第三量化参数,将第一量化参数调整为第三量化参数,不同通过其他步骤调节第一量化参数,提高了调整第一量化参数的效率。
第二种实现方式,调整第一量化参数为对第一量化参数进行微调,相应的,计算机设备调整第一量化参数的步骤为:计算机设备获取第一量化参数的第一数值;根据第一数值和调节值,确定第二数值,将第一量化参数的数值调整为第二数值。可选的,调节值为第一数值的预设倍数;其中,预设倍数为0.01倍至0.2倍之间的任意数值,例如,调节值是第一数值的0.05倍。
在本申请实施例中,计算机设备根据第一量化参数,对第一量化参数进行微调,提高了调整第一量化参数的有序性,避免多次调整中将第一量化参数调整为相同的量化参数,进而提高了确定最优量化参数的效率。
在本步骤中,不同的量化参数对应的图像识别模型不同;计算机设备对第一图像识别模型中的第一量化参数进行调整,根据调整后的第一量化参数对第一图像识别模型中的目标网络层进行量化,得到多个第二网络层,多个第二网络层构成第三图像识别模型。
步骤305,计算机设备根据第二图像集合对第三图像识别模型进行精度测试,得到与目标网络层匹配的第二量化参数。
在本步骤中,与目标网络层匹配的第二量化参数为目标网络层的最优量化参数。
需要说明的一点是,量化参数的优劣会影响图像识别模型的量化效果。如果量化参数过大,则量化分布范围过小,导致通过量化参数对浮点数据进行量化后的差异性小;例如,通过量化参数对浮点数据1.5和1.1进行量化,如果量化参数多大,则得到的量化结果都是1。而如果量化参数过小,则会导致数值较大的浮点数据溢出。
在一种可能的实现方式中,计算机设备根据第三图像识别模型的精度值,确定目标网络层的最优量化参数。相应的,本步骤为:计算机设备根据第二图像集合,对第三图像识别模型进行精度测试,得到第三图像识别模型的第一精度值;响应于第一精度值满足第一预设条件,将调整后的第一量化参数作为与目标网络层匹配的第二量化参数。
计算机设备确定第一精度值是否满足第一预设条件有以下两种方式:
第一种:第一预设条件为精度值,计算机设备根据第一精度值的大小,确定第一精度值是否满足第一预设条件。相应的,计算机响应于第一精度值满足第一预设条件,将调整后的第一量化参数作为与目标网络层匹配的第二量化参数的步骤为:计算机设备响应于第一精度值的精度值大于第一精度阈值,将调整后的第一量化参数作为与目标网络层匹配的第二量化参数。
其中,继续参见图4,第一精度阈值为浮点精度值,该浮点精度值可以为70%-100%之间的任一数值;例如:90%、95%、98%等。在本申请实施例中,对第一精度阈值的数值大小不作具体限定,可以根据需要进行设定并修改。
在本申请实施例中,计算机设备根据第三图像识别模型的第一精度值,当第一精度值大于第一精度阈值,确定调整后的第一量化参数的第二量化参数与目标网络层匹配,确保了通过第二量化参数对目标网络层进行量化时,得到的图像识别模型的精度值高。
需要说明的一点是,继续参见图4,当第一精度值不满足第一预设条件时,计算机设备继续调整第一量化参数。相应的,计算机设备得到与目标网络层匹配的第二量化参数的步骤为:计算机设备响应于第一精度值不满足第一预设条件,执行调整第一量化参数的步骤,直到第一精度值满足第一预设条件,将调整后的第一量化参数作为与目标网络层匹配的第二量化参数。
在本申请实施例中,当第一精度值不满足第一预设条件时,计算机设备继续调整第一量化参数,确保调整后的第二量化参数与目标网络层匹配度达到最高,因此,当通过第二量化参数对目标网络层进行量化时,得到的图像识别模型的精度值高。
需要说明的另一点是,继续参见图4,当第一精度值不满足第一预设条件时,计算机设备继续调整第一量化参数,计算机设备还可以对调整的次数进行限定。
相应的,计算机设备得到与目标网络层匹配的第二量化参数的步骤为:计算机设备响应于第一精度值不满足第一预设条件,执行调整第一量化参数的步骤,直到第一量化参数的调整次数达到预设次数,将调整后的第一量化参数作为与目标网络层匹配的第二量化参数。其中,预设次数为50-500之间的任一数值;例如:50、100、200等。在本申请实施例中,对预设次数不作具体限定,可以根据需要进行设定并修改。
在本申请实施例中,当调整的次数达到预设次数时,不在调整第一量化参数,从而避免了计算机设备在第一精度值不满足第一预设条件时,一直调整第一量化参数,减少了确定第二量化参数的时间,进而提高了确定与目标网络层匹配的第二量化参数的效率。
第二种:第一预设条件为精度值变化量。继续参见图4,计算机设备根据第一精度值与前一次调整后第一图像识别模型的第三精度值;确定第一精度值与第三精度值之间的精度值变化量,当精度值变化量不在提升,确定满足第一预设条件。
相应的,计算机响应于第一精度值满足第一预设条件,将调整后的第一量化参数作为与目标网络层匹配的第二量化参数的步骤为:计算机设备确定前一次调整的第三量化参数以及前一次调整后第一图像识别模型的第三精度值;响应于第一精度值小于第三精度值,将前一次调整的第三量化参数作为与目标网络层匹配的第二量化参数。
在本申请实施例中,第一精度值小于第一图像识别模型前一次量化的第三精度值时,计算机设备确定精度值不再上升,将前一次调整的第三量化参数作为与目标网络层匹配的第二量化参数,确保调整后的第二量化参数与目标网络层匹配度达到最高,因此,当通过第二量化参数对目标网络层进行量化时,得到的图像识别模型的精度值最高。
步骤306,计算机设备根据第二量化参数,对第一图像识别模型中的目标网络层进行量化,得到第二图像识别模型。
在本步骤中,第二图像识别模型与第一图像识别模型中的量化参数不同,第二量化参数为目标网络层的最优量化参数。其中,目标网络层的数量为一个或者多个。
在一种可能的实现方式中,目标网络层的数量为一个,计算机设备根据第二量化参数,对该目标网络层进行量化,得到第三网络层;确定第三网络层和未量化的第一网络层构成第二图像识别模型。
在另一种可能的实现方式中,目标网络层的数量为多个,计算机设备根据最优量化参数对第一图像识别模型中的目标网络层进行量化,得到多个第三网络层,确定未量化的第一网络层和多个第三网络层构成第二图像识别模型。
需要说明一点是,当目标网络层的数量为多个时,计算机设备确定每个目标网络层对应的第二量化参数;根据该目标网络层对应的第二量化参数,对该目标网络层进行量化。可选的,计算机设备根据网络执行顺序对多个目标网络层进行量化。
例如,继续参见图4,目标网络层的数量为多个,计算机设备确定目标网络层的第二量化参数;根据第二量化参数,对目标网络层进行量化。当多个目标层未全部优化完成,根据网络执行顺序,确定未优化的目标网络层,对未优化的目标网络层继续进行优化;当多个目标层全部优化完成,得到第二图像识别模型。
在本申请实施例中,对于第一图像识别模型中的目标网络层,根据第二图像集合和第一量化参数,对第一图像识别模型进行精度测试,进而根据精度测试结果,得到与目标网络层匹配的第二量化参数。由于第二量化参数与目标网络层匹配,所以,通过第二量化参数,对目标网络层的浮点型数据进行量化时,得到的定点型数据的精度值高;因此,提高了量化后得到的第二图像识别模型的精度值。
参见图5,其示出了本申请另一个示例性实施例示出的图像识别模型的量化方法的流程图。在本申请实施例中,以确定第一图像识别模型中的目标网络层为例进行说明。该方法包括以下步骤:
步骤501,计算机设备确定用于模型量化的第一图像集合。
步骤501与步骤301相同,在此不再进行赘述。
步骤502,计算机设备确定用于验证模型精度的第二图像集合。
步骤502与步骤302相同,在此不再进行赘述。
步骤503,计算机设备根据第一图像集合,确定待量化的第一图像识别模型的第一量化参数。
步骤503与步骤303相同,在此不再进行赘述。
步骤504,计算机设备确定第一图像识别模型中的目标网络层。
第一图像识别模型中的包括多个网络层,每个网络层对图像识别模型的精度值的影响不同,所以,计算机设备只需从多个网络层中选择对图像识别模型的精度影响大的目标网络层,对目标网络层的第一量化参数进行调整。可选的,参见图4,目标网络层为第一图像识别模型中的坏层(bad layer,坏层)。
在一种可能的实现方式中,计算机设备确定第一图像识别模型中的目标网络层的步骤为:对于第一图像识别模型中的每个第一网络层,根据第一量化参数,对第一图像识别模型中的第一网络层进行量化,得到第四图像识别模型;根据第二图像集合,对第四图像识别模型进行精度测试,得到第四图像识别模型的第二精度值;响应于第二精度值满足第二预设条件,确定第一网络层为目标网络层。
计算机设备确定第二精度值满足第二预设条件的方法有以下三种:
第一种,计算机设备根据第二精度值的大小,确定第二精度值是否满足第二预设条件。相应的,计算机响应于第二精度值满足第二预设条件的步骤为:计算机设备响应于第二精度值的精度值小于第一精度阈值,确定第二精度值满足第二预设条件。
其中,第一精度阈值可以为70%-100%之间的任一数值;例如:90%、95%、98%等。在本申请实施例中,对第一精度阈值的数值大小不作具体限定,可以根据需要进行设定并修改。
第二种,计算机设备根据第二精度值与第一图像识别模型量化前的精度值的精度变化,确定第二精度值是否满足第二预设条件。相应的,计算机响应于第二精度值满足第二预设条件的步骤为:计算机设备确定第一图像识别模型量化前的第四精度值;响应于第二精度值小于第四精度值,确定第二精度值满足第二预设条件。
第三种,计算机设备根据第二精度值与第一图像识别模型量化前的精度值的精度变化量,确定第二精度值是否满足第二预设条件。相应的,计算机响应于第二精度值满足第二预设条件的步骤为:计算机设备确定第一图像识别模型量化前的第四精度值;响应于第二精度值小于第三精度值且第二精度值与第三精度值的差值大于第四精度阈值,确定第二精度值满足第二预设条件。
其中,第二精度阈值可以为1%-10%之间的任一数值;例如:2%、3%、5%等。在本申请实施例中,对第二精度阈值的数值大小不作具体限定,可以根据需要进行设定并修改。
在另一种可能的实现方式中,计算机设备根据每次量化的精度值,确定精度值下降最大的网络层为目标网络层。相应的,计算机设备确定第一图像识别模型中的目标网络层的步骤为:计算机设备确定第一图像识别模型之前每次量化的精度值;响应于第二精度值与第三精度值的差值最大,确定第一网络层为目标网络层。
例如:参见图6,计算机设备对卷积层1进行量化,确定量化后的第五精度值,计算机设备对卷积层1和卷积层2进行量化,确定量化后的第六精度值,计算机设备对卷积层1、卷积层2和全连接层进行量化,确定量化后的第七精度值。计算机设备对第五精度值与第三精度值的差值、第六精度值与第五精度值的差值以及第七精度值与第六精度值的差值进行对比,确定第六精度值与第五精度值的差值最大,将卷积层2确定为目标网络层。
步骤505,计算机设备调整第一量化参数;根据调整后的第一量化参数对第一图像识别模型中的目标网络层进行量化,得到第三图像识别模型。
步骤505与步骤304相同,在此不再进行赘述。
步骤506,计算机设备根据第二图像集合对第三图像识别模型进行精度测试,得到与目标网络层匹配的第二量化参数。
步骤506与步骤305相同,在此不再进行赘述。
步骤507,计算机设备根据第二量化参数,对第一图像识别模型中的目标网络层进行量化,得到第二图像识别模型。
步骤507与步骤306相同,在此不再进行赘述。
在本申请实施例中,计算机设备只需从多个网络层中选择对图像识别模型的精度影响大的目标网络层,只对目标网络层的第一量化参数进行调整,提高了图像识别模型的量化效率。
参见图7,其示出了本申请另一个示例性实施例示出的图像识别模型的量化方法的流程图。在本申请实施例中,以对图像识别模型中卷积层和图像处理层进行合并为例进行说明。该方法包括以下步骤:
步骤701,计算机设备确定用于模型量化的第一图像集合。
步骤701与步骤301相同,在此不再进行赘述。
步骤701,计算机设备确定用于验证模型精度的第二图像集合。
步骤702与步骤302相同,在此不再进行赘述。
步骤703,计算机设备确定第五图像识别模型,第五图像识别模型中包括全连接层、多个卷积层和多个图像处理层。
第五图像识别模型中的卷积层可以对图像进行识别,图像处理层可以对卷积层识别的图像进行处理。其中,图像处理层包括标准化层、归一化层和线性化层中的一个或多个。
在一种可能的实现方式中,继续参见图6,第五图像识别模型的图像处理层包括标准化层(batch norm,标准化层)、归一化层(Scale,归一化层)和线性化层(relu,线性化层)。第五图像识别模型包括卷积层1(conv1,卷积层1)、标准化层、归一化层和线性化层、卷积层2(conv2,卷积层2)和全连接层(fc,全连接层)。
步骤704,计算机设备根据多个卷积层和多个图像处理层,生成多个第一网络层。
计算机设备可以将第五图像识别模型中的卷积层和多个图像处理层合并成一个网络层,进而对第五图像识别模型进行简化。相应的,计算机设备根据多个卷积层和多个图像处理层,生成多个第一网络层的步骤为:计算机设备对于每个卷积层,响应于卷积层连接有图像处理层,将卷积层和图像处理层进行合并,得到第一网络层;响应于卷积层没有连接图像处理层,将卷积层作为第一网络层。
继续参见图6,计算机设备确定第五图像识别模型中的卷积层1与标准化层、归一化层和线性化层连接,将卷积层1、标准化层、归一化层和线性化层合并,得到第一网络层;其中,第一网络层为融合卷积层1(conv1,融合卷积层1)。计算机设备确定卷积层2没有连接图像处理层,直接将卷积层2作为第一网络层。
步骤705,计算机设备将全连接层和第一网络层组成第一图像识别模型。
在本步骤中,计算机设备对第五图像识别模型进行简化,得到的全连接层和第一网络层,得到第一图像识别模型;将第五图像识别模型简化为第一图像识别模型。
步骤706,计算机设备根据第一图像集合,确定待量化的第一图像识别模型的第一量化参数。
步骤706与步骤303相同,在此不再进行赘述。
步骤707,计算机设备调整第一量化参数;根据调整后的第一量化参数对第一图像识别模型中的目标网络层进行量化,得到第三图像识别模型。
步骤706与步骤304相同,在此不再进行赘述。
步骤708,计算机设备根据第二图像集合对第三图像识别模型进行精度测试,得到与目标网络层匹配的第二量化参数。
步骤707与步骤305相同,在此不再进行赘述。
步骤709,计算机设备根据第二量化参数,对第一图像识别模型中的目标网络层进行量化,得到第二图像识别模型。
步骤708与步骤306相同,在此不再进行赘述。
在本申请实施例中,计算机设备对图像识别模型中卷积层和图像处理层进行合并,得到第一网络层,从而对第一图像识别模型中的网络层进行简化,降低了第一图像识别模型的复杂度,提高了第一图像识别模型的量化效率。
图8示出了本申请一个示例性实施例示出的图像识别模型的量化装置的框图。该装置包括:
第一确定模块801,用于确定用于模型量化的第一图像集合,以及确定用于验证模型精度的第二图像集合;
第二确定模块802,用于根据第一图像集合,确定待量化的第一图像识别模型的第一量化参数;
第一测试模块803,用于对于第一图像识别模型中的目标网络层,根据第二图像集合和第一量化参数,对第一图像识别模型进行精度测试,得到与目标网络层匹配的第二量化参数;
第一量化模块804,用于根据第二量化参数,对第一图像识别模型中的目标网络层进行量化,得到第二图像识别模型。
在一种可能的实现方式中,参见图9,第一测试模块803,包括:
调整单元8031,用于调整第一量化参数;
量化单元8032,用于根据调整后的第一量化参数对第一图像识别模型中的目标网络层进行量化,得到第三图像识别模型;
测试单元8033,用于根据第二图像集合对第三图像识别模型进行精度测试,得到与目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,测试单元8033,用于根据第二图像集合,对第三图像识别模型进行精度测试,得到第三图像识别模型的第一精度值;响应于第一精度值满足第一预设条件,将调整后的第一量化参数作为与目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,测试单元8033,还用于响应于第一精度值不满足预设条件,调整第一量化参数,直到第一精度值满足预设条件或者第一量化参数的调整次数达到预设次数,将调整后的第一量化参数作为与目标网络层匹配的第二量化参数。
在另一种可能的实现方式中,第一确定模块801包括第一确定单元8011;
第一确定单元8011,用于确定第三图像集合;确定第三图像集合中的每个图像的图像类别,得到多个第一图像类别;对于每个第一图像类别,从第三图像集合中选择图像类别为第一图像类别的至少一个图像,得到第一图像集合。
在另一种可能的实现方式中,第一确定模块801包括第二确定单元8012;
第二确定单元8012,用于确定第四图像集合;确定第四图像集合中的每个图像的图像类别,得到多个第二图像类别;对于每个第二图像类别,从第四图像集合中选择图像类别为第二图像类别的至少一个图像,得到第二图像集合。
在另一种可能的实现方式中,该装置还包括:
第二量化模块805,用于对于第一图像识别模型中的每个第一网络层,根据第一量化参数,对第一图像识别模型中的第一网络层进行量化,得到第四图像识别模型;
第二测试模块806,用于根据第二图像集合,对第四图像识别模型进行精度测试,得到第四图像识别模型的第二精度值;
第三确定模块807,用于响应于第二精度值满足第二预设条件,确定第一网络层为目标网络层。
在另一种可能的实现方式中,该装置还包括:
第四确定模块808,用于确定第五图像识别模型,第五图像识别模型中包括全连接层、多个卷积层和多个图像处理层;
生成模块809,用于根据多个卷积层和多个图像处理层,生成多个第一网络层;
组成模块810,用于将全连接层和第一网络层组成第一图像识别模型。
在另一种可能的实现方式中,生成模块809,用于对于每个卷积层,响应于卷积层连接有图像处理层,将卷积层和图像处理层进行合并,得到第一网络层;响应于卷积层没有连接图像处理层,将卷积层作为第一网络层。
在本申请实施例中,对于第一图像识别模型中的目标网络层,根据第二图像集合和第一量化参数,对第一图像识别模型进行精度测试,进而根据精度测试结果,得到与目标网络层匹配的第二量化参数。由于第二量化参数与目标网络层匹配,所以,通过第二量化参数,对目标网络层的浮点型数据进行量化时,得到的定点型数据的精度值高;因此,提高了量化后得到的第二图像识别模型的精度值。
本申请实施例还提供了一种计算机设备,该计算机设备为终端或者服务器;在本申请实施例中,以计算机设备为服务器为例进行说明。图10是本申请实施例提供的一种服务器的框图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)1001和一个或一个以上的存储器1002,其中,存储器1002中存储有至少一条程序代码,至少一条程序代码由处理器1001加载并执行以实现上述各个方法实施例提供的图像识别模型的量化方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,上述至少一条程序代码可由计算机设备中的处理器执行以完成上述实施例中的图像识别模型的量化方法。例如,计算机可读存储介质可以是ROM(Read-OnlyMemory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、CD-ROM(CompactDisc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序存储有至少一条程序代码,该至少一条程序代码由该处理器加载并执行以实现如上各个实施例中图像识别模型的量化方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种图像识别模型的量化方法,其特征在于,所述方法包括:
确定用于模型量化的第一图像集合,以及确定用于验证模型精度的第二图像集合;
根据所述第一图像集合,确定待量化的第一图像识别模型的第一量化参数;
对于所述第一图像识别模型中的目标网络层,根据所述第二图像集合和所述第一量化参数,对所述第一图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数;
根据所述第二量化参数,对所述第一图像识别模型中的目标网络层进行量化,得到第二图像识别模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二图像集合和所述第一量化参数,对所述第一图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数,包括:
调整所述第一量化参数;
根据调整后的第一量化参数对所述第一图像识别模型中的目标网络层进行量化,得到第三图像识别模型;
根据所述第二图像集合对所述第三图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第二图像集合对所述第三图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数,包括:
根据所述第二图像集合,对所述第三图像识别模型进行精度测试,得到所述第三图像识别模型的第一精度值;
响应于所述第一精度值满足第一预设条件,将所述调整后的第一量化参数作为与所述目标网络层匹配的第二量化参数。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应于所述第一精度值不满足所述预设条件,执行所述调整所述第一量化参数的步骤,直到所述第一精度值满足所述预设条件或者所述第一量化参数的调整次数达到预设次数,将所述调整后的第一量化参数作为与所述目标网络层匹配的第二量化参数。
5.根据权利要求1所述的方法,其特征在于,所述确定用于模型量化的第一图像集合,包括:
确定第三图像集合;
确定所述第三图像集合中的每个图像的图像类别,得到多个第一图像类别;
对于每个第一图像类别,从所述第三图像集合中选择图像类别为所述第一图像类别的至少一个图像,得到所述第一图像集合。
6.根据权利要求1所述的方法,其特征在于,所述确定用于验证模型精度的第二图像集合,包括:
确定第四图像集合;
确定所述第四图像集合中的每个图像的图像类别,得到多个第二图像类别;
对于每个第二图像类别,从所述第四图像集合中选择图像类别为所述第二图像类别的至少一个图像,得到所述第二图像集合。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于所述第一图像识别模型中的每个第一网络层,根据所述第一量化参数,对所述第一图像识别模型中的所述第一网络层进行量化,得到第四图像识别模型;
根据所述第二图像集合,对所述第四图像识别模型进行精度测试,得到所述第四图像识别模型的第二精度值;
响应于所述第二精度值满足第二预设条件,确定所述第一网络层为目标网络层。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定第五图像识别模型,所述第五图像识别模型中包括全连接层、多个卷积层和多个图像处理层;
根据所述多个卷积层和所述多个图像处理层,生成多个第一网络层;
将所述全连接层和所述第一网络层组成所述第一图像识别模型。
9.根据权利要求8所述的方法,其特征在于,所述根据所述多个卷积层和所述多个图像处理层,生成多个第一网络层,包括:
对于每个卷积层,响应于所述卷积层连接有图像处理层,将所述卷积层和所述图像处理层进行合并,得到第一网络层;
响应于所述卷积层没有连接图像处理层,将所述卷积层作为第一网络层。
10.一种图像识别模型的量化装置,其特征在于,所述装置包括:
第一确定模块,用于确定用于模型量化的第一图像集合,以及确定用于验证模型精度的第二图像集合;
第二确定模块,用于根据所述第一图像集合,确定待量化的第一图像识别模型的第一量化参数;
第一测试模块,用于对于所述第一图像识别模型中的目标网络层,根据所述第二图像集合和所述第一量化参数,对所述第一图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数;
第一量化模块,用于根据所述第二量化参数,对所述第一图像识别模型中的目标网络层进行量化,得到第二图像识别模型。
11.根据权利要求10所述的装置,其特征在于,所述第一测试模块,包括:
调整单元,用于调整所述第一量化参数;
量化单元,用于根据调整后的第一量化参数对所述第一图像识别模型中的目标网络层进行量化,得到第三图像识别模型;
测试单元,用于根据所述第二图像集合对所述第三图像识别模型进行精度测试,得到与所述目标网络层匹配的第二量化参数。
12.根据权利要求11所述的装置,其特征在于,所述测试单元,用于根据所述第二图像集合,对所述第三图像识别模型进行精度测试,得到所述第三图像识别模型的第一精度值;响应于所述第一精度值满足第一预设条件,将所述调整后的第一量化参数作为与所述目标网络层匹配的第二量化参数。
13.根据权利要求12所述的装置,其特征在于,所述测试单元,还用于响应于所述第一精度值不满足所述预设条件,调整所述第一量化参数,直到所述第一精度值满足所述预设条件或者所述第一量化参数的调整次数达到预设次数,将所述调整后的第一量化参数作为与所述目标网络层匹配的第二量化参数。
14.根据权利要求10所述的装置,其特征在于,所述第一确定模块包括第一确定单元;
所述第一确定单元,用于确定第三图像集合;确定所述第三图像集合中的每个图像的图像类别,得到多个第一图像类别;对于每个第一图像类别,从所述第三图像集合中选择图像类别为所述第一图像类别的至少一个图像,得到所述第一图像集合。
15.根据权利要求10所述的装置,其特征在于,所述第一确定模块包括第二确定单元;
所述第二确定单元,用于确定第四图像集合;确定所述第四图像集合中的每个图像的图像类别,得到多个第二图像类别;对于每个第二图像类别,从所述第四图像集合中选择图像类别为所述第二图像类别的至少一个图像,得到所述第二图像集合。
16.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二量化模块,用于对于所述第一图像识别模型中的每个第一网络层,根据所述第一量化参数,对所述第一图像识别模型中的所述第一网络层进行量化,得到第四图像识别模型;
第二测试模块,用于根据所述第二图像集合,对所述第四图像识别模型进行精度测试,得到所述第四图像识别模型的第二精度值;
第三确定模块,用于响应于所述第二精度值满足第二预设条件,确定所述第一网络层为目标网络层。
17.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第四确定模块,用于确定第五图像识别模型,所述第五图像识别模型中包括全连接层、多个卷积层和多个图像处理层;
生成模块,用于根据所述多个卷积层和所述多个图像处理层,生成多个第一网络层;
组成模块,用于将所述全连接层和所述第一网络层组成所述第一图像识别模型。
18.根据权利要求17所述的装置,其特征在于,所述生成模块,用于对于每个卷积层,响应于所述卷积层连接有图像处理层,将所述卷积层和所述图像处理层进行合并,得到第一网络层;响应于所述卷积层没有连接图像处理层,将所述卷积层作为第一网络层。
19.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器;所述存储器存储有至少一条程序代码,所述至少一条程序代码用于被所述处理器执行以实现如权利要求1至9任一所述的所述图像识别模型的量化方法。
20.一种计算机可读存储介质,其特征在于,所述存储介质存储有至少一条程序代码,所述至少一条程序代码用于被处理器执行以实现如权利要求1至9任一所述的所述图像识别模型的量化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010740686.3A CN111860405A (zh) | 2020-07-28 | 2020-07-28 | 图像识别模型的量化方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010740686.3A CN111860405A (zh) | 2020-07-28 | 2020-07-28 | 图像识别模型的量化方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111860405A true CN111860405A (zh) | 2020-10-30 |
Family
ID=72948697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010740686.3A Withdrawn CN111860405A (zh) | 2020-07-28 | 2020-07-28 | 图像识别模型的量化方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111860405A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113747155A (zh) * | 2021-09-06 | 2021-12-03 | 中国电信股份有限公司 | 特征量化方法和装置、编码器、通信*** |
CN113762403A (zh) * | 2021-09-14 | 2021-12-07 | 杭州海康威视数字技术股份有限公司 | 图像处理模型量化方法、装置、电子设备及存储介质 |
CN115294108A (zh) * | 2022-09-29 | 2022-11-04 | 深圳比特微电子科技有限公司 | 目标检测方法、目标检测模型的量化方法、装置和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110363297A (zh) * | 2019-07-05 | 2019-10-22 | 上海商汤临港智能科技有限公司 | 神经网络训练及图像处理方法、装置、设备和介质 |
US20190340492A1 (en) * | 2018-05-04 | 2019-11-07 | Microsoft Technology Licensing, Llc | Design flow for quantized neural networks |
CN110738315A (zh) * | 2018-07-18 | 2020-01-31 | 华为技术有限公司 | 一种神经网络精度调整方法及装置 |
CN110929838A (zh) * | 2018-09-19 | 2020-03-27 | 杭州海康威视数字技术股份有限公司 | 神经网络中位宽定点化方法、装置、终端和存储介质 |
CN111126366A (zh) * | 2020-04-01 | 2020-05-08 | 湖南极点智能科技有限公司 | 一种活体人脸的判别方法、装置、设备及存储介质 |
CN111311634A (zh) * | 2020-01-23 | 2020-06-19 | 支付宝实验室(新加坡)有限公司 | 一种人脸图像检测方法、装置及设备 |
CN111353517A (zh) * | 2018-12-24 | 2020-06-30 | 杭州海康威视数字技术股份有限公司 | 一种车牌识别方法、装置及电子设备 |
-
2020
- 2020-07-28 CN CN202010740686.3A patent/CN111860405A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190340492A1 (en) * | 2018-05-04 | 2019-11-07 | Microsoft Technology Licensing, Llc | Design flow for quantized neural networks |
CN110738315A (zh) * | 2018-07-18 | 2020-01-31 | 华为技术有限公司 | 一种神经网络精度调整方法及装置 |
CN110929838A (zh) * | 2018-09-19 | 2020-03-27 | 杭州海康威视数字技术股份有限公司 | 神经网络中位宽定点化方法、装置、终端和存储介质 |
CN111353517A (zh) * | 2018-12-24 | 2020-06-30 | 杭州海康威视数字技术股份有限公司 | 一种车牌识别方法、装置及电子设备 |
CN110363297A (zh) * | 2019-07-05 | 2019-10-22 | 上海商汤临港智能科技有限公司 | 神经网络训练及图像处理方法、装置、设备和介质 |
CN111311634A (zh) * | 2020-01-23 | 2020-06-19 | 支付宝实验室(新加坡)有限公司 | 一种人脸图像检测方法、装置及设备 |
CN111126366A (zh) * | 2020-04-01 | 2020-05-08 | 湖南极点智能科技有限公司 | 一种活体人脸的判别方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
周光朕;杜姗姗;冯瑞;欧丽君;刘斌;: "基于残差量化卷积神经网络的人脸识别方法", 计算机***应用, no. 08, pages 39 - 45 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113747155A (zh) * | 2021-09-06 | 2021-12-03 | 中国电信股份有限公司 | 特征量化方法和装置、编码器、通信*** |
CN113762403A (zh) * | 2021-09-14 | 2021-12-07 | 杭州海康威视数字技术股份有限公司 | 图像处理模型量化方法、装置、电子设备及存储介质 |
CN113762403B (zh) * | 2021-09-14 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 图像处理模型量化方法、装置、电子设备及存储介质 |
CN115294108A (zh) * | 2022-09-29 | 2022-11-04 | 深圳比特微电子科技有限公司 | 目标检测方法、目标检测模型的量化方法、装置和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111860405A (zh) | 图像识别模型的量化方法、装置、计算机设备及存储介质 | |
US10997443B2 (en) | User identity verification method, apparatus and system | |
CN111950723B (zh) | 神经网络模型训练方法、图像处理方法、装置及终端设备 | |
CN109345374A (zh) | 风险控制方法、装置、计算机设备和存储介质 | |
CN111950656B (zh) | 图像识别模型生成方法、装置、计算机设备和存储介质 | |
CN109271958B (zh) | 人脸年龄识别方法及装置 | |
CN111476268A (zh) | 翻拍识别模型训练、图像识别方法、装置、设备及介质 | |
CN104809132A (zh) | 一种获取网络主体社交关系类型的方法及装置 | |
TW202141358A (zh) | 圖像修復方法及裝置、存儲介質、終端 | |
CN110929836B (zh) | 神经网络训练及图像处理方法和装置、电子设备、介质 | |
US20230021551A1 (en) | Using training images and scaled training images to train an image segmentation model | |
CN111373436A (zh) | 图像处理方法、终端设备及存储介质 | |
CN114168318A (zh) | 存储释放模型的训练方法、存储释放方法及设备 | |
CN112287950B (zh) | 特征提取模块压缩方法、图像处理方法、装置、介质 | |
CN111507396B (zh) | 缓解神经网络对未知类样本产生错误分类的方法及装置 | |
CN115170902B (zh) | 图像处理模型的训练方法 | |
CN114677535A (zh) | 域适应图像分类网络的训练方法、图像分类方法及装置 | |
CN112199976A (zh) | 证件图片生成方法及装置 | |
CN116010832A (zh) | 联邦聚类方法、装置、中心服务器、***和电子设备 | |
CN113326832B (zh) | 模型训练、图像处理方法、电子设备及存储介质 | |
CN112905987B (zh) | 账号识别方法、装置、服务器及存储介质 | |
CN113255927A (zh) | 逻辑回归模型训练方法、装置、计算机设备和存储介质 | |
CN113450124B (zh) | 基于用户行为的外呼方法、装置、电子设备及介质 | |
CN113221820B (zh) | 一种对象识别方法、装置、设备及介质 | |
CN114782758B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201030 |
|
WW01 | Invention patent application withdrawn after publication |