一种卷积神经网络模型的加载方法、装置及存储介质与流程

文档序号:37460216发布日期:2024-03-28 18:43阅读:14来源:国知局
一种卷积神经网络模型的加载方法、装置及存储介质与流程

本发明属于模型加载,具体涉及一种卷积神经网络模型的加载方法、装置及存储介质。


背景技术:

1、随着深度学习领域的快速发展,卷积神经网络(cnn)在多种任务中(比如机器视觉)都展现出了卓越的性能,为了提高模型的精度,研究者们设计出了越来越复杂的cnn模型;然而,这些模型的计算和存储需求也随之增加,这使得边缘设备(如手机和智能手表)在加载和实时执行这些模型时面临了新的挑战。

2、为了解决这一问题,云计算被提出作为一种可能的解决方案,通过这种方式,边缘设备可以依赖云端强大的计算能力来进行深度学习模型的推理;但是,这种方法也带来了新的问题,即网络延迟和带宽限制,其中,在某些需要实时反馈的应用场景中,网络延迟可能导致用户体验下降,而带宽限制则可能影响到模型推理的效率;因此,如何在边缘设备上高效地加载并执行深度学习模型已成为了一个紧迫的研究问题。


技术实现思路

1、本发明的目的是提供一种卷积神经网络模型的加载方法、装置及存储介质,用以解决现有技术采用云计算来加载并执行深度学习模型所存在的容易受到网络延迟和带宽限制影响而造成用户体现下降以及模型推理效率降低的问题。

2、为了实现上述目的,本发明采用以下技术方案:

3、第一方面,提供了一种卷积神经网络模型的加载方法,包括:

4、获取模型运行参数表以及若干第一神经网络模型,其中,任一第一神经网络模型是以第二神经网络模型的输出作为训练数据而训练得到的,所述任一第一神经网络模型的模型种类与所述第二神经网络模型相同,所述第二神经网络模型的模型复杂度高于任一第一神经网络模型,各个第一神经网络模型的模型尺寸互不相同,且所述模型运行参数表中存储有运行各个第一神经网络模型的最小内存、各个第一神经网络模型的单次推理时间以及模型推理时间;

5、读取目标边缘设备的空闲内存容量,并基于所述空闲内存容量和所述模型运行参数表,从若干第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个第一神经网络模型,以作为备选神经网络模型,其中,任一备选神经网络模型对应的最小内存小于所述空闲内存容量;

6、基于所述模型运行参数表,从所述备选神经网络模型中选取出单次推理时间小于预设值的备选神经网络模型,并将选取出的备选神经网络模型中模型推理时间最大的备选神经网络模型,作为所述目标边缘设备的最优模型;

7、加载所述最优模型,以完成所述最优模型在所述目标边缘设备中的部署。

8、基于上述公开的内容,本发明预先训练有若干第一神经网络模型,并存储有各个第一神经网络模型的单次推理时间、模型推理时间以及运行所需的最小内存;其中,各个第一神经网络模型是以第二神经网络模型的输入作为训练数据而训练得到的,各个第一神经网络模型的模型复杂度低于第二神经网络模型,且种类与第二神经网络模型相同;如此,相当于将一个大的神经网络模型拆分为多个具有同等功能的小型神经网络模型。

9、而后,通过获取目标边缘设备的空闲内存容量,并将设备的空闲内存容量与各个第一神经网络模型的运行内存进行比较,从而来选取出符合目标边缘设备运行能力的至少一个第一神经网络模型;接着,即可在选取出的至少一个第一神经网络模型中,提取出单次推理时间小于预设值的模型;如此,该步骤相当于选择出了推理效率符合使用需求的模型;最后,即可从提取出的模型中选取出模型推理时间最长的模型,来作为目标边缘设备的最优模型;基于此,相当于从选取出的模型中选取尺寸最大的模型,来作为最优模型;由此,即可在保证推理效率的同时,尽可能的提高模型推理精度。

10、通过上述设计,本发明通过在边缘设备中设置若干小型神经网络模型,并计算出了各个小型神经网络模型的单次推理时间、模型推理时间以及运行内存;而后,即可基于此,来进行模型匹配,即将边缘设备的运算能力,与各个小型神经网络模型的运行内存进行比较,来选取出备选模型;接着,再选取出单次推理时间符合使用需求的模型;最后,则可从符合使用需求的模型中,选取出尺寸最大的模型作为当前边缘设备的最优模型来进行模型加载;由此,本发明能够为每个边缘设备匹配出兼具效率以及精度的本地模型,避免了传统技术采用云端加载模型所存在的易受网络带宽和延时影响的问题,能够提高用户的体验感,非常适用于大规模应用与推广。

11、在一个可能的设计中,所述任一第一神经网络模型为cnn模型,其中,所述任一第一神经网络模型的输出为:

12、(1)

13、上述公式(1)中,表示所述任一第一神经网络模型在以输入为样本数据时的模型输出,表示所述样本数据的真实标签,表示所述样本数据输入所述任一第一神经网络模型后,所述任一第一神经网络模型在softmax层之前的真实输出,表示所述样本数据在输入后,所述任一第一神经网络模型在softmax层之前输出的样本数据属于第j类的得分,其中,表示分类总数,且表示温度参数;

14、相应的,所述任一第一神经网络模型的损失函数为:

15、(2)

16、上述公式(2)中,表示所述任一第一神经网络模型的损失函数,表示所述真实标签的概率分布,表示所述第二神经网络模型的模型输出,所述任一第一神经网络模型的模型输出,表示交叉熵函数,均表示权重。

17、在一个可能的设计中,在以第二神经网络模型的输出作为训练数据来训练得到所述任一第一神经网络模型后,所述方法还包括:

18、获取所述任一第一神经网络模型的模型参数,并组成模型参数集;

19、利用所述模型参数集,确定出剪枝后的模型参数集,并利用所述剪枝后的模型参数集,构建出剪枝损失函数;

20、利用所述剪枝损失函数,对所述任一第一神经网络模型进行剪枝操作,以在所述剪枝损失函数达到最小值时,得到最优的剪枝后的模型参数集;

21、基于最优的剪枝后的模型参数集,更新所述任一第一神经网络模型,得到更新后的任一第一神经网络模型,以便在完成所有第一神经网络模型的更新后,基于所述空闲内存容量和所述模型运行参数表,从若干更新后的第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个更新后的第一神经网络模型。

22、在一个可能的设计中,利用所述模型参数集,确定出剪枝后的模型参数集,包括:

23、初始化二值掩码向量,其中,所述二值掩码向量中包含有若干元素,每个元素分别对应所述任一第一神经网络模型的一种模型参数,且任一元素为1,表示保留所述任一元素对应的模型参数,所述任一元素为0,表示剪枝所述任一元素对应的模型参数;

24、基于所述二值掩码向量和所述任一第一神经网络模型的模型参数集,并按照如下公式(3),确定出所述剪枝后的模型参数集;

25、(3)

26、上述公式(3)中,表示所述任一第一神经网络模型的模型参数集,表示剪枝后的模型参数集,表示所述二值掩码向量;

27、相应的,利用所述剪枝后的模型参数集,构建出剪枝损失函数,则包括:

28、采用如下公式(4),构建出所述剪枝损失函数;

29、(4)

30、上述公式(4)中,表示所述剪枝损失函数,表示以剪枝后的模型参数集作为所述任一第一神经网络模型的模型参数时的模型损失函数,表示剪枝后的模型参数集的范数,表示正则化参数。

31、在一个可能的设计中,各个第一神经网络模型的模型推理时间,采用如下方法计算得到;

32、获取目标边缘设备的浮点计算能力,以及各个第一神经网络模型的理论计算复杂度;

33、基于所述目标边缘设备的浮点计算能力以及各个第一神经网络模型的理论计算复杂度,并按照如下公式(5),计算得到各个第一神经网络模型的模型推理时间;

34、(5)

35、上述公式(5)中,表示若干第一神经网络模型中第z个第一神经网络模型的模型推理时间,表示第z个第一神经网络模型的理论计算复杂度,表示所述浮点计算能力,依次表示第一参数和第二参数。

36、在一个可能的设计中,获取各个第一神经网络模型的理论计算复杂度,包括:

37、对于任一第一神经网络模型,采用如下公式(6),计算出所述任一第一神经网络模型中任一卷积层的计算复杂度,以及采用如下公式(7),计算出所述任一第一神经网络模型中任一全连接层的计算复杂度;

38、(6)

39、(7)

40、上述公式(6)中,表示任一卷积层的计算复杂度,表示所述任一卷积层的输入通道数,表示所述任一卷积层的输出通道数,表示所述任一卷积层的卷积核大小,表示任一卷积层的卷积步长,依次表示该任一卷积层的输入特征图的高度和宽度;

41、上述公式(7)中,表示所述任一全连接层的计算复杂度,依次表示任一全连接层的输入神经元的数量和输出神经元的数量;

42、基于所述任一第一神经网络模型中各个卷积层和各个全连接层的计算复杂度,并依据所述任一第一神经网络模型的模型结构,计算出所述任一第一神经网络模型的理论计算复杂度。

43、在一个可能的设计中,所述第一参数和所述第二参数采用如下方法计算得到;

44、将各个第一神经网络模型按照尺寸从小至大的顺序进行排序,并选取前m个第一神经网络模型,以作为目标模型;

45、获取各个目标模型的单次推理时间以及理论计算复杂度;

46、基于各个目标模型的单次推理时间、理论计算复杂度以及前述公式(5),并利用最小二乘法,计算得到所述第一参数和所述第二参数。

47、第二方面,提供了一种卷积神经网络模型的加载装置,包括:

48、获取单元,用于获取模型运行参数表以及若干第一神经网络模型,其中,任一第一神经网络模型是以第二神经网络模型的输出作为训练数据而训练得到的,任一第一神经网络模型的模型种类与第二神经网络模型相同,所述第二神经网络模型的模型复杂度高于任一第一神经网络模型,各个第一神经网络模型的模型尺寸互不相同,且所述模型运行参数表中存储有运行各个第一神经网络模型的最小内存、各个第一神经网络模型的单次推理时间以及模型推理时间;

49、模型匹配单元,用于读取目标边缘设备的空闲内存容量,并基于所述空闲内存容量和所述模型运行参数表,从若干第一神经网络模型中选取出符合目标边缘设备运行能力的至少一个第一神经网络模型,以作为备选神经网络模型,其中,任一备选神经网络模型对应的最小内存小于所述空闲内存容量;

50、模型匹配单元,用于基于所述模型运行参数表,从所述备选神经网络模型中选取出单次推理时间小于预设值的备选神经网络模型,并将选取出的备选神经网络模型中模型推理时间最大的备选神经网络模型,作为所述目标边缘设备的最优模型;

51、模型加载单元,用于加载所述最优模型,以完成所述最优模型在目标边缘设备中的部署。

52、第三方面,提供了另一种卷积神经网络模型的加载装置,以装置为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述卷积神经网络模型的加载方法。

53、第四方面,提供了一种存储介质,存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述卷积神经网络模型的加载方法。

54、第五方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如第一方面或第一方面中任意一种可能设计的所述卷积神经网络模型的加载方法。

55、有益效果:

56、(1)本发明通过在边缘设备中设置若干小型神经网络模型,并计算出了各个小型神经网络模型的单次推理时间、模型推理时间以及运行内存;而后,即可基于此,来进行模型匹配,即将边缘设备的运算能力,与各个小型神经网络模型的运行内存进行比较,来选取出备选模型;接着,再选取出单次推理时间符合使用需求的模型;最后,则可从符合使用需求的模型中,选取出尺寸最大的模型作为当前边缘设备的最优模型来进行模型加载;由此,本发明能够为每个边缘设备匹配出兼具效率以及精度的本地模型,避免了传统技术采用云端加载模型所存在的易受网络带宽和延时影响的问题,能够提高用户的体验感,非常适用于大规模应用与推广。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1