CN117762642B - 一种卷积神经网络模型的加载方法、装置及存储介质 - Google Patents
一种卷积神经网络模型的加载方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117762642B CN117762642B CN202410002869.3A CN202410002869A CN117762642B CN 117762642 B CN117762642 B CN 117762642B CN 202410002869 A CN202410002869 A CN 202410002869A CN 117762642 B CN117762642 B CN 117762642B
- Authority
- CN
- China
- Prior art keywords
- model
- neural network
- network model
- representing
- models
- 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
- 238000011068 loading method Methods 0.000 title claims abstract description 54
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 35
- 238000003062 neural network model Methods 0.000 claims abstract description 297
- 230000015654 memory Effects 0.000 claims abstract description 72
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000013138 pruning Methods 0.000 claims description 46
- 230000006870 function Effects 0.000 claims description 45
- 238000004364 calculation method Methods 0.000 claims description 38
- 238000012549 training Methods 0.000 claims description 25
- 238000007667 floating Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 9
- 210000002364 input neuron Anatomy 0.000 claims description 3
- 210000004205 output neuron Anatomy 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000013499 data model Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 18
- 238000013461 design Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000287196 Asthenes Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种卷积神经网络模型的加载方法、装置及存储介质,本发明通过在边缘设备中设置若干小型神经网络模型,并计算出了各个小型神经网络模型的单次推理时间、模型推理时间以及运行内存;而后,即可基于此,来进行模型匹配,即将边缘设备的运算能力,与各小型神经网络模型的运行内存进行比较,来选取出备选模型;接着,再选取出单次推理时间符合使用需求的模型;最后,则可从符合使用需求的模型中,选取出尺寸最大的模型作为最优模型来进行模型加载;由此,本发明能够为边缘设备匹配出兼具效率以及精度的本地模型,避免了传统技术采用云端加载模型所存在的易受网络带宽和延时影响的问题,能够提高用户的体验感,适用于大规模应用与推广。
Description
技术领域
本发明属于模型加载技术领域,具体涉及一种卷积神经网络模型的加载方法、装置及存储介质。
背景技术
随着深度学习领域的快速发展,卷积神经网络(CNN)在多种任务中(比如机器视觉)都展现出了卓越的性能,为了提高模型的精度,研究者们设计出了越来越复杂的CNN模型;然而,这些模型的计算和存储需求也随之增加,这使得边缘设备(如手机和智能手表)在加载和实时执行这些模型时面临了新的挑战。
为了解决这一问题,云计算被提出作为一种可能的解决方案,通过这种方式,边缘设备可以依赖云端强大的计算能力来进行深度学习模型的推理;但是,这种方法也带来了新的问题,即网络延迟和带宽限制,其中,在某些需要实时反馈的应用场景中,网络延迟可能导致用户体验下降,而带宽限制则可能影响到模型推理的效率;因此,如何在边缘设备上高效地加载并执行深度学习模型已成为了一个紧迫的研究问题。
发明内容
本发明的目的是提供一种卷积神经网络模型的加载方法、装置及存储介质,用以解决现有技术采用云计算来加载并执行深度学习模型所存在的容易受到网络延迟和带宽限制影响而造成用户体现下降以及模型推理效率降低的问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面,提供了一种卷积神经网络模型的加载方法,包括:
获取模型运行参数表以及若干第一神经网络模型,其中,任一第一神经网络模型是以第二神经网络模型的输出作为训练数据而训练得到的,所述任一第一神经网络模型的模型种类与所述第二神经网络模型相同,所述第二神经网络模型的模型复杂度高于任一第一神经网络模型,各个第一神经网络模型的模型尺寸互不相同,且所述模型运行参数表中存储有运行各个第一神经网络模型的最小内存、各个第一神经网络模型的单次推理时间以及模型推理时间;
读取目标边缘设备的空闲内存容量,并基于所述空闲内存容量和所述模型运行参数表,从若干第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个第一神经网络模型,以作为备选神经网络模型,其中,任一备选神经网络模型对应的最小内存小于所述空闲内存容量;
基于所述模型运行参数表,从所述备选神经网络模型中选取出单次推理时间小于预设值的备选神经网络模型,并将选取出的备选神经网络模型中模型推理时间最大的备选神经网络模型,作为所述目标边缘设备的最优模型;
加载所述最优模型,以完成所述最优模型在所述目标边缘设备中的部署。
基于上述公开的内容,本发明预先训练有若干第一神经网络模型,并存储有各个第一神经网络模型的单次推理时间、模型推理时间以及运行所需的最小内存;其中,各个第一神经网络模型是以第二神经网络模型的输入作为训练数据而训练得到的,各个第一神经网络模型的模型复杂度低于第二神经网络模型,且种类与第二神经网络模型相同;如此,相当于将一个大的神经网络模型拆分为多个具有同等功能的小型神经网络模型。
而后,通过获取目标边缘设备的空闲内存容量,并将设备的空闲内存容量与各个第一神经网络模型的运行内存进行比较,从而来选取出符合目标边缘设备运行能力的至少一个第一神经网络模型;接着,即可在选取出的至少一个第一神经网络模型中,提取出单次推理时间小于预设值的模型;如此,该步骤相当于选择出了推理效率符合使用需求的模型;最后,即可从提取出的模型中选取出模型推理时间最长的模型,来作为目标边缘设备的最优模型;基于此,相当于从选取出的模型中选取尺寸最大的模型,来作为最优模型;由此,即可在保证推理效率的同时,尽可能的提高模型推理精度。
通过上述设计,本发明通过在边缘设备中设置若干小型神经网络模型,并计算出了各个小型神经网络模型的单次推理时间、模型推理时间以及运行内存;而后,即可基于此,来进行模型匹配,即将边缘设备的运算能力,与各个小型神经网络模型的运行内存进行比较,来选取出备选模型;接着,再选取出单次推理时间符合使用需求的模型;最后,则可从符合使用需求的模型中,选取出尺寸最大的模型作为当前边缘设备的最优模型来进行模型加载;由此,本发明能够为每个边缘设备匹配出兼具效率以及精度的本地模型,避免了传统技术采用云端加载模型所存在的易受网络带宽和延时影响的问题,能够提高用户的体验感,非常适用于大规模应用与推广。
在一个可能的设计中,所述任一第一神经网络模型为CNN模型,其中,所述任一第一神经网络模型的输出为:
(1)
上述公式(1)中,表示所述任一第一神经网络模型在以输入为样本数据/>时的模型输出,/>表示所述样本数据/>的真实标签,/>表示所述样本数据/>输入所述任一第一神经网络模型后,所述任一第一神经网络模型在softmax层之前的真实输出,/>表示所述样本数据/>在输入后,所述任一第一神经网络模型在softmax层之前输出的样本数据/>属于第j类的得分,其中,/>表示分类总数,且/>表示温度参数;
相应的,所述任一第一神经网络模型的损失函数为:
(2)
上述公式(2)中,表示所述任一第一神经网络模型的损失函数,/>表示所述真实标签的概率分布,/>表示所述第二神经网络模型的模型输出,/>所述任一第一神经网络模型的模型输出,/>表示交叉熵函数,/>均表示权重。
在一个可能的设计中,在以第二神经网络模型的输出作为训练数据来训练得到所述任一第一神经网络模型后,所述方法还包括:
获取所述任一第一神经网络模型的模型参数,并组成模型参数集;
利用所述模型参数集,确定出剪枝后的模型参数集,并利用所述剪枝后的模型参数集,构建出剪枝损失函数;
利用所述剪枝损失函数,对所述任一第一神经网络模型进行剪枝操作,以在所述剪枝损失函数达到最小值时,得到最优的剪枝后的模型参数集;
基于最优的剪枝后的模型参数集,更新所述任一第一神经网络模型,得到更新后的任一第一神经网络模型,以便在完成所有第一神经网络模型的更新后,基于所述空闲内存容量和所述模型运行参数表,从若干更新后的第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个更新后的第一神经网络模型。
在一个可能的设计中,利用所述模型参数集,确定出剪枝后的模型参数集,包括:
初始化二值掩码向量,其中,所述二值掩码向量中包含有若干元素,每个元素分别对应所述任一第一神经网络模型的一种模型参数,且任一元素为1,表示保留所述任一元素对应的模型参数,所述任一元素为0,表示剪枝所述任一元素对应的模型参数;
基于所述二值掩码向量和所述任一第一神经网络模型的模型参数集,并按照如下公式(3),确定出所述剪枝后的模型参数集;
(3)
上述公式(3)中,表示所述任一第一神经网络模型的模型参数集,/>表示剪枝后的模型参数集,/>表示所述二值掩码向量;
相应的,利用所述剪枝后的模型参数集,构建出剪枝损失函数,则包括:
采用如下公式(4),构建出所述剪枝损失函数;
(4)
上述公式(4)中,表示所述剪枝损失函数,/>表示以剪枝后的模型参数集作为所述任一第一神经网络模型的模型参数时的模型损失函数,/>表示剪枝后的模型参数集的范数,/>表示正则化参数。
在一个可能的设计中,各个第一神经网络模型的模型推理时间,采用如下方法计算得到;
获取目标边缘设备的浮点计算能力,以及各个第一神经网络模型的理论计算复杂度;
基于所述目标边缘设备的浮点计算能力以及各个第一神经网络模型的理论计算复杂度,并按照如下公式(5),计算得到各个第一神经网络模型的模型推理时间;
(5)
上述公式(5)中,表示若干第一神经网络模型中第z个第一神经网络模型的模型推理时间,/>表示第z个第一神经网络模型的理论计算复杂度,/>表示所述浮点计算能力,/>依次表示第一参数和第二参数。
在一个可能的设计中,获取各个第一神经网络模型的理论计算复杂度,包括:
对于任一第一神经网络模型,采用如下公式(6),计算出所述任一第一神经网络模型中任一卷积层的计算复杂度,以及采用如下公式(7),计算出所述任一第一神经网络模型中任一全连接层的计算复杂度;
(6)
(7)
上述公式(6)中,表示任一卷积层的计算复杂度,/>表示所述任一卷积层的输入通道数,/>表示所述任一卷积层的输出通道数,/>表示所述任一卷积层的卷积核大小,/>表示任一卷积层的卷积步长,/>依次表示该任一卷积层的输入特征图的高度和宽度;
上述公式(7)中,表示所述任一全连接层的计算复杂度,/>依次表示任一全连接层的输入神经元的数量和输出神经元的数量;
基于所述任一第一神经网络模型中各个卷积层和各个全连接层的计算复杂度,并依据所述任一第一神经网络模型的模型结构,计算出所述任一第一神经网络模型的理论计算复杂度。
在一个可能的设计中,所述第一参数和所述第二参数采用如下方法计算得到;
将各个第一神经网络模型按照尺寸从小至大的顺序进行排序,并选取前m个第一神经网络模型,以作为目标模型;
获取各个目标模型的单次推理时间以及理论计算复杂度;
基于各个目标模型的单次推理时间、理论计算复杂度以及前述公式(5),并利用最小二乘法,计算得到所述第一参数和所述第二参数。
第二方面,提供了一种卷积神经网络模型的加载装置,包括:
获取单元,用于获取模型运行参数表以及若干第一神经网络模型,其中,任一第一神经网络模型是以第二神经网络模型的输出作为训练数据而训练得到的,任一第一神经网络模型的模型种类与第二神经网络模型相同,所述第二神经网络模型的模型复杂度高于任一第一神经网络模型,各个第一神经网络模型的模型尺寸互不相同,且所述模型运行参数表中存储有运行各个第一神经网络模型的最小内存、各个第一神经网络模型的单次推理时间以及模型推理时间;
模型匹配单元,用于读取目标边缘设备的空闲内存容量,并基于所述空闲内存容量和所述模型运行参数表,从若干第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个第一神经网络模型,以作为备选神经网络模型,其中,任一备选神经网络模型对应的最小内存小于所述空闲内存容量;
模型匹配单元,用于基于所述模型运行参数表,从所述备选神经网络模型中选取出单次推理时间小于预设值的备选神经网络模型,并将选取出的备选神经网络模型中模型推理时间最大的备选神经网络模型,作为所述目标边缘设备的最优模型;
模型加载单元,用于加载所述最优模型,以完成所述最优模型在目标边缘设备中的部署。
第三方面,提供了另一种卷积神经网络模型的加载装置,以装置为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述卷积神经网络模型的加载方法。
第四方面,提供了一种存储介质,存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述卷积神经网络模型的加载方法。
第五方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如第一方面或第一方面中任意一种可能设计的所述卷积神经网络模型的加载方法。
有益效果:
(1)本发明通过在边缘设备中设置若干小型神经网络模型,并计算出了各个小型神经网络模型的单次推理时间、模型推理时间以及运行内存;而后,即可基于此,来进行模型匹配,即将边缘设备的运算能力,与各个小型神经网络模型的运行内存进行比较,来选取出备选模型;接着,再选取出单次推理时间符合使用需求的模型;最后,则可从符合使用需求的模型中,选取出尺寸最大的模型作为当前边缘设备的最优模型来进行模型加载;由此,本发明能够为每个边缘设备匹配出兼具效率以及精度的本地模型,避免了传统技术采用云端加载模型所存在的易受网络带宽和延时影响的问题,能够提高用户的体验感,非常适用于大规模应用与推广。
附图说明
图1为本发明实施例提供的卷积神经网络模型的加载方法的步骤流程示意图;
图2为本发明实施例提供的卷积神经网络模型的加载装置的结构示意图;
图3为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图和实施例或现有技术的描述对本发明作简单地介绍,显而易见地,下面关于附图结构的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
实施例:
参见图1所示,本实施例所提供的卷积神经网络模型的加载方法,通过在设备中布置若干小型神经网络模型,并基于各个小型神经网络模型的推理效率、运行所需内存以及设备的运算能力,来进行最优模型的匹配与加载;如此,本发明能够为边缘设备匹配出兼具效率以及精度的本地模型,避免了传统技术采用云端加载模型所存在的易受网络带宽和延时影响的问题,能够提高用户的体验感,非常适用于大规模应用与推广;在本实施例中,举例本方法可以但不限于在目标边缘设备端侧运行,可选的,举例目标边缘设备可以但不限于为智能手机和/或智能手表,可以理解的是,前述执行主体并不构成对本申请实施例的限定,相应的,本方法的运行步骤可以但不限于如下述步骤S1~S4所示。
S1. 获取模型运行参数表以及若干第一神经网络模型,其中,任一第一神经网络模型是以第二神经网络模型的输出作为训练数据而训练得到的,所述任一第一神经网络模型的模型种类与所述第二神经网络模型相同,所述第二神经网络模型的模型复杂度高于任一第一神经网络模型,各个第一神经网络模型的模型尺寸互不相同,且所述模型运行参数表中存储有运行各个第一神经网络模型的最小内存、各个第一神经网络模型的单次推理时间以及模型推理时间。
在本实施例中,步骤S1相当于是将一个大型的神经网络模型(即第二神经网络模型)替换为多个小型的神经网络模型(即第一神经网络模型);具体的,相当于是使用预先训练好的标准大型CNN模型(第二神经网络模型)作为教师模型,然后在目标边缘设备中设置多个小型神经网络模型作为学生模型(模型种类与教师模型相同);最后,则可使用教师模型的输出来训练学生模型,确保学生模型可以模仿教师模型的行为;如,假设第二神经网络模型为CNN模型,其模型功能为目标识别,那么,各个学生模型的模型功能也为目标识别,仅是复杂度低于教师模型而已。
在具体应用时,举例所述任一第一神经网络模型可以但不限于为CNN模型,其中,所述任一第一神经网络模型的输出如下述公式(1)所示。
(1)
上述公式(1)中,表示所述任一第一神经网络模型在以输入为样本数据/>时的模型输出,/>表示所述样本数据/>的真实标签,/>表示所述样本数据/>输入所述任一第一神经网络模型后,所述任一第一神经网络模型在softmax层之前的真实输出,/>表示所述样本数据/>在输入后,所述任一第一神经网络模型在softmax层之前输出的样本数据/>属于第j类的得分,其中,/>表示分类总数,且/>表示温度参数;在本实施例中,/>大于1。
同时,第二神经网络模型的损失函数与各个第一神经网络模型的损失函数相同,下述以任一第一神经网络模型为例,来阐述其对应的损失函数,如下述公式(2)所示。
(2)
上述公式(2)中,表示所述任一第一神经网络模型的损失函数,/>表示所述真实标签的概率分布,/>表示所述第二神经网络模型的模型输出,/>所述任一第一神经网络模型的模型输出,/>表示交叉熵函数,/>均表示权重,且二者的和为1。
可选的,交叉熵函数的具体公式为:
(8)
上述公式(8)中,表示交叉熵,/>表示在真实标签的概率分布中,输入样本属于第i类的概率,/>表示模型(为第一神经网络模型或第二神经网络模型)预测的输入样本属于第i类的概率,i的取值则为1至d,且d表示类别总数。
如此,结合前述损失函数,任一第一神经网络模型的实际训练步骤则为;(1)预先训练一个教师模型,并固定其参数(如层数(神经网络的深度,包括卷积层、全连接层、池化层等的总数),过滤器的数量、尺寸、步长和填充方式,池化类型、全连接类型、激活函数、正则化参数、归一化参数以及网络的权重和偏置等);(2)将训练样本输入至教师模型,得到输出;(3)将教师模型的输出作为学生模型的输入,并计算每次训练时的损失函数;(3)使用损失函数调整学生模型的模型参数,直至模型收敛时,得到各个第一神经网络模型;如此,基于前述训练,能够确保学生模型不仅试图匹配数据的真实标签,而且还试图匹配教师模型的行为,这有助于学生模型学到更多的信息,尤其是在数据标签可能有噪音或不完整的情况下;基于此,可保证学生模型的推理准确性。
在得到各个第一神经网络模型后,还需计算各个第一神经网络模型的运行内存、单次模型推理时间以及模型推理时间(指各个第一神经网络模型在目标边缘设备上的推理时间性能),以便后续结合目标边缘设备的空间内存容量,来进行模型匹配;其中,举例各个第一神经网络模型的模型推理时间,可以但不限于采用如下方法计算得到。
获取目标边缘设备的浮点计算能力,以及各个第一神经网络模型的理论计算复杂度;在具体应用时,可利用跨平台的检测工具(如使用Geekbench来检测市面上常见边缘设备所用CPU的浮点计算能力);其中,实际操作过程为:设备首次启动时,检测工具从设备的系统文件中(比如android系统的/proc/cpuinfo文件)读取设备的CPU硬件型号,并查表获取设备的浮点计算能力(其量化为一个数值);而在得到浮点计算能力后,还需计算出各个第一神经网络模型的理论计算复杂度,可选的,以任一第一神经网络模型为例(其为CNN模型),来阐述其理论计算复杂度的计算过程,如下述步骤A1和步骤A2。A1. 对于任一第一神经网络模型,采用如下公式(6),计算出所述任一第一神经网络模型中任一卷积层的计算复杂度,以及采用如下公式(7),计算出所述任一第一神经网络模型中任一全连接层的计算复杂度。
(6)
(7)
上述公式(6)中,表示任一卷积层的计算复杂度,/>表示所述任一卷积层的输入通道数,/>表示所述任一卷积层的输出通道数,/>表示所述任一卷积层的卷积核大小,/>表示任一卷积层的卷积步长,/>依次表示该任一卷积层的输入特征图的高度和宽度。
上述公式(7)中,表示所述任一全连接层的计算复杂度,/>依次表示任一全连接层的输入神经元的数量和输出神经元的数量。
在基于前述公式(6)和公式(7)计算出该任一第一神经网络模型中各个卷积层和全连接层的计算复杂度后,即可基于模型结构,来计算出整个模型的理论计算复杂度;其中,计算过程如下述步骤A2所示。
A2. 基于所述任一第一神经网络模型中各个卷积层和各个全连接层的计算复杂度,并依据所述任一第一神经网络模型的模型结构,计算出所述任一第一神经网络模型的理论计算复杂度;在本实施例中,由于模型中的卷积层和全连接层通常是交替出现的,所以在计算整个模型的理论计算复杂度时,需要考虑它们的交替顺序;如此,相当于是按照模型推理顺序来计算复杂度。
由此通过前述步骤A1和步骤A2,即可计算出该任一第一神经网络模型的理论计算度,而后,结合目标边缘设备的浮点计算能力,即可计算出该任一第一神经网络模型的模型推理时间;其中,模型推理时间的计算过程如下述步骤B所示。
基于所述目标边缘设备的浮点计算能力以及各个第一神经网络模型的理论计算复杂度,并按照如下公式(5),计算得到各个第一神经网络模型的模型推理时间。(5)
上述公式(5)中,表示若干第一神经网络模型中第z个第一神经网络模型的模型推理时间,/>表示第z个第一神经网络模型的理论计算复杂度,/>表示所述浮点计算能力,/>依次表示第一参数和第二参数。
在具体应用时,所述第一参数和所述第二参数采用如下方法计算得到:
B1.将各个第一神经网络模型按照尺寸从小至大的顺序进行排序,并选取前m个第一神经网络模型,以作为目标模型;在本实施例中,相当于是按照模型复杂度从小至大的顺序进行排序,且举例m可以但不限于为3。
B2. 获取各个目标模型的单次推理时间以及理论计算复杂度;在具体实施时,任一目标模型的单次推理时间可以但不限于进行测试获得;如进行图像分类任务基准测试,得出将图像从输入该任一目标模型,至得出模型输出结果这一过程所用的时长,从而来作为该任一目标模型的单次推理时间;当然,前述任一目标模型的理论计算复杂度可参见前述步骤A1和A2,于此不再赘述。
在得到各个目标模型的单次推理时间和理论计算复杂度后,结合前述公式(5),即可计算出前述第一参数和第二参数;其中,具体计算过程如下述步骤B3所示。
B3. 基于各个目标模型的单次推理时间、理论计算复杂度以及前述公式(5),并利用最小二乘法,计算得到所述第一参数和所述第二参数;在本实施例中,相当于将单次推理时间作为,然后,各个目标模型的浮点计算能力和理论计算复杂度已知,因此,代入公式(5)中,并利用最小二乘法,即可拟合得出第一参数和第二参数。
由此在计算出第一参数和参数后,将二者反代入公式(5),并结合各个第一神经网络模型的理论计算复杂度和目标边缘设备的浮点计算能力,即可预测出各个第一神经网络模型在目标边缘设备上的模型推理时间(即推理时间性能)。
更进一步的,运行各个第一神经网络模型的最小内存,可通过在目标边缘设备上加载时获取,即加载各个第一神经网络模型,并获取加载前后的内存;而后,基于加载前后的内存,即可确定出运行各个第一神经网络模型的最小内容;如,假设任一第一神经网络模型在加载前,目标边缘设备的内存为8G,加载后变为6G,那么则说明运行该任一第一神经网络模型所需的最小内存为2G;当然,其余各个第一神经网络模型的最小内容的确定方式与前述举例相同,于此不再赘述。
在得到运行各个第一神经网络模型的最小内存、各个第一神经网络模型的单次推理时间和在目标边缘设备上的模型推理时间后,即可形成模型运行参数表,并存储至目标边缘设备中;而后,即可结合目标边缘设备的空闲内存容量,来进行模型匹配;其中,模型匹配过程如下述步骤S2所示。
S2. 读取目标边缘设备的空闲内存容量,并基于所述空闲内存容量和所述模型运行参数表,从若干第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个第一神经网络模型,以作为备选神经网络模型,其中,任一备选神经网络模型对应的最小内存小于所述空闲内存容量;在本实施例中,以一个实例来阐述步骤S2;若目标边缘设备的空闲内存容量为5G,那么则从各个第一神经网络模型中,选择出运行内存小于5G的模型,来作为备选模型;如此,可保证目标边缘设备能够无压力的运行选取出的模型。
在得到备选神经网络模型后,还需要在保证运行效率的同时,提高模型推理精度,因此,本实施例还设置有二次匹配过程;如下述步骤S3所示。
S3. 基于所述模型运行参数表,从所述备选神经网络模型中选取出单次推理时间小于预设值的备选神经网络模型,并将选取出的备选神经网络模型中模型推理时间最大的备选神经网络模型,作为所述目标边缘设备的最优模型;在具体实施时,还是以一个实例来阐述前述步骤S3,假设使用需求为单次推理时间为0.01s,那么则需要从备选神经网络中选取出单次推理时间小于0.01s的模型(假设为模型A、模型B和模型C);最后,则需要从模型A、模型B和模型C中,选取出模型推理时间最长的模型(模型推理时间越长,说明结构越复杂,精度越高),作为最优模型;如此通过前述设计,即可匹配出兼具效率以及精度的模型。
在完成模型的匹配后,即可进行模型的加载,如下述步骤S4所示。
S4. 加载所述最优模型,以完成所述最优模型在所述目标边缘设备中的部署。
由此通过前述步骤S1~S4所详细描述的卷积神经网络模型的加载方法,本发明通过在设备中布置若干小型神经网络模型,并基于各个小型神经网络模型的推理效率、运行所需内存以及设备的运算能力,来进行最优模型的匹配与加载;如此,本发明能够为边缘设备匹配出兼具效率以及精度的本地模型,避免了传统技术采用云端加载模型所存在的易受网络带宽和延时影响的问题,能够提高用户的体验感,非常适用于大规模应用与推广。
在一个可能的设计中,本实施例第二方面在实施例第一方面的基础上进行进一步的优化,即为了进一步的减少各个第一神经网络模型的尺寸(即模型复杂度),本实施例在以第二神经网络模型的输出作为训练数据来训练得到所述任一第一神经网络模型后,还设置有模型剪枝流程;其中,还是以任一第一神经网络模型为例来具体阐述,其过程如下述步骤S11~S14所示。
S11. 获取所述任一第一神经网络模型的模型参数,并组成模型参数集。
S12. 利用所述模型参数集,确定出剪枝后的模型参数集,并利用所述剪枝后的模型参数集,构建出剪枝损失函数;在具体应用时,举例可以但不限于定义一个二值掩码向量,并结合模型参数集来定义出剪枝后的模型参数集,其具体构建过程可以但不限于如下述步骤S12a和步骤S12b所示。
S12a. 初始化二值掩码向量,其中,所述二值掩码向量中包含有若干元素,每个元素分别对应所述任一第一神经网络模型的一种模型参数,且任一元素为1,表示保留所述任一元素对应的模型参数,所述任一元素为0,表示剪枝所述任一元素对应的模型参数。
S12b. 基于所述二值掩码向量和所述任一第一神经网络模型的模型参数集,并按照如下公式(3),确定出所述剪枝后的模型参数集。
(3)
上述公式(3)中,表示所述任一第一神经网络模型的模型参数集,/>表示剪枝后的模型参数集,/>表示所述二值掩码向量;在本实施例中,对于第r个模型参数,其对应的剪枝后的模型参数则为:/>,式中,/>表示模型参数集中的第r个模型参数,/>表示二值掩码向量中第r个模型参数对应的元素值,/>表示剪枝后的模型参数r;当然,其余剪枝后的模型参数的计算过程与前述举例相同,于此不再赘述。
如此,基于前述公式(3),即可使用二值掩码向量和原始的模型参数集来定义剪枝后的模型参数集;而后,基于剪枝后的模型参数集,即可构建出剪枝损失函数,以便根据该损失函数来进行模型的剪枝操作;具体的,可以但不限于采用如下公式(4),构建出所述剪枝损失函数。
(4)
上述公式(4)中,表示所述剪枝损失函数,/>表示以剪枝后的模型参数集作为所述任一第一神经网络模型的模型参数时的模型损失函数,/>表示剪枝后的模型参数集的范数,/>表示正则化参数;其中,/>可为/>范数。
基于前述公式(4),构建出剪枝损失函数后,即可基于该剪枝损失函数来进行模型剪枝,其过程如下述步骤S13所示。
S13. 利用所述剪枝损失函数,对所述任一第一神经网络模型进行剪枝操作,以在所述剪枝损失函数达到最小值时,得到最优的剪枝后的模型参数集;在本实施例中,相当于是迭代剪枝过程,即用上一迭代时的剪枝得到的模型参数,更新模型的损失函数,然后更新前述剪枝损失函数;接着,判断剪枝损失函数是否达到最小值;若否,则继续迭代,直至达到最小值时,得到最优的剪枝轴的模型参数集;如此,前述剪枝操作实质就是使更多的模型参数为0,从而实现模型参数的稀疏化。
在完成该任一第一神经网络模型的剪枝操作后,则可更新该任一第一神经网络模型,得到最优尺寸的任一第一神经网络模型;其中,更新过程如下述步骤S14所示。
S14. 基于最优的剪枝后的模型参数集,更新所述任一第一神经网络模型,得到更新后的任一第一神经网络模型,以便在完成所有第一神经网络模型的更新后,基于所述空闲内存容量和所述模型运行参数表,从若干更新后的第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个更新后的第一神经网络模型。
由此通过前述步骤S11~S14,则可进一步的简化各个第一神经网络模型的模型复杂度,从而更适合在目标边缘设备中加载以及执行;同时,结合前述实施例第一方面的模型匹配方案,依旧可为目标边缘设备匹配出兼具效率以及精度的本地模型。
当然,基于本实施例第二方面所提供的更新后的第二神经网络模型来进行模型匹配的过程,与前述实施例第一方面相同,于此不再赘述。
如图2所示,本实施例第三方面提供了一种实现实施例第一方面中所述的卷积神经网络模型的加载方法的硬件装置,包括:
获取单元,用于获取模型运行参数表以及若干第一神经网络模型,其中,任一第一神经网络模型是以第二神经网络模型的输出作为训练数据而训练得到的,任一第一神经网络模型的模型种类与第二神经网络模型相同,所述第二神经网络模型的模型复杂度高于任一第一神经网络模型,各个第一神经网络模型的模型尺寸互不相同,且所述模型运行参数表中存储有运行各个第一神经网络模型的最小内存、各个第一神经网络模型的单次推理时间以及模型推理时间。
模型匹配单元,用于读取目标边缘设备的空闲内存容量,并基于所述空闲内存容量和所述模型运行参数表,从若干第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个第一神经网络模型,以作为备选神经网络模型,其中,任一备选神经网络模型对应的最小内存小于所述空闲内存容量。
模型匹配单元,用于基于所述模型运行参数表,从所述备选神经网络模型中选取出单次推理时间小于预设值的备选神经网络模型,并将选取出的备选神经网络模型中模型推理时间最大的备选神经网络模型,作为所述目标边缘设备的最优模型。
模型加载单元,用于加载所述最优模型,以完成所述最优模型在目标边缘设备中的部署。
本实施例提供的装置的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。
如图3所示,本实施例第四方面提供了另一种卷积神经网络模型的加载装置,以装置为电子设备为例,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面和/或第二方面所述的卷积神经网络模型的加载方法。
具体举例的,所述存储器可以但不限于包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read Only Memory ,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等等;具体地,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现,同时,处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制,例如,所述处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruction setcomputer,RISC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,NPU)的处理器;所述收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例提供的电子设备的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。
本实施例第五方面提供了一种存储包含有实施例第一方面和/或第二方面所述的卷积神经网络模型的加载方法的指令的存储介质,即所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如实施例第一方面和/或第二方面所述的卷积神经网络模型的加载方法。
其中,所述存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例提供的存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。
本实施例第六方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面和/或第二方面所述的卷积神经网络模型的加载方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种卷积神经网络模型的加载方法,其特征在于,包括:
获取模型运行参数表以及若干第一神经网络模型,其中,任一第一神经网络模型是以第二神经网络模型的输出作为训练数据而训练得到的,所述任一第一神经网络模型的模型种类与所述第二神经网络模型相同,所述第二神经网络模型的模型复杂度高于任一第一神经网络模型,各个第一神经网络模型的模型尺寸互不相同,且所述模型运行参数表中存储有运行各个第一神经网络模型的最小内存、各个第一神经网络模型的单次推理时间以及模型推理时间;
读取目标边缘设备的空闲内存容量,并基于所述空闲内存容量和所述模型运行参数表,从若干第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个第一神经网络模型,以作为备选神经网络模型,其中,任一备选神经网络模型对应的最小内存小于所述空闲内存容量;
基于所述模型运行参数表,从所述备选神经网络模型中选取出单次推理时间小于预设值的备选神经网络模型,并将选取出的备选神经网络模型中模型推理时间最大的备选神经网络模型,作为所述目标边缘设备的最优模型;
加载所述最优模型,以完成所述最优模型在所述目标边缘设备中的部署;
各个第一神经网络模型的模型推理时间,采用如下方法计算得到;
获取目标边缘设备的浮点计算能力,以及各个第一神经网络模型的理论计算复杂度;
基于所述目标边缘设备的浮点计算能力以及各个第一神经网络模型的理论计算复杂度,并按照如下公式(5),计算得到各个第一神经网络模型的模型推理时间;
(5)
上述公式(5)中,表示若干第一神经网络模型中第z个第一神经网络模型的模型推理时间,/>表示第z个第一神经网络模型的理论计算复杂度,/>表示所述浮点计算能力,/>依次表示第一参数和第二参数。
2. 根据权利要求1所述的方法,其特征在于,所述任一第一神经网络模型为CNN模型,其中,所述任一第一神经网络模型的输出为:
(1)
上述公式(1)中,表示所述任一第一神经网络模型在以输入为样本数据时的模型输出,/>表示所述样本数据/>的真实标签,/>表示所述样本数据/>输入所述任一第一神经网络模型后,所述任一第一神经网络模型在softmax层之前的真实输出,/>表示所述样本数据/>在输入后,所述任一第一神经网络模型在softmax层之前输出的样本数据/>属于第j类的得分,其中,/>表示分类总数,且/>表示温度参数;
相应的,所述任一第一神经网络模型的损失函数为:
(2)
上述公式(2)中,表示所述任一第一神经网络模型的损失函数,/>表示所述真实标签的概率分布,/>表示所述第二神经网络模型的模型输出,/>所述任一第一神经网络模型的模型输出,/>表示交叉熵函数,/>均表示权重。
3.根据权利要求1所述的方法,其特征在于,在以第二神经网络模型的输出作为训练数据来训练得到所述任一第一神经网络模型后,所述方法还包括:
获取所述任一第一神经网络模型的模型参数,并组成模型参数集;
利用所述模型参数集,确定出剪枝后的模型参数集,并利用所述剪枝后的模型参数集,构建出剪枝损失函数;
利用所述剪枝损失函数,对所述任一第一神经网络模型进行剪枝操作,以在所述剪枝损失函数达到最小值时,得到最优的剪枝后的模型参数集;
基于最优的剪枝后的模型参数集,更新所述任一第一神经网络模型,得到更新后的任一第一神经网络模型,以便在完成所有第一神经网络模型的更新后,基于所述空闲内存容量和所述模型运行参数表,从若干更新后的第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个更新后的第一神经网络模型。
4.根据权利要求3所述的方法,其特征在于,利用所述模型参数集,确定出剪枝后的模型参数集,包括:
初始化二值掩码向量,其中,所述二值掩码向量中包含有若干元素,每个元素分别对应所述任一第一神经网络模型的一种模型参数,且任一元素为1,表示保留所述任一元素对应的模型参数,所述任一元素为0,表示剪枝所述任一元素对应的模型参数;
基于所述二值掩码向量和所述任一第一神经网络模型的模型参数集,并按照如下公式(3),确定出所述剪枝后的模型参数集;
(3)
上述公式(3)中,表示所述任一第一神经网络模型的模型参数集,/>表示剪枝后的模型参数集,/>表示所述二值掩码向量;
相应的,利用所述剪枝后的模型参数集,构建出剪枝损失函数,则包括:
采用如下公式(4),构建出所述剪枝损失函数;
(4)
上述公式(4)中,表示所述剪枝损失函数,/>表示以剪枝后的模型参数集作为所述任一第一神经网络模型的模型参数时的模型损失函数,/>表示剪枝后的模型参数集的范数,/>表示正则化参数。
5.根据权利要求1所述的方法,其特征在于,获取各个第一神经网络模型的理论计算复杂度,包括:
对于任一第一神经网络模型,采用如下公式(6),计算出所述任一第一神经网络模型中任一卷积层的计算复杂度,以及采用如下公式(7),计算出所述任一第一神经网络模型中任一全连接层的计算复杂度;
(6)
(7)
上述公式(6)中,表示任一卷积层的计算复杂度,/>表示所述任一卷积层的输入通道数,/>表示所述任一卷积层的输出通道数,/>表示所述任一卷积层的卷积核大小,/>表示任一卷积层的卷积步长,/>依次表示该任一卷积层的输入特征图的高度和宽度;
上述公式(7)中,表示所述任一全连接层的计算复杂度,/>依次表示任一全连接层的输入神经元的数量和输出神经元的数量;
基于所述任一第一神经网络模型中各个卷积层和各个全连接层的计算复杂度,并依据所述任一第一神经网络模型的模型结构,计算出所述任一第一神经网络模型的理论计算复杂度。
6.根据权利要求1所述的方法,其特征在于,所述第一参数和所述第二参数采用如下方法计算得到;
将各个第一神经网络模型按照尺寸从小至大的顺序进行排序,并选取前m个第一神经网络模型,以作为目标模型;
获取各个目标模型的单次推理时间以及理论计算复杂度;
基于各个目标模型的单次推理时间、理论计算复杂度以及前述公式(5),并利用最小二乘法,计算得到所述第一参数和所述第二参数。
7.一种卷积神经网络模型的加载装置,其特征在于,包括:
获取单元,用于获取模型运行参数表以及若干第一神经网络模型,其中,任一第一神经网络模型是以第二神经网络模型的输出作为训练数据而训练得到的,任一第一神经网络模型的模型种类与第二神经网络模型相同,所述第二神经网络模型的模型复杂度高于任一第一神经网络模型,各个第一神经网络模型的模型尺寸互不相同,且所述模型运行参数表中存储有运行各个第一神经网络模型的最小内存、各个第一神经网络模型的单次推理时间以及模型推理时间;
模型匹配单元,用于读取目标边缘设备的空闲内存容量,并基于所述空闲内存容量和所述模型运行参数表,从若干第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个第一神经网络模型,以作为备选神经网络模型,其中,任一备选神经网络模型对应的最小内存小于所述空闲内存容量;
模型匹配单元,用于基于所述模型运行参数表,从所述备选神经网络模型中选取出单次推理时间小于预设值的备选神经网络模型,并将选取出的备选神经网络模型中模型推理时间最大的备选神经网络模型,作为所述目标边缘设备的最优模型;
模型加载单元,用于加载所述最优模型,以完成所述最优模型在目标边缘设备中的部署;
各个第一神经网络模型的模型推理时间,采用如下方法计算得到;
获取目标边缘设备的浮点计算能力,以及各个第一神经网络模型的理论计算复杂度;
基于所述目标边缘设备的浮点计算能力以及各个第一神经网络模型的理论计算复杂度,并按照如下公式(5),计算得到各个第一神经网络模型的模型推理时间;
(5)
上述公式(5)中,表示若干第一神经网络模型中第z个第一神经网络模型的模型推理时间,/>表示第z个第一神经网络模型的理论计算复杂度,/>表示所述浮点计算能力,/>依次表示第一参数和第二参数。
8.一种卷积神经网络模型的加载装置,其特征在于,包括:依次通信相连的存储器、处理器和收发器,其中,存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1~6任意一项所述的卷积神经网络模型的加载方法。
9.一种存储介质,其特征在于,所述存储介质上存储有指令,当指令在计算机上运行时,执行如权利要求1~6任意一项所述的卷积神经网络模型的加载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410002869.3A CN117762642B (zh) | 2024-01-02 | 2024-01-02 | 一种卷积神经网络模型的加载方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410002869.3A CN117762642B (zh) | 2024-01-02 | 2024-01-02 | 一种卷积神经网络模型的加载方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117762642A CN117762642A (zh) | 2024-03-26 |
CN117762642B true CN117762642B (zh) | 2024-05-28 |
Family
ID=90318109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410002869.3A Active CN117762642B (zh) | 2024-01-02 | 2024-01-02 | 一种卷积神经网络模型的加载方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117762642B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113159276A (zh) * | 2021-03-09 | 2021-07-23 | 北京大学 | 模型优化部署方法、系统、设备及存储介质 |
CN114037844A (zh) * | 2021-11-18 | 2022-02-11 | 西安电子科技大学 | 基于滤波器特征图的全局秩感知神经网络模型压缩方法 |
CN115146775A (zh) * | 2022-07-04 | 2022-10-04 | 同方威视技术股份有限公司 | 边缘设备推理加速方法、装置和数据处理系统 |
CN115600650A (zh) * | 2022-11-02 | 2023-01-13 | 华侨大学(Cn) | 基于强化学习的自动化卷积神经网络量化剪枝方法、设备和存储介质 |
CN116306888A (zh) * | 2023-05-16 | 2023-06-23 | 北京爱芯科技有限公司 | 神经网络剪枝方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190005377A1 (en) * | 2017-06-30 | 2019-01-03 | Advanced Micro Devices, Inc. | Artificial neural network reduction to reduce inference computation time |
-
2024
- 2024-01-02 CN CN202410002869.3A patent/CN117762642B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113159276A (zh) * | 2021-03-09 | 2021-07-23 | 北京大学 | 模型优化部署方法、系统、设备及存储介质 |
CN114037844A (zh) * | 2021-11-18 | 2022-02-11 | 西安电子科技大学 | 基于滤波器特征图的全局秩感知神经网络模型压缩方法 |
CN115146775A (zh) * | 2022-07-04 | 2022-10-04 | 同方威视技术股份有限公司 | 边缘设备推理加速方法、装置和数据处理系统 |
CN115600650A (zh) * | 2022-11-02 | 2023-01-13 | 华侨大学(Cn) | 基于强化学习的自动化卷积神经网络量化剪枝方法、设备和存储介质 |
CN116306888A (zh) * | 2023-05-16 | 2023-06-23 | 北京爱芯科技有限公司 | 神经网络剪枝方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117762642A (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113196305A (zh) | 使用混合精度数据格式训练神经网络加速器 | |
CN110659725B (zh) | 神经网络模型的压缩与加速方法、数据处理方法及装置 | |
US20180018555A1 (en) | System and method for building artificial neural network architectures | |
US20210350233A1 (en) | System and Method for Automated Precision Configuration for Deep Neural Networks | |
WO2020142183A1 (en) | Neural network activation compression with outlier block floating-point | |
CN107944545B (zh) | 应用于神经网络的计算方法及计算装置 | |
CN108171328B (zh) | 一种神经网络处理器和采用其执行的卷积运算方法 | |
CN111240640A (zh) | 基于硬件环境的数据量化方法、装置及可读存储介质 | |
CN113241064A (zh) | 语音识别、模型训练方法、装置、电子设备和存储介质 | |
CN114511042A (zh) | 一种模型的训练方法、装置、存储介质及电子装置 | |
US20220335293A1 (en) | Method of optimizing neural network model that is pre-trained, method of providing a graphical user interface related to optimizing neural network model, and neural network model processing system performing the same | |
CN116126354A (zh) | 模型部署方法、装置、电子设备以及存储介质 | |
EP4227858A1 (en) | Method for determining neural network structure and apparatus thereof | |
CN117762642B (zh) | 一种卷积神经网络模型的加载方法、装置及存储介质 | |
CN111276138B (zh) | 一种语音唤醒系统中处理语音信号的方法及装置 | |
CN116306879A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN108376283B (zh) | 用于神经网络的池化装置和池化方法 | |
CN112532251A (zh) | 一种数据处理的方法及设备 | |
CN117011118A (zh) | 模型参数更新方法、装置、计算机设备以及存储介质 | |
CN116227332A (zh) | 一种transformer混合比特量化方法及系统 | |
CN111667028B (zh) | 一种可靠负样本确定方法和相关装置 | |
US11195094B2 (en) | Neural network connection reduction | |
KR20220144281A (ko) | 신경망 모델의 최적화 방법 및 이를 수행하는 신경망 모델 처리 시스템 | |
CN114298329A (zh) | 一种模型训练方法、装置、设备及存储介质 | |
CN113887730A (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 |