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

图像的处理方法、装置、设备及存储介质与流程

2022-11-12 01:20:24 来源:中国专利 TAG:


1.本发明涉及神经网络领域,尤其涉及一种图像的处理方法、装置、设备及存储介质。


背景技术:

2.在图像识别领域,现在比较流行的卷积神经网络(也称深度神经网络)是计算密集型的算法,它需要进行大量的矩阵乘法的运算。通常都会把神经网络部署在图形处理器(graphics processing unit,gpu)上去计算,虽然可以降低一定的推理耗时,但总的计算量并没有降低,消耗的内存也非常大,且通常gpu设备的内存都比较小。如果将卷积神经网络的计算量减少,内存占用量减少,是一个在深度学习领域中比较重要的话题。
3.量化是常见的减少网络计算量的方法之一。通常在深度神经网络的训练以及推理中,采用32比特的浮点数来进行计算,量化便是指将连续的32比特的浮点数近似为有限的离散值的过程。常见的量化方法便是将32比特的浮点数映射到8比特的整数上,使得浮点的计算变成整数(定点数)的计算。
4.32比特的浮点数的取值范围是远大于8比特的整数的,那么直接将32比特对称映射到8比特的整数则会造成信息的大量损失。常见的减少信息损失的方法是后训练量化,即对训练完的模型进行一定规模数据集的推理,从而得到神经网络中每一个层输入(输出)的分布,将这些分布通过划分区间的算法进行截断并映射到8比特的取值得到另一个分布,然后通过kl散度等方法评估两个分布的近似值从而确定一个最优的截断区间(也称饱和区间)。虽然通过这种方法可以降低模型量化的损失,使得量化后的分布接近于模型原有的分布,但在实际一些场景的应用下精度并不能达到理想的要求,因为模型的权重实际没有跟随着量化产生改变,也就是说模型对于输入被量化的鲁棒性可能比较差,依旧存在图像处理的计算量大、内存占用高和计算效率低的问题。


技术实现要素:

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.当所述节点类型用于指示带权重的节点时,对所述待量化节点进行逐张量的目标量化节点插入和逐通道的目标量化节点插入,得到修改后的图像处理模型;
42.当所述节点类型用于指示加法节点时,对所述待量化节点的多个输入分别进行目标量化节点插入,得到修改后的图像处理模型。
43.可选的,在本发明第二方面的第三种实现方式中,所述训练模块具体用于:
44.获取所述修改后的图像处理模型的量化前的结果、量化的比例和量化后的零点;
45.基于所述量化前的结果、所述量化的比例、所述量化后的零点和预置量化公式,对所述修改后的图像处理模型进行运算,得到量化后的图像处理模型。
46.可选的,在本发明第二方面的第四种实现方式中,所述删除模块包括:
47.第一识别单元,用于基于预置的图优化算法,获取所述量化后的图像处理模型中的多个量化训练节点,并识别所述多个量化训练节点的连续性,得到连续性信息;
48.第二识别单元,用于基于所述连续性信息识别各量化训练节点中的冗余节点,得到待删除节点;
49.删除单元,用于将所述量化后的图像处理模型中各量化训练节点的待删除节点删除,得到初始图像处理模型。
50.可选的,在本发明第二方面的第五种实现方式中,所述第二识别单元具体用于:
51.若所述连续性信息用于指示两个量化训练节点不连续,则获取量化训练节点的目标量化节点中的反量化节点,得到第一冗余节点,并将所述第一冗余节点确定为待删除节点;
52.若所述连续性信息用于指示两个量化训练节点连续,则获取两个量化训练节点之间的目标量化节点,得到第二冗余节点;
53.获取前连接的量化训练节点的目标量化节点中的反量化节点,得到第三冗余节点;
54.将所述第二冗余节点和所述第三冗余节点确定为待删除节点。
55.可选的,在本发明第二方面的第六种实现方式中,所述分析处理模块具体用于:
56.将所述初始图像处理模型转换为对应的网络结构表达,得到目标图像处理模型,并将所述目标图像处理模型发送至预置的推理引擎;
57.获取待处理图像以及图像处理需求,通过所述推理引擎调用所述目标图像处理模型,基于所述图像处理需求,对所述待处理图像进行分析处理,得到图像信息。
58.本发明第三方面提供了一种图像的处理设备,包括:存储器和至少一个处理器,所述存储器中存储有计算机程序;所述至少一个处理器调用所述存储器中的所述计算机程序,以使得所述图像的处理设备执行上述的图像的处理方法。
59.本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述的图像的处理方法。
60.本发明提供的技术方案中,对预训练后的图像处理模型进行目标量化节点插入,得到修改后的图像处理模型;对所述修改后的图像处理模型进行量化训练,得到量化后的图像处理模型;对所述量化后的图像处理模型进行冗余节点删除,得到初始图像处理模型;获取所述初始图像处理模型部署后的目标图像处理模型,以及待处理图像,并通过所述目标图像处理模型对所述待处理图像进行分析处理,得到图像信息。本发明实施例中,通过在深度神经网络模型训练中,在需要量化的节点前面插入目标量化节点(量化节点和反量化节点的结合),使得该节点计算的时候受到了量化的干扰,从而感知量化的存在,训练完毕后,将结对的目标量化节点消去(即冗余节点删除),最后部署目标图像处理模型对待处理图像进行推理,实现了对图像处理模型的压缩,能够使得图像处理模型得到量化的收益,也能避免量化带来的精度损失,提高了图像处理模型对于输入被量化的鲁棒性,从而减少了图像处理的计算量和内存占用高,以及降低了其计算效率。
附图说明
61.图1为本发明实施例中图像的处理方法的一个实施例示意图;
62.图2为本发明实施例中图像的处理方法的另一个实施例示意图;
63.图3为本发明实施例中对待量化节点进行目标量化节点插入的一个实施例示意图;
64.图4为本发明实施例中当节点类型用于指示带权重的节点时目标量化节点插入的一个实施例示意图;
65.图5为本发明实施例中当节点类型用于指示加法节点时目标量化节点插入的一个实施例示意图;
66.图6为本发明实施例中两个量化训练节点不连续的一个实施例示意图;
67.图7为本发明实施例中两个量化训练节点连续的一个实施例示意图;
68.图8为本发明实施例中当连续性信息用于指示两个量化训练节点不连续时将量化训练节点中的待删除节点删除的一个实施例示意图;
69.图9为本发明实施例中当连续性信息用于指示两个量化训练节点连续时将量化训练节点中的待删除节点删除的一个实施例示意图;
70.图10为本发明实施例中图像的处理装置的一个实施例示意图;
71.图11为本发明实施例中图像的处理装置的另一个实施例示意图;
72.图12为本发明实施例中图像的处理设备的一个实施例示意图。
具体实施方式
73.本发明实施例提供了一种图像的处理方法、装置、设备及存储介质,减少了图像处理的计算量和内存占用高,以及降低了其计算效率。
74.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
75.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中图像的处理方法的一个实施例包括:
76.101、对预训练后的图像处理模型进行目标量化节点插入,得到修改后的图像处理模型。
77.可以理解的是,本发明的执行主体可以为图像的处理装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
78.预训练后的图像处理模型为图像识别领域中的深度神经网络。由于量化会改变原有模型的特征,若模型一开始就进行量化训练,会对一些特征的学习能力变差,因而,模型需在非量化的状态下进行预训练,即预训练后的图像处理模型为非量化的状态下经过预训练后的图像处理模型。
79.服务器获取创建的原始图像处理模型的非训练模式下的训练轮数,基于非训练模式下的训练轮数对原始图像处理模型进行训练,并将训练后的符合训练需求的原始图像处理模型确定为预训练后的图像处理模型。
80.服务器获取预训练后的图像处理模型中的待量化节点,在待量化节点的目标位置中插入目标量化节点,以对预训练后的图像处理模型进行模型结构修改,从而得到修改后的图像处理模型,其中,目标位置可为前和/或后,即目标位置用于指示待量化节点的前和/或后。
81.需要说明的是,目标量化节点用于指示对预训练后的图像处理模型中待量化的节点造成量化干扰的量化节点;目标量化节点包括量化节点和反量化节点;插入的目标量化节点的数量可为一个或一个以上,可根据模型量化需求进行设定,在此不做限定;目标量化节点中的量化节点的数量可为一个或一个以上,可根据模型量化需求进行设定,在此不做限定;目标量化节点中的反量化节点的数量可为一个或一个以上,可根据模型量化需求进行设定,在此不做限定。
82.102、对修改后的图像处理模型进行量化训练,得到量化后的图像处理模型。
83.服务器对预训练后的图像处理模型进行模型结构修改得到修改后的图像处理模型后,对修改后的图像处理模型进行量化训练。服务器获取量化训练的参数,通过量化训练的参数,对修改后的图像处理模型进行量化训练,从而得到量化后的图像处理模型。其中,
量化训练的参数可包括但不限于量化前的结果、量化的比例和量化后的零点,量化前的结果用于指示预训练后的图像处理模型的输出结果,例如,预测结果、分类结果等,在此不做限定,根据预训练后的图像处理模型的输出结果(图像处理功能类型)进行设定,量化后的零点用于指示32比特的浮点数(即float32数值)的偏移量。
84.103、对量化后的图像处理模型进行冗余节点删除,得到初始图像处理模型。
85.服务器基于预设的冗余节点检测策略,获取量化后的图像处理模型中的冗余节点。其中,冗余节点用于指示对量化后的图像处理模型的期望效果造成影响的插入的反量化节和/或目标量化节点;冗余节点检测策略用于检测冗余节点,冗余节点检测策略可为图优化算法或预设的冗余节点匹配信息,在此不作限定。
86.服务器将量化后的图像处理模型中的冗余节点进行删除,得到初始图像处理模型。在一种可行的实施例中,服务器将量化后的图像处理模型中的冗余节点进行删除后,对冗余节点删除后的图像处理模型进行冗余节点检测,以检测冗余节点删除后的图像处理模型是否还存在冗余节点,若存在冗余节点,则将对应的冗余节点删除,若不存在冗余节点,则不进行处理,以提高冗余节点删除的准确性和有效性,从而提高初始图像处理模型的有效性和鲁棒性。
87.104、获取初始图像处理模型部署后的目标图像处理模型,以及待处理图像,并通过目标图像处理模型对待处理图像进行分析处理,得到图像信息。
88.服务器获得初始图像处理模型后,对初始图像处理模型的精度和耗时进行评估,若初始图像处理模型的精度和耗时达到预设条件,则将初始图像处理模型确定为目标图像处理模型,并将目标图像处理模型部署在推理引擎上,并获取待处理图像,以通过目标图像处理模型对待处理图像进行分析处理,得到图像信息;若初始图像处理模型的精度和耗时达不到预设条件,则重新获取初始图像处理模型(即重新对预训练后的图像处理模型进行目标量化节点插入、量化训练、冗余节点删除以及精度和耗时的评估),直至重新获取的初始图像处理模型的精度和耗时达到预设条件,将重新获取的初始图像处理模型确定为目标图像处理模型,并将目标图像处理模型部署在推理引擎上,并获取待处理图像,以通过目标图像处理模型对待处理图像进行分析处理,得到图像信息。
89.其中,作为示例而非限定的是,将目标图像处理模型部署在自动驾驶车辆上,通过自动驾驶车辆上的至少一个相机采集自动驾驶中的图像,得到待处理图像;通过目标图像处理模型对待处理图像进行的分析处理可为图像分类,图像检测或图像分割等。
90.本发明实施例中,通过在深度神经网络模型训练中,在需要量化的节点前面插入目标量化节点(量化节点和反量化节点的结合),使得该节点计算的时候受到了量化的干扰,从而感知量化的存在,训练完毕后,将结对的目标量化节点消去(即冗余节点删除),最后部署目标图像处理模型对待处理图像进行推理,实现了对图像处理模型的压缩,能够使得图像处理模型得到量化的收益,也能避免量化带来的精度损失,提高了图像处理模型对于输入被量化的鲁棒性,从而减少了图像处理的计算量和内存占用高,以及降低了其计算效率。
91.请参阅图2,本发明实施例中图像的处理方法的另一个实施例包括:
92.201、对预训练后的图像处理模型进行目标节点识别,得到待量化节点,并获取待量化节点的节点类型。
93.其中,目标节点用于指示待量化的节点,目标节点可包括但不限于带权重的节点和加法节点,带权重的节点例如,卷积、全连接等带权重的常见节点。
94.服务器对预训练后的图像处理模型进行目标节点识别和类型标记,得到节点信息,节点信息包括待量化节点以及待量化节点的类型标记信息,从节点信息中分别提取待量化节点和待量化节点的类型标记信息,从而得到待量化节点,以及待量化节点和待量化节点的节点类型。
95.需要说明的是,对于较关键的节点。例如,用于回归的节点,若想继续保持高精度,则不作处理即可,即预先设定的关键节点,不作为待量化节点,以保持高精度。
96.202、基于节点类型,对待量化节点进行目标量化节点插入,得到修改后的图像处理模型,目标量化节点为由量化节点后紧接着反量化节点构成的节点。
97.其中,目标量化节点为由量化节点后紧接着反量化节点构成的节点,量化节点用于将高比特的值量化到低比特,反量化节点用于将低比特的值反量化回高比特。作为示例而非限定的是,如图3所示,图3示出的是对待量化节点进行目标量化节点插入的一个实施例示意图,q为量化节点,dq为反量化节点,qdq为伪量化节点(q节点后面紧接着dq),op为待量化节点。
98.具体的,服务器当节点类型用于指示带权重的节点时,对待量化节点进行逐张量的目标量化节点插入和逐通道的目标量化节点插入,得到修改后的图像处理模型;当节点类型用于指示加法节点时,对待量化节点的多个输入分别进行目标量化节点插入,得到修改后的图像处理模型。
99.目标节点可包括但不限于带权重的节点和加法节点,作为示例而非限定的是,本实施例以节点类型用于指示带权重的节点和节点类型用于指示加法节点为例进行说明。如图4所示,图4示出的是当节点类型用于指示带权重的节点时目标量化节点插入的一个实施例示意图,带权重的节点为卷积节点,在卷积节点与输入之间插入一个目标量化节点,以实现逐张量的目标量化节点插入,从而实现对待量化节点的输入进行整个特征的量化,在卷积节点与权重之间插入一个目标量化节点,以实现逐通道的目标量化节点插入。如图5所示,图5示出的是当节点类型用于指示加法节点时目标量化节点插入的一个实施例示意图,加法节点对应有两个输入,分别为输入a和输入b,在加法节点与输入a之间插入一个目标量化节点,在加法节点与输入b之间插入一个目标量化节点,以保证加法节点的两边都量化到了低比特,即保证对待量化节点的多边都量化到了低比特。
100.实现了根据待量化节点的不同特性,进行目标量化节点插入,提高了目标量化节点插入的准确性和有效性,从而实现了对图像处理模型的压缩,能够使得图像处理模型得到量化的收益,也能避免量化带来的精度损失,提高了图像处理模型对于输入被量化的鲁棒性。
101.203、对修改后的图像处理模型进行量化训练,得到量化后的图像处理模型。
102.具体的,服务器获取修改后的图像处理模型的量化前的结果、量化的比例和量化后的零点;基于量化前的结果、量化的比例、量化后的零点和预置量化公式,对修改后的图像处理模型进行运算,得到量化后的图像处理模型。
103.其中,量化前的结果用于指示预训练后的图像处理模型的输出结果,例如,预测结果、分类结果等,在此不做限定,根据预训练后的图像处理模型的输出结果(图像处理功能
类型)进行设定,量化后的零点用于指示32比特的浮点数(即float32数值)的偏移量。服务器获取修改后的图像处理模型的输入的最大值和最小值,基于输入的最大值和最小值计算量化的比例。
104.例如,基于量化前的结果、量化的比例、量化后零点和预置量化公式,对修改后的图像处理模型进行运算,得到量化后的结果,即量化后的图像处理模型,其中,预置量化公式具体如下:q=round(r/s) z,q表示量化后的结果,即量化后的图像处理模型,round表示整数取整操作,r表示量化前的结果,s表示量化的比例,z表示量化后的零点;其中,当通过量化前的结果、量化的比例、量化后零点和上述的预置量化公式计算修改后的图像处理模型量化训练的梯度时,通过透传反向传播过来的节点的梯度方式获取量化训练的梯度,即通过梯度直传的方式在反向传播的过程中,跳过量化节点梯度的计算,透传反向传播过来的节点的梯度。
105.通过对修改后的图像处理模型进行量化训练,能够使得图像处理模型得到量化的收益,也能避免量化带来的精度损失,提高了图像处理模型对于输入被量化的鲁棒性。
106.204、对量化后的图像处理模型进行冗余节点删除,得到初始图像处理模型。
107.具体的,服务器基于预置的图优化算法,获取量化后的图像处理模型中的多个量化训练节点,并识别多个量化训练节点的连续性,得到连续性信息;基于连续性信息识别各量化训练节点中的冗余节点,得到待删除节点;将量化后的图像处理模型中各量化训练节点的待删除节点删除,得到初始图像处理模型。
108.其中,量化训练节点用于指示待量化节点插入目标量化节点后构成的节点。连续性信息用于指示两个量化训练节点是否连续(两个量化训练节点之间是否具有连续性),量化训练节点的连续性用于指示两个量化训练节点之间是否紧连接着。服务器根据两个量化训练节点是否连续(两个量化训练节点之间是否紧连接着)来判定识别各量化训练节点中的冗余节点,以获取对量化后的图像处理模型的期望效果造成影响的插入的反量化节和/或目标量化节点,即待删除节点,并将量化后的图像处理模型中各量化训练节点的待删除节点删除,得到初始图像处理模型,提高了冗余节点删除的准确性和有效性,从而提高了初始图像处理模型的有效性和鲁棒性。
109.具体的,服务器基于连续性信息识别各量化训练节点中的冗余节点,得到待删除节点,包括:若连续性信息用于指示两个量化训练节点不连续,则获取量化训练节点的目标量化节点中的反量化节点,得到第一冗余节点,并将第一冗余节点确定为待删除节点;若连续性信息用于指示两个量化训练节点连续,则获取两个量化训练节点之间的目标量化节点,得到第二冗余节点;获取前连接的量化训练节点的目标量化节点中的反量化节点,得到第三冗余节点;将第二冗余节点和第三冗余节点确定为待删除节点。
110.其中,两个量化训练节点不连续可为两个量化训练节点之间是不紧连接着的,也可为两个量化训练节点分别是单独置于各结构位置的节点,作为示例而非限定的是,如图6所示,两个量化训练节点不连续,q1、dq1和op1构成第一量化训练节点,q2、dq2和op2构成第二量化训练节点,第一量化训练节点与第二量化训练节点之间是不紧连接着的,或者第一量化训练节点(或第二量化训练节点)是单独置于各结构位置的节点。两个量化训练节点连续为两个量化训练节点之间是紧连接着的,作为示例而非限定的是,如图7所示,两个量化训练节点连续,q3、dq3和op3构成第三量化训练节点,q4、dq4和op4构成第四量化训练节点,
第三量化训练节点与第四量化训练节点之间是紧连接着的。
111.例如,若连续性信息用于指示两个量化训练节点不连续(如图6中所示的q1、dq1和op1构成的第一量化训练节点以及q2、dq2和op2构成的第二量化训练节点),由于dq(反量化节点)会将低比特的值反量化回高比特的值,不是所期望的量化效果,则获取第一量化训练节点的目标量化节点中的反量化节点dq1,得到第一冗余节点1,获取第二量化训练节点的目标量化节点中的反量化节点dq2,得到第一冗余节点2,并将第一冗余节点1和第一冗余节点2分别确定为待删除节点1和待删除节点2,将待删除节点1和待删除节点2分别删除后的节点如图8所示;若连续性信息用于指示两个量化训练节点连续(如图7中所示的q3、dq3和op3构成的第三量化训练节点以及q4、dq4和op4构成的第四量化训练节点),由于第三量化训练节点和第四量化训练节点都进行了量化训练,那么在部署的过程中,op2也期望以低比特进行计算,那么此时op2的反量化节点qdq(q4dq4)是冗余的,则获取两个量化训练节点之间的目标量化节点,得到第二冗余节点,即op2的反量化节点qdq(q4dq4),获取前连接的量化训练节点(即第三量化训练节点)的目标量化节点qdq(q3dq3)中的反量化节点,得到第三冗余节点,即dq3;将第二冗余节点q4dq4和第三冗余节点dq3分别确定为待删除节点3和待删除节点4,将待删除节点3和待删除节点4分别删除后的节点如图9所示。
112.通过基于连续性信息识别各量化训练节点中的冗余节点,提高了冗余节点的准确性和有效性。
113.205、获取初始图像处理模型部署后的目标图像处理模型,以及待处理图像,并通过目标图像处理模型对待处理图像进行分析处理,得到图像信息。
114.具体的,服务器将初始图像处理模型转换为对应的网络结构表达,得到目标图像处理模型,并将目标图像处理模型发送至预置的推理引擎;获取待处理图像以及图像处理需求,通过推理引擎调用目标图像处理模型,基于图像处理需求,对待处理图像进行分析处理,得到图像信息。
115.服务器将初始图像处理模型转换为onnx等通用的网络结构表达,得到目标图像处理模型,并将目标图像处理模型提供到预置的推理引擎,以进行对应的部署,例如,tensorrt等进行低比特的计算。在自动驾驶场景中,对于图像分类,图像检测和图像分割等卷积神经网络均有一定的量化的空间。其中,通过推理引擎调用目标图像处理模型,基于图像处理需求,对待处理图像进行分析处理中,对于已量化的模型(即目标图像处理模型)的推理过程(即分析处理)则和非量化的网络(即预训练后的图像处理模型)一样,只不过网络的中间特征是低精度的以及参与运算的算子或硬件都是对低精度进行优化过的。
116.服务器获得初始图像处理模型后,对初始图像处理模型的精度和耗时进行评估,若初始图像处理模型的精度和耗时达到预设条件,则将初始图像处理模型确定为目标图像处理模型,并将目标图像处理模型部署在推理引擎上,并获取待处理图像,以通过目标图像处理模型对待处理图像进行分析处理,得到图像信息;若初始图像处理模型的精度和耗时达不到预设条件,则重新获取初始图像处理模型(即重新对预训练后的图像处理模型进行目标量化节点插入、量化训练、冗余节点删除以及精度和耗时的评估),直至重新获取的初始图像处理模型的精度和耗时达到预设条件,将重新获取的初始图像处理模型确定为目标图像处理模型,并将目标图像处理模型部署在推理引擎上,并获取待处理图像,以通过目标图像处理模型对待处理图像进行分析处理,得到图像信息。
117.通过将目标图像处理模型部署到推理引擎上,对待处理图像进行分析处理,减少了图像处理的计算量和内存占用高,以及降低了其计算效率。
118.本发明实施例中,通过在深度神经网络模型训练中,在需要量化的节点前面插入目标量化节点(量化节点和反量化节点的结合),使得该节点计算的时候受到了量化的干扰,从而感知量化的存在,训练完毕后,通过图优化算法将结对的目标量化节点消去(即冗余节点删除),最后部署目标图像处理模型对待处理图像进行推理,实现了对图像处理模型的压缩,能够使得图像处理模型得到量化的收益,也能避免量化带来的精度损失,提高了图像处理模型对于输入被量化的鲁棒性,从而减少了图像处理的计算量和内存占用高,以及降低了其计算效率。
119.上面对本发明实施例中图像的处理方法进行了描述,下面对本发明实施例中图像的处理装置进行描述,请参阅图10,本发明实施例中图像的处理装置一个实施例包括:
120.插入模块1010,用于对预训练后的图像处理模型进行目标量化节点插入,得到修改后的图像处理模型;
121.训练模块1020,用于对修改后的图像处理模型进行量化训练,得到量化后的图像处理模型;
122.删除模块1030,用于对量化后的图像处理模型进行冗余节点删除,得到初始图像处理模型;
123.分析处理模块1040,用于获取初始图像处理模型部署后的目标图像处理模型,以及待处理图像,并通过目标图像处理模型对待处理图像进行分析处理,得到图像信息。
124.上述图像的处理装置中各个模块的功能实现与上述图像的处理方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
125.本发明实施例中,通过在深度神经网络模型训练中,在需要量化的节点前面插入目标量化节点(量化节点和反量化节点的结合),使得该节点计算的时候受到了量化的干扰,从而感知量化的存在,训练完毕后,将结对的目标量化节点消去(即冗余节点删除),最后部署目标图像处理模型对待处理图像进行推理,实现了对图像处理模型的压缩,能够使得图像处理模型得到量化的收益,也能避免量化带来的精度损失,提高了图像处理模型对于输入被量化的鲁棒性,从而减少了图像处理的计算量和内存占用高,以及降低了其计算效率。
126.请参阅图11,本发明实施例中图像的处理装置的另一个实施例包括:
127.插入模块1010,用于对预训练后的图像处理模型进行目标量化节点插入,得到修改后的图像处理模型;
128.其中,插入模块1010具体包括:
129.识别单元1011,用于对预训练后的图像处理模型进行目标节点识别,得到待量化节点,并获取待量化节点的节点类型;
130.插入单元1012,用于基于节点类型,对待量化节点进行目标量化节点插入,得到修改后的图像处理模型,目标量化节点为由量化节点后紧接着反量化节点构成的节点;
131.训练模块1020,用于对修改后的图像处理模型进行量化训练,得到量化后的图像处理模型;
132.删除模块1030,用于对量化后的图像处理模型进行冗余节点删除,得到初始图像
处理模型;
133.分析处理模块1040,用于获取初始图像处理模型部署后的目标图像处理模型,以及待处理图像,并通过目标图像处理模型对待处理图像进行分析处理,得到图像信息。
134.可选的,插入单元1012还可以具体用于:
135.当节点类型用于指示带权重的节点时,对待量化节点进行逐张量的目标量化节点插入和逐通道的目标量化节点插入,得到修改后的图像处理模型;
136.当节点类型用于指示加法节点时,对待量化节点的多个输入分别进行目标量化节点插入,得到修改后的图像处理模型。
137.可选的,训练模块1020还可以具体用于:
138.获取修改后的图像处理模型的量化前的结果、量化的比例和量化后的零点;
139.基于量化前的结果、量化的比例、量化后的零点和预置量化公式,对修改后的图像处理模型进行运算,得到量化后的图像处理模型。
140.可选的,删除模块1030包括:
141.第一识别单元1031,用于基于预置的图优化算法,获取量化后的图像处理模型中的多个量化训练节点,并识别多个量化训练节点的连续性,得到连续性信息;
142.第二识别单元1032,用于基于连续性信息识别各量化训练节点中的冗余节点,得到待删除节点;
143.删除单元1033,用于将量化后的图像处理模型中各量化训练节点的待删除节点删除,得到初始图像处理模型。
144.可选的,第二识别单元1032还可以具体用于:
145.若连续性信息用于指示两个量化训练节点不连续,则获取量化训练节点的目标量化节点中的反量化节点,得到第一冗余节点,并将第一冗余节点确定为待删除节点;
146.若连续性信息用于指示两个量化训练节点连续,则获取两个量化训练节点之间的目标量化节点,得到第二冗余节点;
147.获取前连接的量化训练节点的目标量化节点中的反量化节点,得到第三冗余节点;
148.将第二冗余节点和第三冗余节点确定为待删除节点。
149.可选的,分析处理模块1040还可以具体用于:
150.将初始图像处理模型转换为对应的网络结构表达,得到目标图像处理模型,并将目标图像处理模型发送至预置的推理引擎;
151.获取待处理图像以及图像处理需求,通过推理引擎调用目标图像处理模型,基于图像处理需求,对待处理图像进行分析处理,得到图像信息。
152.上述图像的处理装置中各模块和各单元的功能实现与上述图像的处理方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
153.本发明实施例中,通过在深度神经网络模型训练中,在需要量化的节点前面插入目标量化节点(量化节点和反量化节点的结合),使得该节点计算的时候受到了量化的干扰,从而感知量化的存在,训练完毕后,通过图优化算法将结对的目标量化节点消去(即冗余节点删除),最后部署目标图像处理模型对待处理图像进行推理,实现了对图像处理模型的压缩,能够使得图像处理模型得到量化的收益,也能避免量化带来的精度损失,提高了图
像处理模型对于输入被量化的鲁棒性,从而减少了图像处理的计算量和内存占用高,以及降低了其计算效率。
154.上面图10和图11从模块化功能实体的角度对本发明实施例中的图像的处理装置进行详细描述,下面从硬件处理的角度对本发明实施例中图像的处理设备进行详细描述。
155.图12是本发明实施例提供的一种图像的处理设备的结构示意图,该图像的处理设备1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)1210(例如,一个或一个以上处理器)和存储器1220,一个或一个以上存储应用程序1233或数据1232的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1220和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对图像的处理设备1200中的一系列计算机程序操作。更进一步地,处理器1210可以设置为与存储介质1230通信,在图像的处理设备1200上执行存储介质1230中的一系列计算机程序操作。
156.图像的处理设备1200还可以包括一个或一个以上电源1240,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1260,和/或,一个或一个以上操作系统1231,例如windows serve,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图12示出的图像的处理设备结构并不构成对图像的处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
157.本发明还提供一种图像的处理设备,包括:存储器和至少一个处理器,所述存储器中存储有计算机程序,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述计算机程序,以使得所述图像的处理设备执行上述图像的处理方法中的步骤。
158.本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行图像的处理方法的步骤。
159.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
160.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干计算机程序用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
161.以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献