一种基于硬件的训练模型部署方法及装置

文档序号:32604030发布日期:2022-12-17 18:51阅读:31来源:国知局
一种基于硬件的训练模型部署方法及装置

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.当所述浮点参数的数值小于或等于所述参数数值下限时,将所述反向梯度更新为第二预设反向梯度,所述第二预设反向梯度为负数,所述第一预设反向梯度与所述第二预设反向梯度的和为0。
31.第二方面,本技术实施例提供了一种基于硬件的训练模型部署装置,所述装置包括:
32.量化感知训练模块,用于按照目标硬件的内部取整方式对训练模型进行量化感知训练,获得目标模型,所述训练模型是根据训练样本和神经网络进行训练得到的,所述目标模型的模型参数为整数;
33.部署模块,用于将所述目标模型部署至所述目标硬件的内部。
34.第三方面,本技术实施例提供了一种基于硬件的训练模型部署设备,所述设备包括:
35.存储器,用于存储计算机程序;
36.处理器,用于执行所述计算机程序,以使所述设备执行前述第一方面所述基于硬件的训练模型部署方法。
37.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面所述基于硬
件的训练模型部署方法。
38.从以上技术方案可以看出,本技术实施例具有以下优点:
39.本技术实施例提供了一种基于硬件的训练模型部署方法。首先,按照目标硬件的内部取整方式对训练模型进行量化感知训练,得到目标模型,使得目标模型的模型参数为整数,其中,训练模型是通过训练样本训练神经网络得到的。然后,将目标模型部署到目标硬件的内部。目标模型是按照目标硬件的内部取整方式对训练模型进行量化感知训练得到的,该方法使得目标模型的取整计算逻辑与目标硬件的内部取整计算逻辑一致,避免目标模型部署至目标硬件的内部产生误差,实现快速适配目标模型和目标硬件,从而降低了模型的实际部署难度,提高了模型的实际部署效果。
附图说明
40.为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本技术实施例中一种应用场景所涉及的系统框架示意图;
42.图2为本技术实施例提供的一种基于硬件的训练模型部署方法的方法流程图;
43.图3为本技术实施例提供的不同硬件内部取整方法的示意图;
44.图4为本技术实施例提供一种按照目标硬件的内部取整方式对训练模型进行量化感知训练的示意图;
45.图5为本技术实施例提供的另一种基于硬件的训练模型部署方法的方法流程图;
46.图6为本技术实施例提供的一种基于硬件的训练模型部署装置的结构示意图。
具体实施方式
47.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.目前,为了将训练模型部署至计算力及存储受限的硬件的内部,通常对训练模型进行量化感知训练,以便将量化感知训练后的训练模型部署至硬件的内部。然而,经研究发现,上述量化感知训练方式并没有考虑硬件的实际计算方式,量化感知训练后的训练模型部署至硬件的内部后容易产生较大误差,尤其是随着目标模型的深度增加导致误差增大,影响模型的实际部署效果。
49.基于此,为了解决上述问题,在本技术实施例中,首先,按照目标硬件的内部取整方式对训练模型进行量化感知训练,得到目标模型,使得目标模型的模型参数为整数,其中,训练模型是通过训练样本训练神经网络得到的。然后,将目标模型部署到目标硬件的内部。
50.目标模型是按照目标硬件的内部取整方式对训练模型进行量化感知训练得到的,该方法使得目标模型的取整计算逻辑与目标硬件的内部取整计算逻辑一致,避免目标模型
部署至目标硬件的内部产生误差,实现快速适配目标模型和目标硬件,从而降低了模型的实际部署难度,提高了模型的实际部署效果。
51.举例来说,本技术实施例的场景之一,可以是应用到如图1所示的场景中。该场景包括服务器101和目标硬件102,服务器101与目标硬件102进行交互。首先,服务器101按照目标硬件102的内部取整方式对训练模型进行量化感知训练,获得目标模型,训练模型是根据训练样本和神经网络进行训练得到的,目标模型的模型参数为整数;然后,服务器101将目标模型部署至目标硬件102的内部。
52.首先,在上述应用场景中,虽然将本技术实施例提供的实施方式的动作描述由服务器101执行;但是,本技术实施例在执行主体方面不受限制,只要执行了本技术实施例提供的实施方式所公开的动作即可。
53.其次,上述场景仅是本技术实施例提供的一个场景示例,本技术实施例并不限于此场景。
54.下面结合附图,通过实施例来详细说明本技术实施例中基于硬件的训练模型部署方法及装置的具体实现方式。
55.图2为本技术实施例提供的一种基于硬件的训练模型部署方法的方法流程图。结合图2所示,本技术实施例提供的基于硬件的训练模型部署方法,可以包括:
56.s201:按照目标硬件的内部取整方式对训练模型进行量化感知训练,获得目标模型,训练模型是根据训练样本和神经网络进行训练得到的,目标模型的模型参数为整数。
57.其中,量化感知训练是指为了将训练模型部署至计算力及存储受限的硬件的内部,而对训练模型进行的一种训练方法。
58.量化感知训练使训练模型中的浮点参数转换为整数,量化感知训练后的训练模型的容量减少,能够更好的将训练模型部署到计算力及存储受限的硬件的内部。
59.由于现有技术中量化感知训练方式并没有考虑硬件的实际计算方式,不同硬件的内部取整方式不同,参见图3所示的不同硬件内部取整方法的示意图,对于同一组数据,不同的硬件的内部取整方式是不同的,举例来说,嵌入式神经网络处理器(英文:neural-network process units,npu)对0.5和-0.5的取整为0和-0,castor处理器对0.5和-0.5的取整为1和-0,arm处理器对0.5和-0.5的取整为1和-1。基于此,量化感知训练后的训练模型部署至硬件的内部后容易产生较大误差,尤其是随着目标模型的深度增加导致误差增大,影响模型的实际部署效果。
60.因此,本技术实施例中,为了避免量化感知训练后的训练模型部署至硬件的内部后容易产生较大误差,考虑到不同硬件的内部取整方式不同,训练模型需要部署至目标硬件的内部时,按照目标硬件的内部取整方式对训练模型进行量化感知训练,直至训练模型收敛获得模型参数为整数的目标模型。基于此,目标模型按照目标硬件的内部取整方式进行取整,能够避免目标模型部署至目标硬件的内部产生误差。
61.另外,本技术不具体限定目标硬件的内部取整方式,并不影响本技术实施例的实现。
62.s202:将目标模型部署至目标硬件的内部。
63.本技术实施例中,由于执行s201获得的目标模型是按照目标硬件的内部取整方式对训练模型进行量化感知训练得到的,目标模型的取整计算逻辑与目标硬件的内部取整计
算逻辑一致,因此,将目标模型部署到目标硬件的内部,能够避免产生误差,实现快速适配目标模型和目标硬件。
64.以上,为本技术实施例提供的一种基于硬件的训练模型部署方法,首先,按照目标硬件的内部取整方式对训练模型进行量化感知训练,得到目标模型,使得目标模型的模型参数为整数,其中,训练模型是通过训练样本训练神经网络得到的。然后,将目标模型部署到目标硬件的内部。目标模型是按照目标硬件的内部取整方式对训练模型进行量化感知训练得到的,该方法使得目标模型的取整计算逻辑与目标硬件的内部取整计算逻辑一致,避免目标模型部署至目标硬件的内部产生误差,实现快速适配目标模型和目标硬件,从而降低了模型的实际部署难度,提高了模型的实际部署效果。
65.在本技术实施例中,s201具体可以包括如下s2011-s2013:
66.s2011:按照目标硬件的内部取整方式对训练模型的输入数据和浮点参数进行整型转换,获得转换后的输入数据和转换后的浮点参数。
67.执行s2011按照目标硬件的内部取整方式对训练模型的输入数据和浮点参数进行整型转换,获得转换后的输入数据和转换后的浮点参数,能够避免浮点型数据参与计算,减少因为浮点型数据造成计算结果的误差。
68.按照目标硬件的内部取整方式对训练模型的输入数据和浮点参数进行取整,使得转换后的输入数据和转换后浮点参数符合目标硬件的内部取整方式,避免了由于取整计算方式不一样产生较大的误差。
69.参见图4所示的一种按照目标硬件的内部取整方式对训练模型进行量化感知训练的示意图,举例来说,按照目标硬件的内部取整方式针对训练模型的输入数据x(f)和浮点参数w(f)分别进行整型转换,得到转换后的输入数据x(int8)和转换后的浮点参数w(int8)。
70.s2012:将转换后的输入数据和转换后的浮点参数输入算子内部进行计算,获得计算结果,算子内部的计算方式符合目标硬件的内部取整方式。
71.在执行s2011获得转换后的输入数据和转换后的浮点参数之后,需要将转换后的输入数据和转换后的浮点参数,例如输入算子内部进行计算,以便获得计算结果。
72.其中,算子内部的计算公式如下公式1和公式2所示,结合图4所示,将转换后的输入数据和转换后的浮点参数输入到算子内部conv int进行计算,得到计算结果o(int8),算子内部的取整方式也采用目标硬件内部的取整方式。
[0073][0074][0075]
其中,scale
x
表示输入数据x(f)的转换因子,同理,scalew表示浮点参数w(f)的转换因子,abs(xf)
max
表示输入数据x(f)绝对值的最大值,abs(wf)
max
表示浮点参数w(f)绝对值的最大值,将输入数据x(f)和浮点参数w(f)分别输入到公式1进行计算之后,输入到公式2进行计算,conv表示相应的卷积计算,round表示目标硬件内部的四舍五入的取整方式。根据公式1和公式2的计算可以得到计算结果。
[0076]
s2013:根据计算结果和损失函数更新浮点参数,获得所述目标模型。
[0077]
在执行s2012获得计算结果后,需要将计算结果结合训练模型的损失函数,对训练模型的浮点参数进行更新,直至训练模型收敛获得目标模型。
[0078]
首先,按照目标硬件的内部取整方式对训练模型的输入数据和浮点参数进行整型转换;然后,将转换后的输入数据和转换后的浮点参数输入到算子内部进行计算,获得计算结果,算子内部的取整方式也采用目标硬件的内部取整方式;最后,根据计算结果和训练模型的损失函数对浮点参数进行更新,获得目标模型。训练模型的输入数据和浮点参数以及算子的内部的取整方式都采用目标硬件的内部取整方式,通过这种方式,实现了目标模型各阶段的取整计算逻辑与目标硬件的内部取整计算逻辑一致的效果,避免了后续量化感知训练后的训练模型部署至目标硬件的内部时,由于取整计算逻辑不一致产生的较大误差。
[0079]
在本技术实施例中,容易出现奇异值影响整体的量化训练效果,如果按照一般的量化方式取中间的数值进行量化则会让奇异值失去作用,这种方式带来的损失是无法通过量化感知训练进行改善的。为了解决浮点模型转定点模型过程中带来的量化效果损失的问题,在对训练模型进行量化感知训练之前,先对训练模型进行浮点约束训练,下面结合实施例和附图,对另一种基于硬件的训练模型部署方法进行描述。
[0080]
图5为本技术实施例提供的另一种基于硬件的训练模型部署方法的方法流程图。结合图5所示,本技术实施例提供的基于硬件的训练模型部署方法,可以包括:
[0081]
s501:按照浮点参数约束条件对训练模型进行浮点约束训练,获得约束后的训练模型,约束后的训练模型的模型参数符合浮点参数约束条件中预设参数数值范围。
[0082]
浮点参数约束条件是指对训练模型的浮点参数预设了一个参数数值范围,按照浮点参数约束条件对训练模型进行浮点约束,得到约束后的训练模型,使得约束后的训练模型的模型参数在预设的参数数值范围内。
[0083]
s502:按照目标硬件的内部取整方式对约束后的训练模型进行量化感知训练,获得目标模型。
[0084]
s503:将目标模型部署至目标硬件的内部。
[0085]
本技术实施例中,s502与上述实施例中s201类似,仅仅是将s201中的训练模型替换为约束后的训练模型,s503与上述实施例中s202相同;因此,s502-s503的具体实现方式可参考s201-s202的具体实现方式,在此不再赘述。
[0086]
以上,为本技术实施例提供的另一种基于硬件的训练模型部署方法,首先,浮点参数约束条件对训练模型的浮点参数预设了一个参数数值范围,按照浮点参数约束条件对训练模型进行浮点约束,得到约束后的训练模型,使得约束后的训练模型的模型参数在预设的参数数值范围内。然后,按照目标硬件的内部取整方式对约束后的训练模型进行量化感知训练,得到目标模型,将目标模型部署到目标硬件的内部。
[0087]
先对训练模型进行浮点约束训练,通过浮点的强大的表征能力压缩浮点参数的分布,保证了量化效果无损,然后按照目标硬件的内部取整方式对经过浮点约束训练的训练模型进行量化感知训练得到目标模型,使得目标模型的取整计算逻辑与目标硬件的内部取整计算逻辑一致,避免目标模型部署至硬件的内部产生误差。既保证了量化效果无损,又避免了模型部署时产生的误差,提高了模型的实际部署效果,实现模型效果完全等价于研究效果,同时,目标模型可以适用于语音、图像等各个方向的研究结构。
[0088]
在本技术实施例中,s501具体可以包括如下s5011-s5016:
[0089]
s5011:按照浮点参数约束条件对训练模型的浮点参数进行约束,获得约束后的浮点参数,约束后的浮点参数符合预设参数数值范围。
[0090]
其中,浮点参数约束条件包括:若浮点参数的数值大于或等于预设参数数值范围的参数数值上限时,将浮点参数的数值更新为参数数值上限;
[0091]
当浮点参数的数值大于预设参数数值范围的参数数值下限,且小于参数数值上限时,保留浮点参数的数值;
[0092]
当浮点参数的数值小于或等于参数数值下限时,将浮点参数的数值更新为参数数值下限。
[0093]
例如,浮点参数约束条件采用如下公式3表示:
[0094][0095]
公式3中表示约束后的浮点参数的数值,xi表示训练模型的浮点参数的数值,c表示预设参数数值范围的参数数值上限,-c表示预设参数数值范围的参数数值下限。
[0096]
当xi≥c时,当-c<xi<c时,当xi≤-c时,
[0097]
根据上述浮点参数约束条件对浮点参数进行约束,约束后的浮点参数的数值在[-c,c]范围内。
[0098]
s5012:对训练模型的输入数据和约束后的浮点参数进行正向计算,获得训练模型的输出数据。
[0099]
正向计算是指根据训练模型的输入数据和约束后的浮点参数进行计算,获得训练模型的输出数据。
[0100]
s5013:根据输出数据和损失函数进行计算,获得反向梯度。
[0101]
s5014:按照反向梯度约束条件对反向梯度进行约束,获得约束后的反向梯度。
[0102]
反向梯度约束条件包括:若浮点参数的数值大于或等于预设参数数值范围的参数数值上限时,将反向梯度更新为第一预设反向梯度,第一预设反向梯度为正数;
[0103]
当浮点参数的数值大于预设参数数值范围的参数数值下限,且小于参数数值上限时,保留反向梯度;
[0104]
当浮点参数的数值小于或等于参数数值下限时,将反向梯度更新为第二预设反向梯度,第二预设反向梯度为负数,第一预设反向梯度与所述第二预设反向梯度的和为0。
[0105]
反向梯度约束条件的公式如下公式4所示,
[0106][0107]
其中,表示约束后的反向梯度,xi表示训练模型的浮点参数的数值,c表示预设参数数值范围的参数数值上限,-c表示预设参数数值范围的参数数值下限,ε表示训练过程中第一预设反向梯度,-ε表示训练过程中第二预设反向梯度。
[0108]
当xi≥c时,当-c<xi<c时,当xi≤-c时,
[0109]
根据上述反向梯度约束条件对反向梯度进行约束,当xi≥c时,将约束后的反向梯度固定为第一预设反向梯度,当xi≤-c时,将约束后的反向梯度固定为第二预设反向梯度,第一预设反向梯度与所述第二预设反向梯度的和为0。
[0110]
s5015:根据约束后的反向梯度更新浮点参数,获得约束后的训练模型。
[0111]
根据约束后的反向梯度更新训练模型的浮点参数,得到约束后的训练模型。在浮点阶段添加浮点约束训练,通过浮点的强大表征能力有效地压缩浮点参数的分布范围,能够降低训练模型的过拟合问题,提升训练模型的泛化性能力。
[0112]
s5016:按照目标硬件的内部取整方式对约束后的训练模型进行量化感知训练,获得目标模型。
[0113]
首先,按照浮点参数约束条件对训练模型的浮点参数进行约束,获得约束后的浮点参数,约束后的浮点参数在[-c,c]范围内,对训练模型的输入数据和约束后的浮点参数进行正向计算,获得训练模型的输出数据,然后,根据输出数据和损失函数进行计算,获得反向梯度,按照反向梯度约束条件对反向梯度进行约束,获得约束后的反向梯度。最后,根据约束后的反向梯度更新训练模型的浮点参数,得到约束后的训练模型。
[0114]
通过对训练模型添加浮点参数约束条件,使得训练模型的浮点参数约束在[-c,c]范围内,有效的压缩了浮点参数的分布范围,对训练模型的反向梯度添加反向梯度约束条件,有效解决了训练模型神经元死亡的问题,确保训练模型的神经元始终处于可更新的状态。通过这种方式,对训练模型进行了浮点约束训练,解决了浮点参数分布不规范的问题,降低了训练模型过拟合的问题,提升了训练模型的泛化性能力,保证了量化效果无损,训练了一个量化友好型网络。
[0115]
以上为本技术实施例提供基于硬件的训练模型部署方法的一些具体实现方式,基于此,本技术还提供了对应的装置。下面将从功能模块化的角度对本技术实施例提供的装置进行介绍。
[0116]
参见图6所示的一种基于硬件的训练模型部署装置的结构示意图,该基于硬件的训练模型部署装置600包括量化感知训练模块601和部署模块602。
[0117]
量化感知训练模块601,用于按照目标硬件的内部取整方式对训练模型进行量化感知训练,获得目标模型,训练模型是根据训练样本和神经网络进行训练得到的,目标模型的模型参数为整数;
[0118]
部署模块602,用于将目标模型部署至目标硬件的内部。
[0119]
在本技术实施例中,通过量化感知训练模块601和部署模块602的配合,使得目标模型的取整计算逻辑与目标硬件的内部取整计算逻辑一致,避免目标模型部署至目标硬件的内部产生误差,实现快速适配目标模型和目标硬件,从而降低了模型的实际部署难度,提高了模型的实际部署效果。
[0120]
作为一种实施方式,量化感知训练模块601,具体可以包括:
[0121]
整型转换模块,用于按照内部取整方式对训练模型的输入数据和浮点参数进行整型转换,获得转换后的输入数据和转换后的浮点参数;
[0122]
第一计算模块,用于将转换后的输入数据和转换后的浮点参数输入算子内部进行计算,获得计算结果,算子内部的计算方式符合内部取整方式;
[0123]
第一更新模块,用于根据计算结果和损失函数更新浮点参数,获得目标模型。
[0124]
作为一种实施方式,基于硬件的训练模型部署装置还包括:
[0125]
浮点约束训练模块,用于按照浮点参数约束条件对训练模型进行浮点约束训练,获得约束后的训练模型,约束后的训练模型的模型参数符合浮点参数约束条件中预设参数数值范围;
[0126]
量化感知训练模块601,具体用于按照内部取整方式对约束后的训练模型进行量化感知训练,获得目标模型。
[0127]
作为一种实施方式,浮点约束训练模块,具体可以包括:
[0128]
浮点参数约束模块,用于按照浮点参数约束条件对训练模型的浮点参数进行约束,获得约束后的浮点参数,约束后的浮点参数符合预设参数数值范围;
[0129]
第二计算模块,用于对训练模型的输入数据和约束后的浮点参数进行正向计算,获得训练模型的输出数据;
[0130]
第三计算模块,用于根据输出数据和损失函数进行计算,获得反向梯度;
[0131]
反向梯度约束模块,用于按照反向梯度约束条件对反向梯度进行约束,获得约束后的反向梯度;
[0132]
第二更新模块,用于根据约束后的反向梯度更新浮点参数,获得约束后的训练模型。
[0133]
作为一种实施方式,浮点参数约束模块,具体可以包括:
[0134]
若浮点参数的数值大于或等于预设参数数值范围的参数数值上限时,将浮点参数的数值更新为参数数值上限;
[0135]
当浮点参数的数值大于预设参数数值范围的参数数值下限,且小于参数数值上限时,保留浮点参数的数值;
[0136]
当浮点参数的数值小于或等于参数数值下限时,将浮点参数的数值更新为参数数值下限。
[0137]
作为一种实施方式,反向梯度约束模块,具体可以包括:
[0138]
若浮点参数的数值大于或等于预设参数数值范围的参数数值上限时,将反向梯度更新为第一预设反向梯度,第一预设反向梯度为正数;
[0139]
当浮点参数的数值大于预设参数数值范围的参数数值下限,且小于参数数值上限时,保留反向梯度;
[0140]
当浮点参数的数值小于或等于参数数值下限时,将反向梯度更新为第二预设反向梯度,第二预设反向梯度为负数,第一预设反向梯度与所述第二预设反向梯度的和为0。
[0141]
本技术实施例还提供了对应的设备以及计算机存储介质,用于实现本技术实施例提供的方案。
[0142]
其中,设备包括存储器和处理器,存储器用于存储指令或代码,处理器用于执行指令或代码,以使设备执行本技术任一实施例的基于硬件的训练模型部署方法。
[0143]
计算机存储介质中存储有代码,当代码被运行时,运行代码的设备实现本技术任一实施例的基于硬件的训练模型部署方法。
[0144]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介
质中,如只读存储器(英文:read-only memory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本技术各个实施例或者实施例的某些部分所述的方法。
[0145]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0146]
以上所述仅是本技术示例性的实施方式,并非用于限定本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1