一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网络模型优化方法、装置、计算机设备和存储介质与流程

2021-11-15 17:46:00 来源:中国专利 TAG:


1.本技术涉及机器学习技术领域,特别是涉及一种网络模型优化方法、装置、计算机设备和存储介质。


背景技术:

2.随着电力系统的发展,智能化水平不断提升,网络模型被广泛应用在电力系统的生产调度、数据分析、监测监管等各个环节。以网络模型应用在电力系统的监测监管环节为例,可以通过在终端上运行预先训练好的网络模型,实时监测电力系统中的线路或者装置是否出现故障。由于终端的计算能力和电池容量有限,网络模型的计算推理任务能耗大,因此对终端的要求非常高。
3.虽然,目前网络模型的计算推理任务可以在云端进行,在云端运算完成后将结果发送给终端。然而,将计算推理任务完全卸载到云端,会给网络通信造成巨大的压力,使得网络模型的计算推理能耗过高。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够降低网络模型的计算推理能耗的网络模型优化方法、装置、计算机设备和存储介质。
5.一种网络模型优化方法,所述方法包括:
6.获取目标网络模型;
7.基于所述目标网络模型的模型参数,计算所述目标网络模型对应的能耗值;
8.在根据所述能耗值确定所述目标网络模型未达到能耗优化结束条件时,调整所述目标网络模型的模型参数,获得调整后模型参数;
9.将所述调整后模型参数作为所述目标网络模型的新的模型参数,返回所述计算所述目标网络模型对应的能耗值的步骤,直至达到所述能耗优化结束条件,获得优化后的目标网络模型。
10.在其中一个实施例中,所述基于所述目标网络模型的模型参数,计算所述目标网络模型对应的能耗值,包括:
11.根据所述目标网络模型的结构层,构建能耗拟合模型;
12.基于所述目标网络模型的模型参数以及所述能耗拟合模型,计算所述目标网络模型对应的能耗值。
13.在其中一个实施例中,所述结构层包括卷积层和全连接层中的至少一种;当所述模型参数为调整前模型参数时,所述基于所述目标网络模型的模型参数以及所述能耗拟合模型,计算所述目标网络模型对应的能耗值,包括:
14.获取所述目标网络模型的各卷积层的卷积核对应的卷积核参数、输入参数以及输出参数;
15.基于所述能耗拟合模型,对所述卷积核参数、所述输入参数以及所述输出参数进
行浮点运算,分别计算各所述卷积层对应的卷积层运算能耗量和卷积层参数能耗量;
16.根据所述卷积层运算能耗量以及所述卷积层参数能耗量,确定所述目标网络模型的卷积层对应的能耗值。
17.在其中一个实施例中,所述结构层包括卷积层和全连接层中的至少一种;当所述模型参数为调整前模型参数时,所述基于所述目标网络模型的模型参数以及所述能耗拟合模型,计算所述目标网络模型对应的能耗值,包括:
18.获取所述目标网络模型的全连接层对应的输入神经元参数和输出神经元参数;
19.根据所述能耗拟合模型,将所述输入神经元参数以及所述输出神经元参数进行浮点运算,计算所述全连接层对应的全连接层运算能耗量和全连接层参数能耗量;
20.基于所述全连接层运算能耗量以及所述全连接层参数能耗量,确定所述目标网络模型的全连接层对应的能耗值。
21.在其中一个实施例中,所述调整所述目标网络模型的模型参数,获得调整后模型参数,包括:
22.将所述目标网络模型的模型参数进行二值化处理,得到处理后的目标网络模型;
23.计算所述处理后的目标网络模型的模型精度;
24.当所述模型精度不满足预设精度要求时,基于所述能耗拟合模型获取所述目标网络模型的目标层;
25.将所述目标层的模型参数进行所述二值化处理,返回所述计算所述处理后的目标网络模型的模型精度的步骤,直至所述模型精度满足所述预设精度要求,将满足所述预设精度要求的模型参数作为调整后模型参数。
26.在其中一个实施例中,所述二值化处理,包括;
27.将所述模型参数中的输入参数或者权值参数中的至少一种,量化至预设比特值。
28.在其中一个实施例中,当所述模型参数为调整后模型参数时,所述基于所述目标网络模型的模型参数以及所述能耗拟合模型,计算所述目标网络模型对应的能耗值,包括:
29.根据所述能耗拟合模型,对所述目标层的模型参数进行位运算,计算所述目标层对应的目标层运算能耗量和目标层参数能耗量;
30.基于所述目标层运算能耗量以及所述目标层参数能耗量,确定所述目标网络模型的目标层对应的能耗值。
31.在其中一个实施例中,在所述获得优化后的目标网络模型之后,还包括:
32.将所述优化后的目标网络模型部署在终端中,所述终端用于电力系统的故障监测。
33.一种网络模型优化装置,所述装置包括:
34.网络模型获取模块,用于获取目标网络模型;
35.能耗值计算模块,用于基于所述目标网络模型的模型参数或者所述参数调整模块确定的调整后模型参数,计算所述目标网络模型对应的能耗值;
36.优化结束判定模块,用于在根据所述能耗值确定所述目标网络模型达到能耗优化结束条件时,获得优化后的目标网络模型;
37.参数调整模块,用于在所述优化结束判定模块根据所述能耗值确定所述目标网络模型未达到能耗优化结束条件时,调整所述目标网络模型的模型参数,获得调整后模型参
数。
38.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的网络模型优化方法的步骤。
39.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的网络模型优化方法的步骤。
40.上述网络模型优化方法、装置、计算机设备和存储介质,通过获取目标网络模型;基于目标网络模型的模型参数,计算目标网络模型对应的能耗值;在根据能耗值确定目标网络模型未达到能耗优化结束条件时,调整目标网络模型的模型参数,获得调整后模型参数;将调整后模型参数作为目标网络模型的新的模型参数,返回计算目标网络模型对应的能耗值的步骤,直至达到能耗优化结束条件,获得优化后的目标网络模型。采用上述实施例方法,通过对预先训练的目标网络模型的能耗进行优化,能够在确保目标网络模型的模型精度的情况下,有效降低目标网络模型运行时的计算推理能耗。在将优化后的目标网络模型部署到终端上运行时,还能够降低对终端的计算能力和电池容量的要求,从而减少成本。
附图说明
41.图1为一个实施例中网络模型优化方法的应用环境图;
42.图2为一个实施例中网络模型优化方法的流程示意图;
43.图3为一个具体实施例中网络模型优化方法的示意图;
44.图4为一个实施例中网络模型优化装置的结构框图;
45.图5为一个实施例中计算机设备的内部结构图;
46.图6为另一个实施例中计算机设备的内部结构图。
具体实施方式
47.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
48.在其中一个实施例中,本技术提供的网络模型优化方法,可以应用于如图1所示的应用环境中,其应用环境可以同时涉及终端102和服务器104,终端102通过网络或者其他通信方式与服务器104进行通信。具体地,服务器104通过终端102获取目标网络模型,基于目标网络模型的模型参数,计算目标网络模型对应的能耗值,在根据能耗值确定目标网络模型未达到能耗优化结束条件时,调整目标网络模型的模型参数,获得调整后模型参数,将调整后模型参数作为目标网络模型的新的模型参数,返回计算目标网络模型对应的能耗值的步骤,直至达到能耗优化结束条件,获得优化后的目标网络模型。
49.在其中一个实施例中,本技术提供的网络模型优化方法,其应用环境可以只涉及服务器104。具体地,服务器104直接获取目标网络模型;基于目标网络模型的模型参数,计算目标网络模型对应的能耗值,并根据能耗值对目标网络模型进行优化,直至获得优化后的目标网络模型。
50.在其中一个实施例中,本技术提供的网络模型优化方法,其应用环境可以只涉及终端102。具体地,终端102直接获取目标网络模型;基于目标网络模型的模型参数,计算目
标网络模型对应的能耗值,并根据能耗值对目标网络模型进行优化,直至获得优化后的目标网络模型。
51.其中,目标网络模型是预先训练的、未进行能耗优化的网络模型,终端102可以但不限于是各种嵌入式终端、个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
52.在其中一个实施例中,如图2所示,提供了一种网络模型优化方法,以该方法应用于图1中的终端102和/或服务器104为例进行说明,包括以下步骤:
53.步骤s202,获取目标网络模型。
54.在其中一个实施例中,目标网络模型是预先训练的、未进行能耗优化的网络模型。可以基于网络模型的应用领域,预先训练对应的目标网络模型。当网络模型应用在电力系统时,可以将目标网络模型部署在终端上,在终端上运行目标网络模型,以便实时监测电力系统中的线路或者装置是否出现故障。其中,可以在服务器或者终端上训练得到目标网络模型,训练过程在此不做赘述。
55.在其中一个实施例中,能耗是指能量的消耗,在终端上运行目标网络模型时,目标网络模型会产生计算推理能耗,主要包括执行浮点运算的运算能耗,以及从终端的多级存储结果中读取数据到算术逻辑单元(arithmetic and logic unit,alu)的带宽能耗等,能耗过大则对终端的计算能力和电池容量的要求非常高,因此为了降低成本,需要对目标网络模型的能耗进行优化。
56.步骤s204,基于目标网络模型的模型参数,计算目标网络模型对应的能耗值。
57.在其中一个实施例中,在计算目标网络模型对应的能耗值时,可以基于目标网络模型的模型参数和相应的计算公式直接计算,并在模型参数调整之后重新计算。还可以根据目标网络模型的结构,预先构建能耗拟合模型,在模型参数调整之后直接根据能耗拟合模型得到对应的能耗值。
58.步骤s206,在根据能耗值确定目标网络模型未达到能耗优化结束条件时,调整目标网络模型的模型参数,获得调整后模型参数。
59.在其中一个实施例中,能耗优化结束条件可以是达到预先设定的能耗阈值,也可以是达到预先设定的能耗降低率阈值。其中,预先设定的能耗阈值或者能耗降低率阈值,需要根据实际的目标网络模型的应用领域和部署的终端来确定,目标网络模型的应用领域不同,或者部署的终端的类型不同,则会对应不同的能耗阈值或者能耗降低率阈值。
60.在其中一个实施例中,可以将能耗值与能耗阈值进行比较,根据比较结果确定目标网络模型是否达到能耗优化结束条件。具体地,当能耗值小于或者等于能耗阈值时,确定目标网络模型达到能耗优化结束条件,否则,确定目标网络模型未达到能耗优化结束条件。还可以计算能耗降低率,将能耗降低率与能耗降低率阈值进行比较,根据比较结果确定目标网络模型是否达到能耗优化结束条件。具体地,当能耗降低率大于或者等于能耗降低率阈值时,确定目标网络模型达到能耗优化结束条件,否则,确定目标网络模型未达到能耗优化结束条件。
61.在其中一个实施例中,在根据能耗值确定目标网络模型未达到能耗优化结束条件时,需要调整目标网络模型的模型参数,获得调整后模型参数。具体地,可以使用二值化方法来调整目标网络模型的模型参数。其中,将目标网络模型进行二值化,能够极大程度地降
低网络模型的存储占用和计算量,将目标网络模型中原本的32位浮点数参数量化至1位定点数,能够降低模型部署的存储资源消耗,加速目标网络模型的计算推理过程。二值化方法主要包括直接量化的朴素二值化方法,以及使用最小化量化误差、改善网络损失函数和减小梯度误差等技术的改进二值化方法,可以使用其中任意一种方法来调整目标网络模型的模型参数。
62.步骤s208,将调整后模型参数作为目标网络模型的新的模型参数,返回计算目标网络模型对应的能耗值的步骤,直至达到能耗优化结束条件,获得优化后的目标网络模型。
63.具体地,在对模型参数进行调整之后,将调整后模型参数作为目标网络模型的新的模型参数,返回步骤s204,直至达到能耗优化结束条件,获得优化后的目标网络模型。
64.在其中一个实施例中,当网络模型应用在电力系统时,可以将优化后的目标网络模型部署在终端中,终端可以用于电力系统的故障监测。具体地,终端的类型可以是嵌入式终端。其中,嵌入式终端是一种独立终端,组合了嵌入式网络终端的通信技术和芯片算法,能够实现允许多个用户共同使用一台主机的cpu、内存、硬盘、驱动器等资源。例如,可以通过嵌入式终端运行优化后的目标网络模型,实时监测远程高压输电线路是否出现故障等。
65.上述网络模型优化方法中,通过获取目标网络模型;基于目标网络模型的模型参数,计算目标网络模型对应的能耗值;在根据能耗值确定目标网络模型未达到能耗优化结束条件时,调整目标网络模型的模型参数,获得调整后模型参数;将调整后模型参数作为目标网络模型的新的模型参数,返回计算目标网络模型对应的能耗值的步骤,直至达到能耗优化结束条件,获得优化后的目标网络模型。采用上述实施例方法,通过对预先训练的目标网络模型的能耗进行优化,能够在确保目标网络模型的模型精度的情况下,有效降低目标网络模型运行时的计算推理能耗。在将优化后的目标网络模型部署到终端上运行时,还能够降低对终端的计算能力和电池容量的要求,从而减少成本。
66.在其中一个实施例中,步骤s204基于目标网络模型的模型参数,计算目标网络模型对应的能耗值,包括:
67.步骤s302,根据目标网络模型的结构层,构建能耗拟合模型。
68.其中,目标网络模型的结构层主要包括卷积层、全连接层、激活层和池化层,不同的结构层执行不同的功能,相应的运算量和参数量,以及运算能耗值和参数能耗值也不相同。因此需要根据目标网络模型的结构层,构建每种结构层对应的能耗模型,再根据每种结构层对应的能耗模型,构建整体的能耗拟合模型。
69.步骤s304,基于目标网络模型的模型参数以及能耗拟合模型,计算目标网络模型对应的能耗值。
70.具体地,在构建了能耗拟合模型之后,可以基于目标网络模型的模型参数,直接得到目标网络模型对应的能耗值。
71.在其中一个实施例中,在目标网络模型的结构层主要包括卷积层、全连接层、激活层和池化层,其中,激活层是通过引入非线性函数来增强整体的目标网络模型的计算能力,提高模型精度。常见的激活函数包括线性整流函数(rectified linear unit,relu)、s型函数(sigmoid)和双曲正切函数(tanh)等。激活层的计算推理任务为将卷积层的输出量作为激活函数的输入得到非线性处理后的值。与卷积层和全连接层的能耗值相比,激活层的能耗值要比卷积层和全连接层少几个量级,因此为了方便计算,激活层的能耗值可忽略不计。
另外,池化层主要用于简化目标网络模型的计算复杂程度。由于池化层的计算任务比较简单,因此池化层的能耗值也可忽略不计。
72.在其中一个实施例中,在使用二值化方法来调整目标网络模型的模型参数之前,目标网络模型的模型参数仍然是原本的32位浮点数参数,在计算能耗值时进行的是浮点运算。当模型参数为调整前模型参数时,步骤s304基于目标网络模型的模型参数以及能耗拟合模型,计算目标网络模型对应的能耗值,包括:
73.步骤s402,获取目标网络模型的各卷积层的卷积核对应的卷积核参数、输入参数以及输出参数。
74.在其中一个实施例中,目标网络模型包括多层卷积层和多个卷积核,卷积层负责对训练样本集进行特征提取,因此在计算目标网络模型的卷积层对应的能耗值时,需要获取目标网络模型的各卷积层的卷积核对应的卷积核参数、输入参数以及输出参数。
75.其中,卷积核参数包括每个卷积核的输出特征图的边长,表示为m、还包括每个卷积核的边长,表示为k。输入参数包括卷积核的通道数,也就是输入通道数,表示为c
in
。输出参数包括该卷积层具有的卷积核个数,也就是输出通道数,表示为c
out
。每个卷积核的输出特征图的边长具体包括上一层的特征图边长,表示为m
in
,以及该卷积层输出特征图的边长,表示为m
out

76.步骤s404,基于能耗拟合模型,对卷积核参数、输入参数以及输出参数进行浮点运算,分别计算各卷积层对应的卷积层运算能耗量和卷积层参数能耗量。
77.在其中一个实施例中,卷积层对应的卷积层运算能耗量的计算公式如下:
78.flops
conv
~o(m2×
k2×
c
in
×
c
out
)
79.其中,flops
conv
表示卷积层每秒所执行的浮点运算次数,也就是卷积层运算能耗量,conv表示卷积层,o表示浮点运算次数的量级。
80.在其中一个实施例中,卷积层对应的卷积层参数能耗量的计算公式如下:
[0081][0082]
其中,space
conv
表示卷积层参数能耗量,conv表示卷积层,o表示浮点运算次数的量级。
[0083]
步骤s406,根据卷积层运算能耗量以及卷积层参数能耗量,确定目标网络模型的卷积层对应的能耗值。
[0084]
在其中一个实施例中,目标网络模型的卷积层对应的能耗值为卷积层运算能耗量以及卷积层参数能耗量之和。当存在卷积层能耗系数时,还需要分别将卷积层运算能耗量以及卷积层参数能耗量与卷积层能耗系数相乘,再确定目标网络模型的卷积层对应的能耗值。
[0085]
在其中一个实施例中,当模型参数为调整前模型参数时,步骤s304基于目标网络模型的模型参数以及能耗拟合模型,计算目标网络模型对应的能耗值,包括:
[0086]
步骤s502,获取目标网络模型的全连接层对应的输入神经元参数和输出神经元参数。
[0087]
在其中一个实施例中,全连接层主要用于连接卷积层提取的特征,再将结果输出给分类器,全连接层中每个神经元与前一层所有的神经元全部连接。因此在计算目标网络模型的全连接层对应的能耗值时,需要获取目标网络模型的全连接层对应的输入神经元参
数和输出神经元参数。其中,输入神经元参数为全连接层的前一层的神经元个数,表示为d
in
,输出神经元参数为全连接层的后一层的神经元个数,表示为d
out

[0088]
步骤s504,根据能耗拟合模型,将输入神经元参数以及输出神经元参数进行浮点运算,计算全连接层对应的全连接层运算能耗量和全连接层参数能耗量。
[0089]
在其中一个实施例中,全连接层对应的全连接层运算能耗量的计算公式如下:
[0090]
flops
fc
~o(d
in
×
d
out
)
[0091]
其中,flops
fc
表示全连接层每秒所执行的浮点运算次数,也就是全连接层运算能耗量,fc表示全连接层,o表示浮点运算次数的量级。
[0092]
在其中一个实施例中,全连接层对应的全连接层参数能耗量的计算公式如下:
[0093]
space
fc
~o(d
in
d
in
×
d
out
d
out
)
[0094]
其中,space
fc
表示全连接层参数能耗量,fc表示全连接层,o表示浮点运算次数的量级。
[0095]
步骤s506,基于全连接层运算能耗量以及全连接层参数能耗量,确定目标网络模型的全连接层对应的能耗值。
[0096]
在其中一个实施例中,目标网络模型的全连接层对应的能耗值为全连接层运算能耗量以及全连接层参数能耗量之和。当存在全连接层能耗系数时,还需要分别将全连接层运算能耗量以及全连接层参数能耗量与全连接层能耗系数相乘,再确定目标网络模型的全连接层对应的能耗值。
[0097]
在其中一个实施例中,步骤s206中调整目标网络模型的模型参数,获得调整后模型参数,包括:
[0098]
步骤s602,将目标网络模型的模型参数进行二值化处理,得到处理后的目标网络模型。
[0099]
在其中一个实施例中,使用二值化方法将目标网络模型的模型参数进行二值化处理。具体地,可以将模型参数中的输入参数或者权值参数中的至少一种,量化至预设比特值,预设比特值可以设置为1比特。其中,进行二值化处理的结构层,需要根据计算推理任务要求的模型精度以及能耗值来确定。当对模型精度要求较低,对能耗值要求较高时,则选择将较多的结构层进行二值化处理。相反,当对模型精度要求较高,对能耗值要求较低时,则选择将较少的结构层进行二值化处理。在实际处理时,可以先将所有结构层进行二值化,确定模型精度是否满足预设精度要求,当不满足时,可以根据能耗拟合模型选取特定的结构层进行二值化处理,直至满足预设精度要求。
[0100]
步骤s604,计算处理后的目标网络模型的模型精度。
[0101]
在其中一个实施例中,将目标网络模型的模型参数进行二值化处理之后,目标网络模型的模型结构不改变,得到处理后的目标网络模型。处理后的目标网络模型的模型精度,可以通过运行处理后的目标网络模型之后得到。
[0102]
步骤s606,当模型精度不满足预设精度要求时,基于能耗拟合模型获取目标网络模型的目标层。
[0103]
在其中一个实施例中,当处理后的目标网络模型的模型精度不满足预设精度要求时,可以基于能耗拟合模型选取需要进行二值化处理的结构层,称为目标层,也就是获取目标网络模型的目标层。其中,目标层主要包括卷积层和全连接层。预设精度要求可以是达到
预先设定的精度阈值,还可以是达到预先设定的精度提高率阈值。将模型精度或者计算得到的精度提高率,与精度阈值或者精度提高率阈值进行比较,确定模型精度是否满足预设精度要求。
[0104]
步骤s608,将目标层的模型参数进行二值化处理,返回计算处理后的目标网络模型的模型精度的步骤,直至模型精度满足预设精度要求,将满足预设精度要求的模型参数作为调整后模型参数。
[0105]
在其中一个实施例中,在基于能耗拟合模型获取目标网络模型的目标层之后,将目标层的模型参数进行二值化处理,并返回步骤s604并继续调整模型参数,直至模型精度满足预设精度要求,将满足预设精度要求的模型参数作为调整后模型参数。
[0106]
在其中一个实施例中,在使用二值化方法来调整目标网络模型的模型参数之后,也就是当目标网络模型的模型参数为调整后模型参数时,由于调整后模型参数为1位定点数,因此在计算能耗值时进行的是位运算,从而有效降低能耗值。步骤s204基于目标网络模型的模型参数以及能耗拟合模型,计算目标网络模型对应的能耗值,包括:
[0107]
步骤s702,根据能耗拟合模型,对目标层的模型参数进行位运算,计算目标层对应的目标层运算能耗量和目标层参数能耗量。
[0108]
在其中一个实施例中,在将目标层的输入参数或者权值参数量化到1比特,之后,可以将目标层运算能耗量和目标层参数能耗量降低为原来三十二分之一。同时,二值化处理的目标层可以通过轻量级的bitcount和xnor位运算代替原来的浮点运算,进一步的减少能耗值。具体地,对目标层的模型参数进行位运算,计算目标层对应的目标层运算能耗量和目标层参数能耗量。
[0109]
步骤s704,基于目标层运算能耗量以及目标层参数能耗量,确定目标网络模型的目标层对应的能耗值。
[0110]
具体地,目标网络模型的目标层对应的能耗值为目标层运算能耗量以及目标层参数能耗量之和。
[0111]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0112]
在其中一个具体实施例中,如图3所示为网络模型优化方法的示意图,主要包括:线下训练阶段、线上优化阶段和推理部署阶段。其中,线下训练阶段用于根据目标网络模型的结构层,构建能耗拟合模型。线上优化阶段用于基于能耗拟合模型,对目标网络模型的能耗进行优化。推理部署阶段用于将优化后的目标网络模型部署到终端中,终端能够用于电力系统的故障监测。具体地,步骤如下:
[0113]
一、线下训练阶段
[0114]
获取目标网络模型;
[0115]
根据目标网络模型的结构层,构建能耗拟合模型;
[0116]
二、线上优化阶段
[0117]
基于目标网络模型的模型参数以及能耗拟合模型,计算目标网络模型对应的能耗值;
[0118]
在根据能耗值确定目标网络模型未达到能耗优化结束条件时,将目标网络模型的
模型参数进行二值化处理,得到处理后的目标网络模型;
[0119]
计算处理后的目标网络模型的模型精度;
[0120]
当模型精度不满足预设精度要求时,基于能耗拟合模型获取目标网络模型的目标层;
[0121]
将目标层的模型参数进行二值化处理,返回计算处理后的目标网络模型的模型精度的步骤,直至模型精度满足预设精度要求,将满足预设精度要求的模型参数作为调整后模型参数;
[0122]
将调整后模型参数作为目标网络模型的新的模型参数,返回计算目标网络模型对应的能耗值的步骤,直至达到能耗优化结束条件,获得优化后的目标网络模型;
[0123]
三、推理部署阶段
[0124]
将优化后的目标网络模型部署在终端中,终端用于电力系统的故障监测。
[0125]
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0126]
在其中一个实施例中,如图4所示,提供了一种网络模型优化装置,包括:网络模型获取模块410、能耗值计算模块420、优化结束判定模块430和参数调整模块440,其中:
[0127]
网络模型获取模块410,用于获取目标网络模型。
[0128]
能耗值计算模块420,用于基于所述目标网络模型的模型参数或者所述参数调整模块确定的调整后模型参数,计算所述目标网络模型对应的能耗值。
[0129]
优化结束判定模块430,用于在根据所述能耗值确定所述目标网络模型达到能耗优化结束条件时,获得优化后的目标网络模型。
[0130]
参数调整模块440,用于在所述优化结束判定模块根据所述能耗值确定所述目标网络模型未达到能耗优化结束条件时,调整所述目标网络模型的模型参数,获得调整后模型参数。
[0131]
在其中一个实施例中,能耗值计算模块420包括以下单元:
[0132]
能耗拟合模型构建单元,用于根据所述目标网络模型的结构层,构建能耗拟合模型。
[0133]
能耗值计算单元,用于基于所述目标网络模型的模型参数以及所述能耗拟合模型,计算所述目标网络模型对应的能耗值。
[0134]
在其中一个实施例中,能耗拟合模型构建单元包括以下单元:
[0135]
结构层确定单元,用于确定所述结构层包括卷积层和全连接层中的至少一种。
[0136]
在其中一个实施例中,能耗值计算单元包括以下单元:
[0137]
卷积层能耗值计算单元,用于当所述模型参数为调整前模型参数时,基于所述目标网络模型的模型参数以及所述能耗拟合模型,计算所述目标网络模型对应的能耗值。
[0138]
全连接层能耗值计算单元,用于当所述模型参数为调整前模型参数时,基于所述目标网络模型的模型参数以及所述能耗拟合模型,计算所述目标网络模型对应的能耗值。
[0139]
在其中一个实施例中,卷积层能耗值计算单元包括以下单元:
[0140]
卷积层参数获取单元,用于获取所述目标网络模型的各卷积层的卷积核对应的卷积核参数、输入参数以及输出参数。
[0141]
卷积层能耗量计算单元,用于基于所述能耗拟合模型,对所述卷积核参数、所述输入参数以及所述输出参数进行浮点运算,分别计算各所述卷积层对应的卷积层运算能耗量和卷积层参数能耗量。
[0142]
卷积层能耗值确定单元,用于根据所述卷积层运算能耗量以及所述卷积层参数能耗量,确定所述目标网络模型的卷积层对应的能耗值。
[0143]
在其中一个实施例中,全连接层能耗值计算单元包括以下单元:
[0144]
全连接层参数获取单元,用于获取所述目标网络模型的全连接层对应的输入神经元参数和输出神经元参数。
[0145]
全连接层能耗量计算单元,用于根据所述能耗拟合模型,将所述输入神经元参数以及所述输出神经元参数进行浮点运算,计算所述全连接层对应的全连接层运算能耗量和全连接层参数能耗量。
[0146]
全连接层能耗值确定单元,用于基于所述全连接层运算能耗量以及所述全连接层参数能耗量,确定所述目标网络模型的全连接层对应的能耗值。
[0147]
在其中一个实施例中,参数调整模块440包括以下单元:
[0148]
二值化处理单元,用于将所述目标网络模型的模型参数进行二值化处理,或者,用于将目标层获取单元确定获取的目标层的模型参数进行所述二值化处理,得到处理后的目标网络模型。
[0149]
模型精度计算单元,用于计算所述处理后的目标网络模型的模型精度。
[0150]
模型精度判定单元,用于确定所述处理后的目标网络模型的模型精度是否满足预设精度要求,当确定所述模型精度满足所述预设精度要求时,将满足所述预设精度要求的模型参数作为调整后模型参数。
[0151]
目标层获取单元,用于当模型精度判定单元确定所述模型精度不满足预设精度要求时,基于所述能耗拟合模型获取所述目标网络模型的目标层。
[0152]
二值化处理确定单元,用于确定所述二值化处理包括将所述模型参数中的输入参数或者权值参数中的至少一种,量化至预设比特值。
[0153]
在其中一个实施例中,能耗值计算单元包括以下单元:
[0154]
目标层能耗值计算单元,用于当所述模型参数为调整后模型参数时,基于所述目标网络模型的模型参数以及所述能耗拟合模型,计算所述目标网络模型对应的能耗值。
[0155]
在其中一个实施例中,目标层能耗值计算单元包括以下单元:
[0156]
目标层能耗量计算单元,用于根据所述能耗拟合模型,对所述目标层的模型参数进行位运算,计算所述目标层对应的目标层运算能耗量和目标层参数能耗量。
[0157]
目标层能耗值确定单元,用于基于所述目标层运算能耗量以及所述目标层参数能耗量,确定所述目标网络模型的目标层对应的能耗值。
[0158]
在其中一个实施例中,网络模型优化装置还包括:
[0159]
网络模型部署单元,用于将所述优化后的目标网络模型部署在终端中,所述终端用于电力系统的故障监测。
[0160]
关于网络模型优化装置的具体限定可以参见上文中对于网络模型优化方法的限定,在此不再赘述。上述网络模型优化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0161]
在其中一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储网络模型优化数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络模型优化方法。
[0162]
在其中一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种网络模型优化方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0163]
本领域技术人员可以理解,图5和图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0164]
在其中一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述的网络模型优化方法的步骤。
[0165]
在其中一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的网络模型优化方法的步骤。
[0166]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0167]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0168]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献