1.本技术涉及计算机技术领域,尤其涉及一种模型训练方法、装置、电子设备及存储介质。
背景技术:2.随着联网的终端设备逐渐增加,机器学习模型被部署到越来越多的终端设备,如无人机、家庭服务机器人等。由于机器学习模型内存消耗较大、终端设备的内存空间有限,部分模型不能加载至内存使用,存在模型应用场景受限的问题。
技术实现要素:3.有鉴于此,本技术实施例提供一种模型训练方法、装置、电子设备及存储介质,以至少解决相关技术模型应用场景受限的问题。
4.本技术实施例的技术方案是这样实现的:
5.本技术实施例提供了一种模型训练方法,所述方法包括:
6.在训练树模型的过程中分支得到第一叶子节点的情况下,确定所述第一叶子节点的第一参数和第二参数;
7.若所述第一参数和所述第二参数满足第一设定条件,对所述第一叶子节点进行分支处理;
8.基于分支处理后的所述第一叶子节点完成所述树模型的训练,得到训练后的所述树模型;
9.将训练后的所述树模型加载至终端设备的内存;其中,
10.所述第一参数表征被分类到所述第一叶子节点的样本数量;所述第二参数表征所述第一叶子节点的权重参数;所述第一设定条件表征所述第一参数大于第一阈值且所述第二参数大于第二阈值。
11.其中,上述方案中,所述方法还包括:
12.若所述树模型的所有叶子节点的第一参数和第二参数均不满足所述第一设定条件,判断所述树模型对应的模型参数是否满足第二设定条件;
13.在所述树模型对应的模型参数满足所述第二设定条件的情况下,更新所述第一阈值和/或所述第二阈值,并对所述树模型进行再一次训练。
14.上述方案中,所述模型参数表征所述树模型的文件内存,所述第二设定条件表征所述树模型的文件内存大于设定内存大小,所述更新所述第一阈值和/或所述第二阈值,包括以下至少之一:
15.将所述第一阈值增加第一设定值;
16.将所述第二阈值增加第二设定值。
17.上述方案中,所述第二设定值基于所述第二阈值和所述树模型中的每棵决策树的第二叶子节点的样本数量确定;所述第二叶子节点表征分类到样本数量最少的叶子节点。
18.上述方案中,所述模型参数表征所述树模型的检出率,所述第二设定条件表征所述树模型的检出率小于设定阈值,所述更新所述第一阈值和/或所述第二阈值,包括以下至少之一:
19.将所述第一阈值减少第三设定值;
20.将所述第二阈值减少第四设定值。
21.上述方案中,在所述确定所述第一叶子节点的第一参数和第二参数时,所述方法包括:
22.基于被分类到所述第一叶子节点的所有样本的第三参数,确定所述第二参数;所述第三参数表征对应的样本权重参数。
23.上述方案中,所述树模型为xgboost算法的树模型。
24.本技术实施例还提供了一种模型训练装置,包括:
25.第一处理单元,用于在训练树模型的过程中分支得到第一叶子节点的情况下,确定所述第一叶子节点的第一参数和第二参数;
26.第二处理单元,用于若所述第一参数和所述第二参数满足第一设定条件,对所述第一叶子节点进行分支处理;
27.第三处理单元,用于基于分支处理后的所述第一叶子节点完成所述树模型的训练,得到训练后的所述树模型;
28.加载单元,用于将训练后的所述树模型加载至终端设备的内存;其中,
29.所述第一参数表征被分类到所述第一叶子节点的样本数量;所述第二参数表征所述第一叶子节点的权重参数;所述第一设定条件表征所述第一参数大于第一阈值且所述第二参数大于第二阈值。
30.本技术实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
31.其中,所述处理器用于运行所述计算机程序时,执行上述模型训练方法的步骤。
32.本技术实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述模型训练方法的步骤。
33.在本技术实施例中,在训练树模型的过程中,在分支得到第一叶子节点的情况下,确定第一叶子节点的第一参数和第二参数,判断确定出的第一参数和第二参数是否满足第一设定条件,若第一参数和第二参数满足第一设定条件时则对第一叶子节点进行分支处理,基于分支处理后的第一叶子节点完成树模型的训练,得到训练后的树模型,将训练后的树模型加载至终端设备的内存,第一参数表征被分类到第一叶子节点的样本数量,第二参数表征第一叶子节点的权重参数,第一设定条件表征第一参数大于第一阈值且第二参数大于第二阈值。这样,以第一参数和第二参数与对应的阈值之间的大小关系作为是否继续对第一叶子节点进行分支处理的条件,将训练后的树模型加载至终端设备的内存,减少树模型需要占用的终端设备的内存空间,使得训练得到的树模型所占用的内存空间不大于终端设备的内存,从而使模型能够普遍地适用于各类终端设备或各种场景。
附图说明
34.图1为本技术实施例提供的一种模型训练方法的流程示意图;
35.图2为本技术应用实施例提供的一种模型训练方法的示意图;
36.图3为本技术实施例提供的阈值调整的示意图;
37.图4为本技术实施例提供的一种模型训练装置的结构示意图;
38.图5为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
39.随着联网的终端设备逐渐增加,机器学习模型被部署到越来越多的终端设备,如无人机、家庭服务机器人等。由于模型在特定环境下受到设备的内存大小的严格限制,当机器学习模型内存消耗较大而终端设备的内存空间有限时,模型不能加载至内存使用,存在模型应用场景受限的问题。
40.同时,越来越多的应用场景需要在设备有限的内存中放入多个模型,以实现多种不同类别的检测功能,在这种应用场景下内存消耗较大的模型也受到限制。
41.相关技术中,可以模型蒸馏、权重剪枝、模型量化等方式减少模型复杂程度,从而减少模型消耗的内存,实现模型压缩。其中,模型蒸馏、权重剪枝适用于深度模型,不适用于树模型结构。模型量化是指使用低精度的数值,代替模型中高精度的数值,从而减少内存所占空间,但该种方式模型精度下降较多。
42.基于此,在本技术的各种实施例中,在训练树模型的过程中,在分支得到第一叶子节点的情况下,确定第一叶子节点的第一参数和第二参数,判断确定出的第一参数和第二参数是否满足第一设定条件,若第一参数和第二参数满足第一设定条件时则对第一叶子节点进行分支处理,基于分支处理后的第一叶子节点完成树模型的训练,得到训练后的树模型,将训练后的树模型加载至终端设备的内存,第一参数表征被分类到第一叶子节点的样本数量,第二参数表征第一叶子节点的权重参数,第一设定条件表征第一参数大于第一阈值且第二参数大于第二阈值。这样,以第一参数和第二参数与对应的阈值之间的大小关系作为是否继续对第一叶子节点进行分支处理的条件,将训练后的树模型加载至终端设备的内存,减少树模型需要占用的终端设备的内存空间,使得训练得到的树模型所占用的内存空间不大于终端设备的内存,从而使模型能够普遍地适用于各类终端设备或各种场景。
43.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
44.图1为本技术实施例提供的模型训练方法的实现流程示意图,执行主体可以是包括终端的电子设备。如图1示出的,模型训练方法包括:
45.步骤101:在训练树模型的过程中分支得到第一叶子节点的情况下,确定所述第一叶子节点的第一参数和第二参数。
46.其中,所述第一参数表征被分类到第一叶子节点的样本数量;所述第二参数表征第一叶子节点的权重参数。
47.在本实施例中,在训练树模型的过程中,在对上一节点进行分支得到第一叶子节点的情况下,确定得到的每个第一叶子节点对应的第一参数和第二参数。这里,第一参数表征设定样本集被分类到第一叶子节点的样本数量,第二参数表征第一叶子节点的权重参数。节点的样本数量是指设定样本集使用树进行预测时,样本在各个节点分布数量。设定样
本集可以根据需要设定,也可以使用从已有数据库中选取。
48.步骤102:若所述第一参数和所述第二参数满足第一设定条件,对所述第一叶子节点进行分支处理。
49.其中,所述第一设定条件表征所述第一参数大于第一阈值且所述第二参数大于第二阈值。
50.若确定出的第一叶子节点的第一参数和第二参数满足第一设定条件,对第一叶子节点进行分支处理,此时这个第一叶子节点成为双亲节点,进行分支得到新的第一叶子节点。这里,第一设定条件表征确定出的第一叶子节点的第一参数大于第一阈值且第二参数大于第二阈值,第一阈值和第二阈值可以根据需要设定。第一阈值可以表征叶子节点的样本数量阈值,第二阈值可以表征叶子节点的权重参数阈值。
51.在确定出的第一叶子节点的第一参数和第二参数不满足第一设定条件时,不再对这个第一叶子节点进行分支处理。
52.步骤103:基于分支处理后的所述第一叶子节点完成所述树模型的训练,得到训练后的所述树模型。
53.基于分支处理后得到的第一叶子节点,完成树模型的训练,得到训练后的树模型。
54.步骤104:将训练后的所述树模型加载至终端设备的内存。
55.这里,终端设备可以为作为本模型训练方法执行主体的终端设备,也可以为本模型训练方法执行主体之外的其他终端设备。基于上述的模型训练方法,训练得到的树模型所占用的内存空间不大于终端设备的内存,终端设备可以存储并使用训练后的树模型。这样,以第一参数和第二参数与对应的阈值之间的大小关系作为是否继续对第一叶子节点进行分支处理的条件,将训练后的树模型加载至终端设备的内存,减少了树模型的节点数量,实现了减少模型的复杂度、大小的模型压缩效果,训练得到的树模型需要占用的终端设备的内存空间减少,使得训练得到的树模型所占用的内存空间不大于终端设备的内存,从而使模型能够普遍地适用于各类终端设备或各种场景。
56.其中,在一实施例中,所述方法还包括:
57.若所述树模型的所有叶子节点的第一参数和第二参数均不满足所述第一设定条件,判断所述树模型对应的模型参数是否满足第二设定条件;
58.在所述树模型对应的模型参数满足所述第二设定条件的情况下,更新所述第一阈值和/或所述第二阈值,并对所述树模型进行再一次训练。
59.当树模型的所有叶子节点的第一参数和第二参数均不满足第一设定条件时,判断树模型对应的模型参数是否满足第二设定条件,在树模型对应的模型参数满足第二设定条件时,则更新第一阈值和/或第二阈值,并基于更新后的第一阈值和第二阈值对树模型进行再一次训练。这里,模型参数表征树模型的至少一个特征参数,第二设定条件表征对树模型停止训练的条件。
60.这样,通过设置第二设定条件作为判断树模型是否进行再一次训练的条件,可以实现对生成的模型的反馈调整,使模型能够普遍地适用于各类终端或各种场景。
61.在一实施例中,所述模型参数表征所述树模型的文件内存,所述第二设定条件表征所述树模型的文件内存大于设定内存大小,所述更新所述第一阈值和/或所述第二阈值,包括以下至少之一:
62.将所述第一阈值增加第一设定值;
63.将所述第二阈值增加第二设定值。
64.将第二设定条件设置为树模型的文件内存大于设定内存大小,在树模型对应的模型参数满足第二设定条件时,即树模型对应的文件内存大于设定内存大小时,则更新第一阈值和/或第二阈值。具体地,更新第一阈值和/或第二阈值的方式,可以是仅将第一阈值增加第一设定值,可以是仅将第二阈值增加第二设定值,可以是既将第一阈值增加第一设定值,又将第二阈值增加第二设定值。这里,第一设定值和第二设定值可以根据需要设定。
65.通过判断树模型的文件内存是否大于设定内存大小,确定树模型是否进行再一次训练,在确定需要进行再一次训练时,调整分支处理的条件,直到训练得到文件内存满足需求的树模型,这样,可以减少树模型时需要占用的内存空间,从而使模型能够普遍地适用于各类终端或各种场景。
66.在一实施例中,所述第二设定值基于所述第二阈值和所述树模型中的每棵决策树的第二叶子节点的样本数量确定;所述第二叶子节点表征分类到样本数量最少的叶子节点。
67.基于第二阈值和树模型中的每棵决策树的第二叶子节点的样本数量确定第二设定值,这里,第二叶子节点表征分类到样本数量最少的叶子节点。
68.第二设定值可以通过以下方式确定:
69.首先,通过公式(1)确定样本平均权重avgw:
[0070][0071]
其中,
[0072]
∝i为树模型中的第i棵决策树中样本最少的叶子节点的样本数量;
[0073]
w2为第二阈值,表征叶子节点的权重参数阈值;
[0074]
tree_num为树模型中决策树的总棵数。
[0075]
然后,通过公式(2)确定第二设定值w
′2:
[0076]w′2=λ*(avgw*n)-w2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0077]
其中,
[0078]
n为设定样本集的样本总数量;
[0079]
λ为调节参数。
[0080]
这样,根据叶子节点的样本数量,以及样本平均权重avgw,调整第二阈值,可以减少模型训练的次数,节约训练成本。
[0081]
在一实施例中,所述模型参数表征所述树模型的检出率,所述第二设定条件表征所述树模型的检出率小于设定阈值,所述更新所述第一阈值和/或所述第二阈值,包括以下至少之一:
[0082]
将所述第一阈值减少第三设定值;
[0083]
将所述第二阈值减少第四设定值。
[0084]
将第二设定条件设置为在确定的白误报率时,树模型的黑检出率小于设定阈值,在树模型对应的模型参数满足第二设定条件时,即树模型对应的黑检出率小于设定阈值时,则更新第一阈值和/或第二阈值。具体地,更新第一阈值和/或第二阈值的方式,可以是
仅将第一阈值减少第三设定值,可以是仅将第二阈值减少第四设定值,可以是既将第一阈值减少第三设定值,又将第二阈值减少第四设定值。这里,第三设定值和第四设定值可以根据需要设定。白误报率表征模型在正样本的误报个数/正样本数量,黑检出率表征模型对负样本的检出个数/负样本数量。
[0085]
通过判断树模型的树模型的黑检出率是否小于设定阈值,确定树模型是否进行再一次训练,在确定需要进行再一次训练时,调整分支处理的条件,直到训练得到黑检出率满足需求的树模型,这样,可以提高模型对负样本的检出率,提升了模型的分类效果。
[0086]
在一实施例中,在所述确定所述第一叶子节点的第一参数和第二参数时,所述方法包括:
[0087]
基于被分类到所述第一叶子节点的所有样本的第三参数,确定所述第二参数;所述第三参数表征对应的样本权重参数。
[0088]
在确定第一叶子节点的第一参数和第二参数时,基于被分类到第一叶子节点的所有样本对应的样本权重参数,确定第一叶子节点的第二参数。这里,在初次训练时,可以将所有的样本权重参数设置为同一个值。
[0089]
第二参数w可以通过公式(3)确定:
[0090]
w=∑βiꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0091]
其中,
[0092]
βi为被分类到叶子节点的样本对应的样本权重参数。
[0093]
在一实施例中,所述树模型为xgboost算法的树模型。
[0094]
训练的树模型使用xgboost算法,对于xgboost算法的树模型,在训练过程中每个样本的权重参数会发生变化,从而提高了模型的泛化能力,实现更好的模型预测能力的效果。
[0095]
下面结合应用实施例对本技术再作进一步的详细描述。
[0096]
结合图2,对应的模型训练方法,包括树节点信息统计、剪枝判断、阈值反馈调整。通过设定的阈值来判断是否对节点进行分裂,并且当模型训练出后,若模型压缩效果不好,则可对样本集在模型节点上的样本分布数量、权重进行判断,然后根据判断结果再调整阈值,寻找更优阈值。
[0097]
(1)树节点信息统计。
[0098]
xgboost模型包含多棵决策树,在训练过程中需要对每一棵决策树进行树节点的信息统计,包括节点的样本数量、样本的权重参数。
[0099]
(2)剪枝判断。
[0100]
为保证模型的效果,需要对模型影响最小的节点进行剪枝。这里选取样本数量小、样本权重小的节点进行剪枝处理。剪枝处理,即通过树模型结构进行分析,剪掉对分类结果呈现副作用或意义不大的叶子节点。
[0101]
根据前面统计的节点样本数量n、被分类到叶子节点的样本对应的样本权重参数βi,得到表征叶子节点的权重参数w,以节点样本数量n和权重参数w判断是否分支。设节点样本数量阈值为n1,节点样本权重阈值为w2。
[0102]
1)当n《n1或w《w2时节点不进行分支;
[0103]
2)当n》n1并且w》w2时模型正常进行分支。
[0104]
(3)阈值反馈调整
[0105]
由于新的样本集无法准确设定阈值,造成模型压缩效果不佳。这里,如图3所示出的,通过反馈调整机制,当训练出模型之后,对模型进行判断,基于判断结果重新调整阈值。这里,第一版模型表征第一次训练后得到的模型。
[0106]
使用训练得到的模型在样本集进行预测,统计样本在树模型中各棵决策树的各个叶子节点的数量。基于设定的叶子节点的样本权重阈值w2,对样本集样本平均权重avgw进行预估,样本集样本平均权重avgw可以反映样本库中的样本的数量。设第i棵决策树中样本最少的叶子节点的样本数量为
∝i,决策树的总棵数为tree_num,则样本平均权重avgw可以根据公式(1)得到。
[0107]
若发现模型压缩效果不足,所需的文件内存大于设定内存大小,则根据叶子节点的样本数量,以及样本平均权重avgw,将第二阈值增大。
[0108]
若发现模型压缩过多,造成模型分类效果不佳,如在确定白误报率(如1
‰
)的情况下,黑检出率低于90%,则将阈值减小,提高树模型的叶子节点数量。白误报率表征模型在正样本的误报个数/正样本数量,黑检出率表征模型对负样本的检出个数/负样本数量。
[0109]
为了降低模型的内存消耗,本技术应用实施例提出了一种基于叶子节点信息减少xgboost模型大小的方法,
[0110]
统计叶子节点的样本数量、权重参数,设定的阈值,当模型中的叶子节点的样本数量、权重参数小于设定阈值时,则节点不进行分支处理,这样,对训练过程中的模型进行剪枝处理,能够有效减少树模型节点数量,降低模型内存消耗,在检出率变化控制在1%以内的情况下,模型压缩20%以上。
[0111]
为实现本技术实施例的方法,本技术实施例还提供了一种模型训练装置,如图4所示,该装置包括:
[0112]
第一处理单元401,用于在训练树模型的过程中分支得到第一叶子节点的情况下,确定所述第一叶子节点的第一参数和第二参数;
[0113]
第二处理单元402,用于若所述第一参数和所述第二参数满足第一设定条件,对所述第一叶子节点进行分支处理;
[0114]
第三处理单元403,用于基于分支处理后的所述第一叶子节点完成所述树模型的训练,得到训练后的所述树模型;
[0115]
加载单元404,用于将训练后的所述树模型加载至终端设备的内存;其中,
[0116]
所述第一参数表征被分类到第一叶子节点的样本数量;所述第二参数表征第一叶子节点的权重参数;所述第一设定条件表征所述第一参数大于第一阈值且所述第二参数大于第二阈值。
[0117]
其中,在一个实施例中,所述装置还包括:
[0118]
第四处理单元,用于若树模型的所有叶子节点的第一参数和第二参数均不满足所述第一设定条件,判断所述树模型对应的模型参数是否满足第二设定条件;
[0119]
第五处理单元,用于在所述树模型对应的模型参数满足所述第二设定条件的情况下,更新所述第一阈值和/或所述第二阈值,并对所述树模型进行再一次训练。
[0120]
在一个实施例中,所述模型参数表征所述树模型的文件内存,所述第二设定条件表征所述树模型的文件内存大于设定内存大小,所述更新所述第一阈值和/或所述第二阈
值,包括以下至少之一:
[0121]
将所述第一阈值增加第一设定值;
[0122]
将所述第二阈值增加第二设定值。
[0123]
在一个实施例中,所述第二设定值基于所述第二阈值和所述树模型中的每棵决策树的第二叶子节点的样本数量确定;所述第二叶子节点表征分类到样本数量最少的叶子节点。
[0124]
在一个实施例中,所述模型参数表征所述树模型的检出率,所述第二设定条件表征所述树模型的检出率小于设定阈值,所述更新所述第一阈值和/或所述第二阈值,包括以下至少之一:
[0125]
将所述第一阈值减少第三设定值;
[0126]
将所述第二阈值减少第四设定值。
[0127]
在一个实施例中,第一处理单元401,用于:
[0128]
基于被分类到所述第一叶子节点的所有样本的第三参数,确定所述第二参数;所述第三参数表征对应的样本权重参数。
[0129]
在一个实施例中,所述树模型为xgboost算法的树模型。
[0130]
实际应用时,所述第一处理单元401、第二处理单元402、第三处理单元403、加载单元404、第四处理单元、第五处理单元可由基于模型训练装置中的处理器,比如中央处理器(cpu,central processing unit)、数字信号处理器(dsp,digital signal processor)、微控制单元(mcu,microcontroller unit)或可编程门阵列(fpga,field-programmable gate array)等实现。
[0131]
需要说明的是:上述实施例提供的模型训练装置在进行模型训练时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的模型训练装置与模型训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0132]
基于上述程序模块的硬件实现,且为了实现本技术实施例模型训练方法,本技术实施例还提供了一种电子设备,如图5所示,该电子设备500包括:
[0133]
通信接口510,能够与其它设备比如网络设备等进行信息交互;
[0134]
处理器520,与所述通信接口510连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法。而所述计算机程序存储在存储器530上。
[0135]
具体地,所述处理器520,用于:
[0136]
在训练树模型的过程中分支得到第一叶子节点的情况下,确定所述第一叶子节点的第一参数和第二参数;
[0137]
若所述第一参数和所述第二参数满足第一设定条件,对所述第一叶子节点进行分支处理;
[0138]
基于分支处理后的所述第一叶子节点完成所述树模型的训练,得到训练后的所述树模型;
[0139]
将训练后的所述树模型加载至终端设备的内存;其中,
memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器530旨在包括但不限于这些和任意其它适合类型的存储器。
[0157]
上述本技术实施例揭示的方法可以应用于处理器520中,或者由处理器520实现。处理器520可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器520中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器520可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器520可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器530,处理器520读取存储器530中的程序,结合其硬件完成前述方法的步骤。
[0158]
可选地,所述处理器520执行所述程序时实现本技术实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
[0159]
在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器530,上述计算机程序可由电子设备的处理器520执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
[0160]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0161]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0162]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0163]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序
在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0164]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0165]
需要说明的是,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。除非另有说明和限定,术语“连接”应做广义理解,例如,可以是电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0166]
另外,在本技术实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本技术的实施例可以除了在这里图示或描述的那些以外的顺序实施。
[0167]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
[0168]
在具体实施方式中所描述的各个实施例中的各个具体技术特征,在不矛盾的情况下,可以进行各种组合,例如通过不同的具体技术特征的组合可以形成不同的实施方式,为了避免不必要的重复,本技术中各个具体技术特征的各种可能的组合方式不再另行说明。