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

一种神经网络的生成方法、装置、计算机设备及存储介质与流程

2022-05-31 23:14:30 来源:中国专利 TAG:


1.本公开涉及神经网络技术领域,具体而言,涉及一种神经网络的生成方法、装置、计算机设备及存储介质。


背景技术:

2.在某些图像处理任务中,例如在行为识别任务、行为预测任务中,需要将多帧数据输入至神经网络,通过神经网络提取在时间上、以及单帧数据上的特征,来得到推理的结果。神经网络部署在不同平台上时有不同的要求;在将卷积神经网络部署到神经网络推理机(neural network inference engine,nnie)平台上时,由于nnie平台对输入数据张量的限制,神经网络需要进行针对nnie平台部署要求的重训练,以得到可以部署在nnie平台上的神经网络,而这种重训练的方法会导致效率较低的问题。


技术实现要素:

3.本公开实施例至少提供一种神经网络的生成方法、装置、计算机设备及存储介质。
4.第一方面,本公开实施例提供了一种神经网络的生成方法,包括:基于待部署神经网络中各个网络层分别对应的算子类型,确定待调整网络层;基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层;基于所述目标网络层,生成目标神经网络。
5.一种可选的实施方式中,所述待调整网络层包括:卷积层;所述网络层内参包括:第一输入通道数、以及第一输出通道数;所述基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和/或网络层内参进行调整,得到目标网络层,包括:基于所述待部署神经网络的待处理数据的数据帧数,将所述卷积层的算子类型更改为分组卷积;所述分组卷积的第一分组数量与所述数据帧数相同;以及基于所述待部署神经网络的待处理数据的数据帧数,调整所述卷积层的第一输入通道数、以及第一输出通道数,得到第一目标输入通道数、以及第一目标输出通道数;基于更改为分组卷积的算子类型、所述第一目标输入通道数、以及所述第一目标输出通道数,构成所述目标网络层。
6.一种可选的实施方式中,所述网络层内参还包括:每个第一输出通道分别对应的第一卷积核;所述基于所述待部署神经网络的待处理数据的数据帧数,调整所述待调整网络层的第一输入通道数、以及第一输出通道数,得到第一目标输入通道数、以及第一目标输出通道数之后,还包括:基于所述分组卷积的第一分组数量,对所述第一卷积核进行扩增处理,得到与各个第一目标输出通道分别对应的第一目标卷积核;所述基于更改为分组卷积的算子类型、所述第一目标输入通道数、以及所述第一目标输出通道数,构成所述目标网络层,包括:基于更改为分组卷积的算子类型、所述第一目标输入通道数、所述第一目标输出通道数、以及所述第一目标卷积核,构成所述目标网络层。
7.一种可选的实施方式中,所述基于更改为分组卷积的算子类型、所述第一目标输入通道数、所述第一目标输出通道数、以及所述第一目标卷积核,构成所述目标网络层,包
括:基于更改为分组卷积的算子类型,确定所述目标网络层对应的算子;以及,基于所述第一目标输入通道数、所述第一目标输出通道数,为所述目标网络层对应的算子确定输入通道、以及输出通道,并为每个输出通道确定对应的第一目标卷积核、为每个输入通道确定对应的输入数据,得到所述目标网络层。
8.一种可选的实施方式中,所述待调整网络层还包括:与所述卷积层的输出端连接的批归一化层;所述基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和/或网络层内参进行调整,得到目标网络层之前,还包括:基于所述卷积层的第一输入数据、第一输出数据之间的第一关系信息、以及所述批归一化层的第二输入数据和第二输出数据之间的第二关系信息,确定从所述卷积层的第一输入数据、映射到所述批归一化层的第二输出数据之间的第三关系信息;基于所述第三关系信息,将所述批归一化层合并至所述卷积层,得到新的卷积层;所述基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层,包括:基于所述待部署神经网络的待处理数据的数据帧数,对所述新的卷积层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层。
9.一种可选的实施方式中,所述基于所述第三关系信息,将所述批归一化层合并至所述卷积层,得到新的卷积层,包括:基于所述第三关系信息,对所述卷积层的第一卷积核和偏置项系数中的至少一项进行调整,得到新的第一卷积核和/或新的偏置项系数;基于所述新的第一卷积核和/或新的偏置项系数,得到所述新的卷积层。
10.一种可选的实施方式中,所述基于所述新的第一卷积核和/或新的偏置项系数,得到所述新的卷积层,包括:将所述卷积层对应算子中的第一卷积核替换为所述新的第一卷积核、和/或,将所述卷积层对应的算子中的偏置项系数替换为所述新的偏置项系数,得到所述新的卷积层。
11.一种可选的实施方式中,所述待调整网络层还包括:全连接层;所述网络层内参包括:全连接权重;所述基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层,包括:基于所述待部署神经网络的待处理数据的数据帧数,将所述全连接层的算子类型更改为分组卷积,并将所述全连接层的全连接权重更改为卷积算子的卷积核,得到所述目标网络层;其中,将所述全连接层的算子类型更改为分组卷积的第二分组数量与所述数据帧数相同。
12.一种可选的实施方式中,所述基于所述待部署神经网络的待处理数据的数据帧数,将所述全连接层的算子类型更改为分组卷积,并将所述全连接层的全连接权重更改为卷积算子的卷积核,得到所述目标网络层,包括:基于所述待部署神经网络的待处理数据的数据帧数,调整所述全连接层的第二输入通道数、以及第二输出通道数,得到所述全连接层的算子类型更改为分组卷积后的第二目标输入通道数、以及第二目标输出通道数;以及,基于所述第二分组数量,生成将所述全连接层的算子类型更改为分组卷积后的第二卷积核;所述第二卷积核的数量、与所述第二目标输出通道数相同。
13.一种可选的实施方式中,还包括:在所述待部署神经网络的输入端,增加输入数据融合层;所述输入数据融合层,用于将多帧待处理数据融合为预设帧数的目标待处理数据。
14.一种可选的实施方式中,所述目标神经网络包括图像识别网络,所述图像识别网络用于对包含目标人体的图像进行行为识别,得到对所述图像中的所述目标人体的行为识
别结果。
15.一种可选的实施方式中,所述生成目标神经网络后,所述方法还包括:在神经网络推理机nnie上部署所述目标神经网络。
16.第二方面,本公开实施例还提供一种神经网络的生成装置,包括:确定模块,用于基于待部署神经网络中各个网络层分别对应的算子类型,确定待调整网络层;调整模块,用于基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层;生成模块,用于基于所述目标网络层,生成目标神经网络。
17.一种可选的实施方式中,所述待调整网络层包括:卷积层;所述网络层内参包括:第一输入通道数、以及第一输出通道数;所述调整模块在基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和/或网络层内参进行调整,得到目标网络层时,用于:基于所述待部署神经网络的待处理数据的数据帧数,将所述卷积层的算子类型更改为分组卷积;所述分组卷积的第一分组数量与所述数据帧数相同;以及基于所述待部署神经网络的待处理数据的数据帧数,调整所述卷积层的第一输入通道数、以及第一输出通道数,得到第一目标输入通道数、以及第一目标输出通道数;基于更改为分组卷积的算子类型、所述第一目标输入通道数、以及所述第一目标输出通道数,构成所述目标网络层。
18.一种可选的实施方式中,所述网络层内参还包括:每个第一输出通道分别对应的第一卷积核;所述调整模块在基于所述待部署神经网络的待处理数据的数据帧数,调整所述待调整网络层的第一输入通道数、以及第一输出通道数,得到第一目标输入通道数、以及第一目标输出通道数之后,还用于:基于所述分组卷积的第一分组数量,对所述第一卷积核进行扩增处理,得到与各个第一目标输出通道分别对应的第一目标卷积核;所述调整模块在基于更改为分组卷积的算子类型、所述第一目标输入通道数、以及所述第一目标输出通道数,构成所述目标网络层时,用于:基于更改为分组卷积的算子类型、所述第一目标输入通道数、所述第一目标输出通道数、以及所述第一目标卷积核,构成所述目标网络层。
19.一种可选的实施方式中,所述调整模块在基于更改为分组卷积的算子类型、所述第一目标输入通道数、所述第一目标输出通道数、以及所述第一目标卷积核,构成所述目标网络层时,用于:基于更改为分组卷积的算子类型,确定所述目标网络层对应的算子;以及,基于所述第一目标输入通道数、所述第一目标输出通道数,为所述目标网络层对应的算子确定输入通道、以及输出通道,并为每个输出通道确定对应的第一目标卷积核、为每个输入通道确定对应的输入数据,得到所述目标网络层。
20.一种可选的实施方式中,所述待调整网络层还包括:与所述卷积层的输出端连接的批归一化层;所述调整模块在基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和/或网络层内参进行调整,得到目标网络层之前,还用于:基于所述卷积层的第一输入数据、第一输出数据之间的第一关系信息、以及所述批归一化层的第二输入数据和第二输出数据之间的第二关系信息,确定从所述卷积层的第一输入数据、映射到所述批归一化层的第二输出数据之间的第三关系信息;基于所述第三关系信息,将所述批归一化层合并至所述卷积层,得到新的卷积层;所述调整模块在基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和网络层内参中的至
少一项进行调整,得到目标网络层时,用于:基于所述待部署神经网络的待处理数据的数据帧数,对所述新的卷积层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层。
21.一种可选的实施方式中,所述调整模块在基于所述第三关系信息,将所述批归一化层合并至所述卷积层,得到新的卷积层时,用于:基于所述第三关系信息,对所述卷积层的第一卷积核和偏置项系数中的至少一项进行调整,得到新的第一卷积核和/或新的偏置项系数;基于所述新的第一卷积核和/或新的偏置项系数,得到所述新的卷积层。
22.一种可选的实施方式中,所述调整模块在基于所述新的第一卷积核和/或新的偏置项系数,得到所述新的卷积层时,用于:将所述卷积层对应算子中的第一卷积核替换为所述新的第一卷积核、和/或,将所述卷积层对应的算子中的偏置项系数替换为所述新的偏置项系数,得到所述新的卷积层。
23.一种可选的实施方式中,所述待调整网络层还包括:全连接层;所述网络层内参包括:全连接权重;所述调整模块在基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层时,用于:基于所述待部署神经网络的待处理数据的数据帧数,将所述全连接层的算子类型更改为分组卷积,并将所述全连接层的全连接权重更改为卷积算子的卷积核,得到所述目标网络层;其中,将所述全连接层的算子类型更改为分组卷积的第二分组数量与所述数据帧数相同。
24.一种可选的实施方式中,所述调整模块在基于所述待部署神经网络的待处理数据的数据帧数,将所述全连接层的算子类型更改为分组卷积,并将所述全连接层的全连接权重更改为卷积算子的卷积核,得到所述目标网络层时,用于:基于所述待部署神经网络的待处理数据的数据帧数,调整所述全连接层的第二输入通道数、以及第二输出通道数,得到所述全连接层的算子类型更改为分组卷积后的第二目标输入通道数、以及第二目标输出通道数;以及,基于所述第二分组数量,生成将所述全连接层的算子类型更改为分组卷积后的第二卷积核;所述第二卷积核的数量、与所述第二目标输出通道数相同。
25.一种可选的实施方式中,所述调整模块还用于:在所述待部署神经网络的输入端,增加输入数据融合层;所述输入数据融合层,用于将多帧待处理数据融合为预设帧数的目标待处理数据。
26.一种可选的实施方式中,所述目标神经网络包括图像识别网络,所述图像识别网络用于对包含目标人体的图像进行行为识别,得到对所述图像中的所述目标人体的行为识别结果。
27.一种可选的实施方式中,生成目标神经网络后,所述生成模块还用于:在神经网络推理机nnie上部署所述目标神经网络。
28.第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
29.第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中
任一种可能的实施方式中的步骤。
30.关于上述神经网络的生成装置、计算机设备、及计算机可读存储介质的效果描述参见上述神经网络的生成方法的说明,这里不再赘述。
31.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
32.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
33.图1示出了本公开实施例所提供的一种神经网络的生成方法的流程图;
34.图2a示出了本公开实施例所提供的一种利用第一卷积核对待处理数据进行处理时的示意图;
35.图2b示出了本公开实施例所提供的一种利用第一目标卷积核对待处理数据进行处理时的示意图;
36.图3示出了本公开实施例所提供的一种神经网络的生成装置的示意图;
37.图4示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
38.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
39.经研究发现,在例如行为识别、行为预测等的图像处理任务中,通常会利用神经网络对多帧数据进行特征分析,以得到推理的结果,其中,特征分析可包括针对多帧数据在时间维度上的特征进行特征分析,和/或,针对单帧数据包括的图像特征进行特征分析。以对人体进行行为识别为例,人体的行为通常包括多个连续的动作,每一个动作都能够形成一帧图像数据;为了能够识别到人体的行为,需要将多个动作分别对应的图像作为输入数据,在进行动作分析的同时,还要对多个动作在时间维度上的联系进行分析,从而确定最终的行为识别结果。可供这样的神经网络部署的平台有多种,例如包括nnie平台以及英伟达(nvidia)平台;对于不同的平台而言,神经网络在部署至不同平台时对神经网络的数据张量都有不同的要求,例如对于nvidia,其本身所具有的特性能够支持将多帧连续的数据输入至神经网络,并输出最终的结果;而对于nnie平台而言,则要求每次只能输入一帧数据,这使得部署在nnie平台上的神经网络无法利用多帧数据进行时间维度上的分析。为了将进
行行为识别、行为预测等神经网络部署在nnie平台上,则需要将多帧数据融合为一帧数据,并利用融合后的数据对神经网络进行训练,调整神经网络的参数数值,使得训练后的神经网络能够从融合后的一帧数据中提取到时间维度的特征,实现行为识别、行为预测。但是对于nnie平台而言,如果直接训练要部署在nnie平台上的神经网络,为了使神经网络能够提取到一帧输入数据在时间维度上的特征,通常的做法是在神经网络中添加分组卷积层,通过分组卷积层对一帧输入数据进行分组卷积,以提取到一帧输入数据在时间维度上的特征;但实际上,分组卷积层在训练时,分组卷积各组之间权重保持一致比较难实现;而如果不同的分组卷积之间权重相差较大又会造成神经网络的性能损失。为了减少不同分组卷积之间权重的差异,当前的做法是采用非分组卷积的算子对神经网络进行预训练,然后对得到的神经网络进行算子类型的调整,并将多帧输入数据融合为一帧输入数据。利用融合后的一帧输入数据对完成算子类型调整的神经网络(也即本公开实施例中的待部署神经网络)进行重训练,得到能够部署在nnie平台上的神经网络。但这生成能够部署在nnie平台上的神经网络的方式,由于需要耗费大量时间对待部署神经网络进行重训练,造成了在生成神经网络时效率较低的问题。
40.基于上述研究,本公开提供了一种神经网络的生成方法,通过利用待部署神经网络的待处理数据的数据帧数,对所述待调整网络层进行算子类型的调整和网络层内参中的至少一项进行张量上的调整,从而无需对待部署神经网络进行再次训练,而是直接对算子类型和/或网络层内参进行张量上的调整的方式,实现将待部署神经网络转换为能够部署到nnie平台上的目标神经网络的目的,在提升神经网络的性能的同时,由于无需对神经网络进行再次训练,因此效率也较高。
41.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
42.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
43.为便于对本实施例进行理解,首先对本公开实施例所公开的一种神经网络的生成方法进行详细介绍,本公开实施例所提供的神经网络的生成方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该神经网络的生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
44.下面对本公开实施例提供的神经网络的生成方法加以说明。
45.参见图1所示,为本公开实施例提供的神经网络的生成方法的流程图,所述方法包括步骤s101~s103,其中:
46.s101:基于待部署神经网络中各个网络层分别对应的算子类型,确定待调整网络层;
47.s102:基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层;
48.s103:基于所述目标网络层,生成目标神经网络。
49.本公开实施例通过利用待部署神经网络的待处理数据的数据帧数,对所述待调整网络层进行算子类型的调整和/或对网络层内参进行张量上的调整,从而在不通过对待部署神经网络进行训练,而是直接对算子类型进行调整、和/或对网络层内参进行张量上的调整的方式,实现将待部署神经网络生成能够部署到nnie平台上的目标神经网络的目的,提升神经网络的性能。
50.下面对上述s101~s103加以详细说明。
51.针对上述s101,在本公开实施例提供的神经网络的生成方法应用于对行为识别或行为预测的场景中时,待部署神经网络例如可以包括卷积神经网络(convolutional neural network,cnn)。其中,根据上述对背景技术的说明可以知道,待部署神经网络实际部署的平台例如包括nnie平台。
52.在待部署神经网络包括卷积神经网络的情况下,卷积神经网络包括输入层、卷积层、激励层、全连接层、批归一化层、池化层等。其中,针对不同的网络层,其分别对应的算子类型不同,例如在网络层包括卷积层的情况下,其对应的算子包括卷积算子;在网络层包括全连接层的情况下,其对应的算子包括全连接算子。
53.其中,在利用待部署神经网络进行行为识别或者行为预测场景中的数据处理时,待处理数据例如可以包括视频帧图像。在一种可能的情况下,由于行为识别或者行为预测的具体要求,在对待处理数据进行处理时,会对连续的多张视频帧图像进行在时间上的特征提取,例如对8帧视频帧图像进行在时间上的特征提取;并且,针对每帧视频帧图像,会对其进行图像上的特征提取,以确定在该帧图像上人像的动作行为特征。
54.而在将待部署神经网络部署在nnie平台上时,由于nnie平台要求神经网络输入的待处理数据的张量形状的第一个维度在网络前向传播时不能更改,而在用于类似于行为识别的场景中时,待处理数据的张量的形状会在待处理数据的数据帧数(也称为批次数(batch))和输入通道数(channel)之间转换,因此为了解决上述背景技术中存在的问题,例如可以对待部署神经网络中的部分网络层进行调整,以解决神经网络性能较低的问题。其中,在本公开实施例中,将需要调整的网络层(即待部署神经网络中的部分网络层)称之为待调整网络层。
55.在具体实施中,在确定待调整网络层时,例如可以根据待部署神经网络中的各个网络层分别对应的算子类型确定。在一种可能的实施方式中,由于在卷积神经网络中的卷积层、全连接层以及批归一化层中,其分别对应的算子会由于输入至该层网络层的输入数据的张量维度的改变而有所变化,具体例如包括算子数量的变化,由于算子发生了改变,因此在本公开实施例中,确定的待调整网络层例如包括具有可能会发生改变的算子的卷积层、全连接层以及批归一化层中至少一种。
56.针对上述s102,在确定待调整网络层的情况下,即可以对网络层的算子类型和/或网络层内参进行调整,以使得待部署神经网络可以部署在nnie平台中。
57.根据上述s101可以确定待调整网络层例如可以包括卷积层、全连接层以及批归一化层中至少一种。下面分别对卷积层、全连接层以及批归一化层中的算子类型和/或网络层内参进行调整的具体方式分别进行介绍。
58.(a):待调整网络层包括卷积层。
59.其中,在待调整网络层包括卷积层的情况下,网络层内参例如可以包括第一输入通道数、第一输出通道数。另外,网络层内参例如还可以包括卷积核高度(height)、以及卷积核宽度(width)。示例性的,为便于表述,将卷积层的第一输入通道数表示为将卷积层的第一输出通道数表示为卷积核高度表示为以及卷积核宽度表示为其中,分组数量表示为group,由于待调整网络层并非分组卷积,因此此处group数值为1。
60.在对卷积层中的网络层内参进行调整时,例如可以利用待部署神经网络的待处理数据的数据帧数进行调整。示例性的,待处理数据的数据帧数为8帧、10帧、15帧等,具体根据实际的神经网络输入有所区别;相应的,为便于表述,将数据帧数表示为batch。
61.其中,对于卷积层而言,利用数据帧数batch,对卷积层进行算子类型的调整时,可以将卷积层的算子类型由卷积算子更改为分组卷积算子;相应的,在对网络层内参进行张量上的调整时,可以为卷积层的网络层内参添加分组卷积的第一分组数量group1。其中,第一分组数量group1与数据帧数batch相同,也即group1=batch。也即在将卷积层调整为分组卷积时,每一组卷积实际上执行了未调整前一个卷积层的数据处理任务。
62.相应的,由于将卷积层调整为分组卷积,因此对于卷积层整体而言,卷积层的第一输入通道数以及第一输出通道数也会有所改变。具体地,为每组分组卷积确定对应的输入通道数以及输出通道数,可以确定调整后的卷积层对应的第一目标输入通道数为数据帧数batch倍的第一输入通道数第一目标输出通道数为数据帧数batch倍的第一输出通道数也即,在确定第一目标输入通道数时,具体满足下述公式(1-1):
[0063][0064]
在确定第一目标输出通道数时,具体满足下述公式(1-2):
[0065][0066]
而对于卷积层中的卷积核,针对卷积核对应的卷积核高度(例如表示为)、以及卷积核宽度(例如表示为)而言,其并不由于卷积层调整为分组卷积而相应的改变大小,因此保持数值不变化。
[0067]
在本公开另一实施例中,在卷积层中,对应的网络层内参例如还包括每个第一输出通道分别对应的第一卷积核。其中,第一卷积核的卷积核高度以及卷积核宽度与上述说明的以及相同。相应的,在对卷积层进行变换之前,第一卷积核对应的输出通道数以及输入通道数也与卷积层的网络层内参相同。
[0068]
在确定第一目标输入通道数和第一目标输出通道数的情况下,由于卷积层修改为分组卷积,因此第一卷积核也会相应的根据多个分组而发生改变。
[0069]
具体地,在对第一卷积核进行调整时,例如可以根据分组卷积的第一分组数量,对第一卷积核进行扩增处理,得到各个第一目标输出通道分别对应的第一目标卷积核。
[0070]
示例性的,参见图2a所示,为本公开实施例提供的一种利用第一卷积核对待处理数据进行处理时的示意图。其中,图2a示出了在未对第一卷积核进行调整时,卷积层在处理
待处理数据时的示意图。为了便于说明,以一帧视频帧图像作为待处理数据进行说明。其中,待处理数据包括三个通道,例如常见的红绿蓝(red green blue,rgb)颜色通道,也即上述说明的第一输入通道数为3的情况。在该示例中,第一输出通道数为4,相应的对待处理数据进行卷积处理的卷积核有4个,每个第一卷积核对应的层数与第一输入通道数相同。也即,对待处理数据进行处理的第一卷积核包括4个,每个第一卷积核具有3层卷积核层,根据上述说明可以知道,第一卷积核的大小以及各个元素的数值并不会由于卷积层变换为分组卷积而造成影响,因此此处也不再对每层第一卷积核的尺寸进行限定说明。其中,在图2a中,为了便于表示,将卷积前后的输入、输出数据以相同的颜色表示,并对多个第一卷积核添加不同灰度的颜色以进行区分。
[0071]
在图2b中,则示出了利用第一目标卷积核对待处理图像进行处理时的示意图;在该示意图中,示出了在将卷积层变换为分组卷积后的第一目标输入通道数和第一目标输出通道数以及对应的第一目标卷积核。其中,数据帧数batch为2,则相应的第一分组数量group1为2。根据上述的说明可以确定,对第一输入通道数进行变化后得到的第一目标输入通道数为6,对第一输入通道数进行变化后得到的第一目标输出通道数为8。在图2b为了清楚地表示,相应的将属于同一张视频帧图像的输入通道以及输出通道添加相同的颜色。而在对第一目标输入通道数对应的两张视频帧图像进行处理时,相应的需要对第一卷积核进行扩增处理,以由一张视频帧图像进行卷积的第一卷积核扩增为两张视频帧图像分别进行卷积所需的第一目标卷积核。
[0072]
其中,根据图2b的图示可以较为清楚的确定,若在输入通道数的角度,在对第一卷积核进行扩增时,实际上是对第一卷积核中的各个第一卷积核进行扩增,并将扩增得到的属于不同卷积核的卷积核层进行合并,得到新的卷积核,并构成第一目标卷积核。若在输出通道的角度,在对第一卷积核进行扩增时,实际上是对不同输出通道对应的第一卷积核进行扩增,以得到的在一个通道下的多个卷积核,也即第一目标卷积核。
[0073]
在本公开实施例中,若选取卷积层作为待调整网络层,则相应的在确定目标网络层时,例如可以基于更改为分组卷积的算子类型、所述第一目标输入通道数、所述第一目标输出通道数、以及所述第一目标卷积核,构成所述目标网络层。
[0074]
在具体实施中,在生成目标网络层时,具体可以采用下述方式:基于更改为分组卷积的算子类型,确定所述目标网络层对应的算子;以及,基于所述第一目标输入通道数、所述第一目标输出通道数,为所述目标网络层对应的算子确定输入通道、以及输出通道,并为每个输出通道确定对应的第一目标卷积核、为每个输入通道确定对应的输入数据,得到所述目标网络层。这样,通过确定的目标网络层的算子类型以及网络层内参,即可以相应的构成该目标网络层。
[0075]
(b):待调整网络层包括与所述卷积层的输出端连接的批归一化层。
[0076]
其中,在待调整网络层包括与所述卷积层的输出端连接的批归一化层的情况下,在对批归一化层进行调整之前,例如可以采用下述方式将批归一化层与卷积层进行合并:基于所述卷积层的第一输入数据、第一输出数据之间的第一关系信息、以及所述批归一化层的第二输入数据和第二输出数据之间的第二关系信息,确定从所述卷积层的第一输入数
据、映射到所述批归一化层的第二输出数据之间的第三关系信息;基于所述第三关系信息,将所述批归一化层合并至所述卷积层,得到新的卷积层。
[0077]
其中,卷积层的第一输入数据、第一输出数据之间的第一关系信息例如可以采用下述公式(2-1)表示:
[0078]
y=wx b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2-1)
[0079]
其中,x表示第一输入数据,y表示第一输出数据。w表示根据第一卷积核确定的权重项,b表示偏置项系数。
[0080]
而对于批归一化层,批归一化层的第二输入数据和第二输出数据之间的第二关系信息例如可以采用下述公式(2-2)表示:
[0081][0082]
其中,y表示第二输入数据,y'表示第二输出数据;此处,第二输入数据也即在上述公式(2-1)中说明的第一输出数据,而由于公式(2-1)表达了卷积层的第一关系信息,而公式(2-2)表达了归一化层的第二关系信息,因此此处将y在不同的网络层中以不同的名称加以命名。其余γ表示尺度因子,σ表示第二输入数据的方差,μ表示第二输入数据的均值,β表示平移因子。
[0083]
利用上述说明的第一关系信息、以及第二关系信息,可以相应的确定从卷积层的第一输入数据x映射至批归一化的第二输出数据y'之间的第三关系信息。
[0084]
具体地,例如可以将上述公式(2-1)中的第一输出数据y代入公式(2-2)中,以得到下述公式(2-3):
[0085][0086]
将得到的公式(2-3)进行整理,即可以得到第一输入数据x映射至第二输出数据y'之间的第三关系信息,以下述公式(2-4)表示:
[0087][0088]
根据上述公式(2-4)确定第三关系信息后,根据该第三关系信息i,可以确定在将批归一化层合并至卷积层时,具体例如可以采用下述方式:基于所述第三关系信息,对所述卷积层的第一卷积核和/或偏置项系数进行调整,得到新的第一卷积核和/或新的偏置项系数。
[0089]
具体地,根据上述公式(2-4)与公式(2-1)的对比可以知道,在将批归一化层合并至卷积层时,批归一化对应的权重项相应的调整为γw/σ,偏置项系数相应的调整为γb/σ-γμ/σ β。这样,对于批归一化层而言,其可以相应的合并至卷积层。在将批归一化层合并至卷积层时,相应的,由于批归一化层具有其对应的权重项以及偏置项系数,因此根据为批归一化层合并卷积层确定的权重项和偏置项系数可以用于对卷积层的第一卷积核以及偏置项系数进行调整,得到新的第一卷积核和新的偏置项系数,从而得到新的卷积层。
[0090]
在本公开实施例中,若选取批归一化层作为待调整网络层,则在确定目标网络层时,例如可以基于所述待部署神经网络的待处理数据的数据帧数,对所述新的卷积层的算子类型和/或网络层内参进行调整,得到目标网络层。
[0091]
根据上述对批归一化层合并至卷积层的描述可以知道,在将批归一化层进行合并时,其实质为根据卷积层的架构的确定的新的卷积层。这样,对于批归一化层确定的新的卷积层而言,也可以按照上述(a)中说明的对卷积层的调整方式进行调整;在具体实施中,可以将所述卷积层对应算子中的第一卷积核替换为所述新的第一卷积核、和/或,将所述卷积层对应的算子中的偏置项系数替换为所述新的偏置项系数,得到所述新的卷积层。
[0092]
(c):待调整网络层包括全连接层。
[0093]
其中,在待调整网络层包括全连接层的情况下,网络层内参列入可以包括全连接权重。
[0094]
在对全连接层的网络层内参进行调整时,例如可以采用下述方式:基于所述待部署神经网络的待处理数据的数据帧数,将所述全连接层的算子类型更改为分组卷积,并将所述全连接层的全连接权重更改为卷积算子的卷积核,得到所述目标网络层;其中,将所述全连接层的算子类型更改为分组卷积的第二分组数量与所述数据帧数相同。
[0095]
承接上述(a)中的示例,待部署神经网络的待处理数据的数据帧数例如为batch。在对全连接层进行调整时,例如与上述(b)中对批归一化层的处理相似,将全连接层调整转换为卷积层,具体调整于全连接层的算子类型以及全连接权重。将全连接层中的算子类型更改为分组卷积后,分组卷积的第二分组数量(表示为group2)与数据帧数相同,也即group2=batch。
[0096]
在具体实施中,例如可以采用下述方式对全连接层进行调整,以得到全连接层对应的目标网络层:基于所述待部署神经网络的待处理数据的数据帧数,调整所述全连接层的第二输入通道数、以及第二输出通道数,得到所述全连接层的算子类型更改为分组卷积后的第二目标输入通道数、以及第二目标输出通道数;以及,基于所述第二分组数量,生成将所述全连接层的算子类型更改为分组卷积后的第二卷积核;所述第二卷积核的数量、与所述第二目标输出通道数相同。
[0097]
其中,全连接层的第二输入通道数例如表示为第二输出通道数例如表示为利用数据帧数对第二输入通道数进行调整,以得到第二目标输入通道数时,例如可以采用下述公式(3-1):
[0098][0099]
其中,表示第二目标输入通道数。
[0100]
在对第二输出通道数进行调整,以得到第二目标输出通道数时,例如可以采用下述公式(3-2):
[0101][0102]
其中,表示第二目标输出通道数。
[0103]
另外,待处理数据的数据帧数为batch,利用数据帧数batch,可以将全连接层的算子类型由全连接算子更改为分组卷积算子。相应的,在将全连接层合并为分组卷积的情况下,例如可以根据第二分组数量,生成分组卷积对应的第二卷积核。与上述(a)相似的,第二卷积核的数量与第二目标输出通道数相同。具体地过程的说明可以参见上述(a)中的说明,在此不再重复赘述。
[0104]
另外,在上述(a)、(b)以及(c)分别说明的目标网络层以外,在本公开另一实施例中,还包括在待部署神经网络的输入端增加输入数据融合层;其中,输入数据融合层,用于将多帧待处理数据融合为预设帧数的目标待处理数据。
[0105]
在具体实施中,多帧待处理数据的参数例如可以包括上述说明的数据帧数和每帧待处理数据的通道数、高度、以及宽度。输入数据融合层在对多帧待处理数据进行融合时,例如可以将多帧待处理数据的通道数变换为数据帧数倍,这样,相当于数据帧数变换为1,而使数据帧数的维度扩充至通道数,从而实现将多帧待处理数据融合为1帧待处理数据。相应的,由于待处理数据的第一个维度可以固定,因此可以适用于nnie平台。
[0106]
这样,即可以确定目标网络层。
[0107]
针对上述s103,在确定目标网络层的情况下,即可以根据得到的目标网络层重新构建神经网络,以得到目标神经网络。由于各个网络层均依照在nnie平台上的部署需求,因此得到的目标神经网络更适用于部署在nnie平台上。
[0108]
在本公开另一实施例中,还提供了一种神经网络的生成方法的具体实施例。在该实施例中,以示例的形式对上述提及的多种网络层进行说明。
[0109]
在该实施例中,针对于上述(a)中的卷积层,卷积层内参例如可以包括包含第一输入通道数、以及第一输出通道数的定义参数,例如第一输入通道数第一输出通道数卷积核高度卷积核宽度以及分组数量group。示例性的具体定义参数的取值例如可以表示为下述公式(4-1):
[0110][0111]
在对卷积层内参进行调整时,具体是利用数据帧数batch对第一输入通道数第一输出通道数以及分组数量group进行调整的,调整的方式可以简化为分别乘以数据帧数batch,以得到第一目标输入通道数第一目标输出通道数以及第一分组数量group1。示例性的,在数据帧数batch为8的情况下,可以表示将变换后的网络层内参表示为下述公式(4-2):
[0112][0113]
另外,在卷积层中,还包括对第一卷积核的调整。其中,第一卷积核对应的参数例如可以包括卷积核的输出通道数、输入通道数、卷积核高度以及卷积核宽度。其中,在卷积层的定义参数确定的情况下,即确定了卷积核的输出通道数与第一输出通道数相同,因此也表示为而卷积核的输入通道数与第一输入通道数以及分组数量group相关,在卷积层未变换为分组卷积的情况下,分组数量group为1,则卷积核的输入通道数与第一输入通道数相同;另外,卷积核高度以及卷积核宽度与上述公式(4-1)中表达的卷积核高度卷积核宽度一致。示例性的,具体定义第一卷积核时,例如可以表示为下述公式(4-3):
[0114][0115]
而在对第一卷积核进行调整时,可以根据上述对第一输出通道数的调整相似的,
对在定义第一卷积核时确定的进行变换,并相应的将变换后的表示为示例性的,变换后得到的第一目标卷积核例如可以表示为下述公式(4-4):
[0116][0117]
针对上述(b)中的批归一化层,在上述说明中已进行了较为详尽的说明,在此处不再展开示例说明。
[0118]
而针对上述(c)中的全连接层,全连接层内参例如可以包括包含第二输入通道数、以及第二输出通道数的定义参数,例如第一输入通道数以及第二输出通道数示例性的,对于全连接层的网络层内参,例如可以表示为下述公式(4-5):
[0119][0120]
在对全连接层对应的全连接内参进行调整时,例如可以先根据卷积层的卷积层内参进行张量上的扩充,将其调整至下述公式(4-6)的形式:
[0121][0122]
其中,以及仅为对全连接层进行调整时,为了与卷积层内参相对应而确定的,其可以不表示任何含义,为了进行区分而添加了角标“fc”,表示该参数对应于全连接层。另外,在变换前,相应的分组数与卷积层相同,表示为group,数值为1。
[0123]
在对全连接层的全连接层内参具体进行调整时,由于全连接层已调整为卷积层的形式,也即得到了新的卷积层,因此具体在对全连接层进行调整时,与上述对卷积层的调整方式相同,在此不再赘述。对全连接层完成调整后,变换后的网络层内参例如可以表示为下述公式(4-7)的形式:
[0124][0125]
而对于全连接层对应的全连接权重,相应的更改为卷积算子的卷积核。在变换前,全连接权重的参数例如可以以下述公式(4-8)的形式表示:
[0126][0127]
其中,公式(4-8)表达的形式与上述(4-5)表达形式一致的原因,参见对上述(4-3)的说明,在此不再重复赘述。在对全连接权重的参数进行调整后,例如可以以下述公式(4-9)的形式表示:
[0128][0129]
而针对上述说明的输入数据融合层,在具体对多帧待处理对象进行处理时,例如相应的对卷积层对应的特征图以及全连接层对应的特征图产生影响。
[0130]
其中,对于卷积层的特征图,对应的参数例如可以包括数据帧数、通道数、高度、以及宽度。示例性的,卷积层的特征图对应的参数,例如可以以下述公式(4-10)的形式表示:
[0131]
[b
conv
,c
conv
,h
conv
,w
conv
]=[8,6,64,64]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4-10)
[0132]
输入数据融合层在对多帧待处理数据进行融合时,相应的,卷积层的特征图会被变换为以下述公式(4-11)的形式表示:
[0133]
[b
conv
,c
conv
,h
conv
,w
conv
]=[1,48,64,64]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4-11)
[0134]
也即,将数据帧数的维度变换为1,以满足nnie平台的实际需求,并将在该第一维度上的数据变化至第二维度通道上。
[0135]
相应的,对于全连接层的特征图,对应的参数例如包括数据帧数以及通道数。示例性的,全连接层的特征图对应的参数,包括数据帧数以及通道数,例如可以以下述公式(4-12)的形式表示:
[0136]
[b
fc
,c
fc
]=[8,6]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4-12)
[0137]
在对全连接层的特征图进行变换后,得到的特征图例如可以以下述公式(4-13)的形式表示:
[0138]
[b
fc
,c
fc
,h
fc
,w
fc
]=[1,48,1,1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4-13)
[0139]
这样,对于不同的网络层,均可以相应的通过变换确定对应的目标网络层,以利用目标网络层生成目标神经网络。
[0140]
在本公开另一实施例中,还提供了一种利用本公开实施例提供的神经网络的生成方法得到的目标神经网络在应用于行为识别时的具体实施例。具体地,针对需要进行行为识别的场景,例如工厂流水线上对工作人员的行为安全检测,为了可以较为准确地得到行为识别结果,一般地需要对获取到的连续的多张视频帧图像进行行为识别,以得到在时间维度上对目标人体的行为识别结果。在这种情况下,利用本公开实施例提供的生成方法可以得到用于进行行为识别的目标神经网络,比如图像识别网络;采用本公开实施例提供的生成方法得到的图像识别网络,一方面由于并不会影响神经网络的检测精度,因此能够较为准确地得到行为识别结果;另一方面,也可以直接部署在nnie平台上,以降低设备成本。
[0141]
上述实施例仅提供了一种可能的应用场景,对于需要在时间维度上进行特征分析和/或在图像上进行图像特征分析的其他应用场景,例如行为预测场景等,也均在本技术的保护范围内。
[0142]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0143]
基于同一发明构思,本公开实施例中还提供了与神经网络的生成方法对应的神经网络的生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述神经网络的生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0144]
参照图3所示,为本公开实施例提供的一种神经网络的生成装置的示意图,所述装置包括:确定模块31、调整模块32、以及生成模块33;其中,
[0145]
确定模块31,用于基于待部署神经网络中各个网络层分别对应的算子类型,确定待调整网络层;
[0146]
调整模块32,用于基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层;
[0147]
生成模块33,用于基于所述目标网络层,生成目标神经网络。
[0148]
一种可选的实施方式中,所述待调整网络层包括:卷积层;所述网络层内参包括:第一输入通道数、以及第一输出通道数;所述调整模块32在基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和/或网络层内参进行调整,得到目标网络层时,用于:基于所述待部署神经网络的待处理数据的数据帧数,将所述卷积层的算
子类型更改为分组卷积;所述分组卷积的第一分组数量与所述数据帧数相同;以及基于所述待部署神经网络的待处理数据的数据帧数,调整所述卷积层的第一输入通道数、以及第一输出通道数,得到第一目标输入通道数、以及第一目标输出通道数;基于更改为分组卷积的算子类型、所述第一目标输入通道数、以及所述第一目标输出通道数,构成所述目标网络层。
[0149]
一种可选的实施方式中,所述网络层内参还包括:每个第一输出通道分别对应的第一卷积核;所述调整模块32在基于所述待部署神经网络的待处理数据的数据帧数,调整所述待调整网络层的第一输入通道数、以及第一输出通道数,得到第一目标输入通道数、以及第一目标输出通道数之后,还用于:基于所述分组卷积的第一分组数量,对所述第一卷积核进行扩增处理,得到与各个第一目标输出通道分别对应的第一目标卷积核;所述调整模块32在基于更改为分组卷积的算子类型、所述第一目标输入通道数、以及所述第一目标输出通道数,构成所述目标网络层时,用于:基于更改为分组卷积的算子类型、所述第一目标输入通道数、所述第一目标输出通道数、以及所述第一目标卷积核,构成所述目标网络层。
[0150]
一种可选的实施方式中,所述调整模块32在基于更改为分组卷积的算子类型、所述第一目标输入通道数、所述第一目标输出通道数、以及所述第一目标卷积核,构成所述目标网络层时,用于:基于更改为分组卷积的算子类型,确定所述目标网络层对应的算子;以及,基于所述第一目标输入通道数、所述第一目标输出通道数,为所述目标网络层对应的算子确定输入通道、以及输出通道,并为每个输出通道确定对应的第一目标卷积核、为每个输入通道确定对应的输入数据,得到所述目标网络层。
[0151]
一种可选的实施方式中,所述待调整网络层还包括:与所述卷积层的输出端连接的批归一化层;所述调整模块32在基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和/或网络层内参进行调整,得到目标网络层之前,还用于:基于所述卷积层的第一输入数据、第一输出数据之间的第一关系信息、以及所述批归一化层的第二输入数据和第二输出数据之间的第二关系信息,确定从所述卷积层的第一输入数据、映射到所述批归一化层的第二输出数据之间的第三关系信息;基于所述第三关系信息,将所述批归一化层合并至所述卷积层,得到新的卷积层;所述调整模块32在基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层时,用于:基于所述待部署神经网络的待处理数据的数据帧数,对所述新的卷积层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层。
[0152]
一种可选的实施方式中,所述调整模块32在基于所述第三关系信息,将所述批归一化层合并至所述卷积层,得到新的卷积层时,用于:基于所述第三关系信息,对所述卷积层的第一卷积核和偏置项系数中的至少一项进行调整,得到新的第一卷积核和/或新的偏置项系数;基于所述新的第一卷积核和/或新的偏置项系数,得到所述新的卷积层。
[0153]
一种可选的实施方式中,所述调整模块32在基于所述新的第一卷积核和/或新的偏置项系数,得到所述新的卷积层时,用于:将所述卷积层对应算子中的第一卷积核替换为所述新的第一卷积核、和/或,将所述卷积层对应的算子中的偏置项系数替换为所述新的偏置项系数,得到所述新的卷积层。
[0154]
一种可选的实施方式中,所述待调整网络层还包括:全连接层;所述网络层内参包
括:全连接权重;所述调整模块32在基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层时,用于:基于所述待部署神经网络的待处理数据的数据帧数,将所述全连接层的算子类型更改为分组卷积,并将所述全连接层的全连接权重更改为卷积算子的卷积核,得到所述目标网络层;其中,将所述全连接层的算子类型更改为分组卷积的第二分组数量与所述数据帧数相同。
[0155]
一种可选的实施方式中,所述调整模块32在基于所述待部署神经网络的待处理数据的数据帧数,将所述全连接层的算子类型更改为分组卷积,并将所述全连接层的全连接权重更改为卷积算子的卷积核,得到所述目标网络层时,用于:基于所述待部署神经网络的待处理数据的数据帧数,调整所述全连接层的第二输入通道数、以及第二输出通道数,得到所述全连接层的算子类型更改为分组卷积后的第二目标输入通道数、以及第二目标输出通道数;以及,基于所述第二分组数量,生成将所述全连接层的算子类型更改为分组卷积后的第二卷积核;所述第二卷积核的数量、与所述第二目标输出通道数相同。
[0156]
一种可选的实施方式中,所述调整模块32还用于:在所述待部署神经网络的输入端,增加输入数据融合层;所述输入数据融合层,用于将多帧待处理数据融合为预设帧数的目标待处理数据。
[0157]
一种可选的实施方式中,所述目标神经网络包括图像识别网络,所述图像识别网络用于对包含目标人体的图像进行行为识别,得到对所述图像中的所述目标人体的行为识别结果。
[0158]
一种可选的实施方式中,生成目标神经网络后,所述生成模块33还用于:在神经网络推理机nnie上部署所述目标神经网络。
[0159]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0160]
本公开实施例还提供了一种计算机设备,如图4所示,为本公开实施例提供的计算机设备结构示意图,至少包括:
[0161]
通过总线连接的处理器10和存储器20;所述存储器20存储有处理器10可执行的机器可读指令,处理器10用于执行存储器20中存储的机器可读指令,所述机器可读指令被处理器10执行时,处理器10执行下述步骤:
[0162]
基于待部署神经网络中各个网络层分别对应的算子类型,确定待调整网络层;基于所述待部署神经网络的待处理数据的数据帧数,对所述待调整网络层的算子类型和网络层内参中的至少一项进行调整,得到目标网络层;基于所述目标网络层,生成目标神经网络。
[0163]
上述存储器20包括内存210和外部存储器220;这里的内存210也称内存储器,用于暂时存放处理器10中的运算数据,以及与硬盘等外部存储器220交换的数据,处理器10通过内存210与外部存储器220进行数据交换。
[0164]
上述指令的具体执行过程可以参考本公开实施例中所述的神经网络的生成方法的步骤,此处不再赘述。
[0165]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的神经网络的生成
方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0166]
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的神经网络的生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0167]
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0168]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0169]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0170]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0171]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0172]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

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

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

相关文献