特征数据提取方法及装置、指令生成方法及装置制造方法及图纸

技术编号:22308896 阅读:54 留言:0更新日期:2019-10-16 08:58
公开了一种特征数据提取方法及装置、指令生成方法及装置,该特征数据提取方法包括:获取第一卷积核的一部分;获取第一输入特征数据的一部分;利用计算单元对第一卷积核的一部分和第一输入特征数据的一部分进行卷积运算,以获得第二输出特征数据;在针对第一卷积核的每一部分都获得了对应的第二输出特征数据之后,对针对第一卷积核的每一部分获得的第二输出特征数据进行整合,以获得与第一卷积核和第一输入特征数据对应的第一输出特征数据;其中,第一卷积核具有超出计算单元的硬件参数限制的尺寸,第一卷积核中的每一部分具有在计算单元的硬件参数限制范围内的尺寸。本申请能够在不增加硬件成本的前提下提高硬件执行卷积神经网络运算的效率。

Feature data extraction method and device, instruction generation method and device

【技术实现步骤摘要】
特征数据提取方法及装置、指令生成方法及装置
本申请涉及神经网络
,尤其涉及一种特征数据提取方法及装置、指令生成方法及装置。
技术介绍
卷积神经网络已成功应用于图像处理、自动驾驶等诸多领域。随着卷积神经网络在诸多领域的应用,一些应用场景下需要在卷积神经网络中应用各种尺寸卷积核的卷积运算操作。然而,专用于执行神经网络计算的硬件(例如,神经网络加速器)因其硬件的限制仅能够直接执行特定尺寸的卷积核的卷积运算操作。
技术实现思路
为了解决上述技术问题,期望提供一种特征数据提取方法及装置、指令生成方法及装置,以使因硬件限制而不能支持特定尺寸卷积核的硬件(例如,神经网络加速器)能够完成各种卷积核的卷积运算操作,从而在不增加硬件成本的前提下提高硬件执行卷积神经网络运算的效率。根据本申请的一个方面,提供了一种特征数据提取方法,包括:获取第一卷积核的一部分;获取第一输入特征数据的一部分,所述输入特征数据的一部分与所述第一卷积核的一部分相对应;利用计算单元对所述第一卷积核的一部分和所述第一输入特征数据的一部分进行卷积运算,以获得第二输出特征数据;在针对所述第一卷积核的每一部分都获得了对应的第二输出特征数据之后,对针对所述第一卷积核的每一部分获得的第二输出特征数据进行整合,以获得与所述第一卷积核和所述第一输入特征数据对应的第一输出特征数据;其中,所述第一卷积核具有超出所述计算单元的硬件参数限制的尺寸,所述第一卷积核中的每一部分具有在所述计算单元的硬件参数限制范围内的尺寸。根据本申请的一个方面,提供了一种特征数据提取装置,包括:第一获取模块,配置为获取第一卷积核的一部分;第二获取模块,配置为获取第一输入特征数据的一部分,所述第一输入特征数据的一部分与所述第一卷积核的一部分相对应;计算模块,配置为利用计算单元对所述第一卷积核的一部分和所述第一输入特征数据的一部分进行卷积运算,以获得第二输出特征数据;以及整合模块,在针对所述第一卷积核的每一部分都获得了对应的第二输出特征数据之后,对针对所述第一卷积核的每一部分获得的第二输出特征数据进行整合,以获得与所述第一卷积核和所述第一输入特征数据对应的第一输出特征数据;其中,所述第一卷积核具有超出所述计算单元的硬件参数限制的尺寸,所述第一卷积核的每一部分具有在所述计算单元的硬件参数限制范围内的尺寸。根据本申请的一个方面,提供了一种指令生成方法,包括:获取第一卷积核和第一输入特征数据的尺寸;根据用于执行所述第一卷积核和所述第一输入特征数据的卷积运算的计算单元的硬件参数限制,确定所述第一卷积核中的N个部分,所述第一卷积核具有超出计算单元的硬件参数限制的尺寸,所述第一卷积核的每个部分具有在所述计算单元的硬件参数限制范围内的尺寸;确定所述第一输入特征数据中与所述第一卷积核的每个部分对应的部分;为所述第一卷积核的N个部分和所述输入特征数据的对应部分生成卷积操作指令,以用于执行所述第一卷积核的N个部分和所述第一输入特征数据的对应部分之间的卷积运算,从而获得N个第二输出特征数据;以及生成整合指令,用于对所述N个第二输出特征数据进行整合,以获得与所述第一卷积核和所述输入特征数据对应的第一输出特征数据。根据本申请的一个方面,提供了一种指令生成装置,包括:尺寸获取模块,配置为获取第一卷积核和第一输入特征数据的尺寸;第一确定模块,配置为根据用于执行所述第一卷积核和所述输入特征数据的卷积运算的计算单元的硬件参数限制,确定所述第一卷积核中的N个部分,所述第一卷积核具有超出计算单元的硬件参数限制的尺寸,所述第一卷积核的每个部分具有在所述计算单元的硬件参数限制范围内的尺寸;第二确定模块,配置为确定所述第一输入特征数据中与所述第一卷积核的每个部分对应的部分;卷积指令生成模块,配置为为所述第一卷积核的N个部分和所述输入特征数据的对应部分生成卷积操作指令,以用于执行所述第一卷积核的N个部分和所述第一输入特征数据的对应部分之间的卷积运算,从而获得N个第二输出特征数据;以及整合指令生成模块,配置为生成整合指令,用于对所述N个第二输出特征数据进行整合,以获得与所述第一卷积核和所述第一输入特征数据对应的第一输出特征数据。根据本申请的一个方面,提供了一种电子设备,包括:一个或多个处理器;以及存储器,存储有计算机指令,所述计算机指令在被所述处理器运行时使所述处理器执行上述的特征数据提取方法或上述的指令生成方法。根据本申请的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行上述的特征数据提取方法或上述的指令生成方法。根据本申请的一个方面,提供了一种执行卷积运算操作的方法,包括:获取N个第二卷积核中的第n个第二卷积核,所述N个第二卷积核在相应维度上的尺寸之和与第一卷积核在相应维度上的尺寸相同,所述N个第二卷积核中的每一第二卷积核在相应维度上的尺寸小于或者等于计算单元在相应维度上的尺寸;基于第一卷积核在宽度和高度上的尺寸、与第一输入特征数据在宽度和高度上填充后的尺寸、所述第n个第二卷积核在宽度和高度上的尺寸、和所述第n个第二卷积核在所述第一卷积核中的宽度起点坐标和高度起点坐标,从所述填充后的第一输入特征数据中,获取与所述第n个第二卷积核对应的第二输入特征数据;由所述计算单元对与所述第n个第二卷积核对应的第二输入特征数据和所述第n个第二卷积核执行卷积运算操作,以获得与所述第n个第二卷积核对应的第二输出特征数据;以及在得到与所述N个第二卷积核对应的N个第二输出特征数据后,对所述N个第二输出特征数据进行整合,以获得与所述第一卷积核和所述第一输入特征数据对应的第一输出特征数据,其中,所述计算单元包括累加器和多个乘法器,用于对所述第二输入特征数据和所述第二卷积核进行卷积运算操作。根据本申请的一个方面,提供了一种电子设备,包括:控制单元和计算单元,其中,所述控制单元配置为运行指令以控制所述计算单元执行上述执行卷积运算操作的方法。根据本申请的一个方面,提供了一种执行卷积运算操作的装置,包括:第一获取模块,配置为获取N个第二卷积核中的第n个第二卷积核,所述N个第二卷积核在相应维度上的尺寸之和与第一卷积核在相应维度上的尺寸相同,所述N个第二卷积核中的每一第二卷积核在相应维度上的尺寸小于或者等于计算单元在相应维度上的尺寸;第二获取模块,配置为基于第一卷积核在宽度和高度上的尺寸、与第一输入特征数据在宽度和高度上填充后的尺寸、所述第n个第二卷积核在宽度和高度上的尺寸、和所述第n个第二卷积核在所述第一卷积核中的宽度起点坐标和高度起点坐标,从所述填充后的第一输入特征数据中,获取与所述第n个第二卷积核对应的第二输入特征数据;卷积计算模块,配置为利用所述计算单元对所述与所述第n个第二卷积核对应的第二输入特征数据和所述第n个第二卷积核执行卷积运算操作,以获得与所述第n个第二卷积核对应的第二输出特征数据;以及整合模块,配置为在得到与所述N个第二卷积核对应的N个第二输出特征数据后,对所述N个第二输出特征数据进行整合,以获得与所述第一卷积核和所述第一输入特征数据对应的第一输出特征数据。根据本申请的一个方面,提供了一种生成指令的方法,包括:获取第一输入特征数据的尺寸、填充尺寸、和第一卷积核的尺寸;根据所述本文档来自技高网...

【技术保护点】
1.一种特征数据提取方法,包括:获取第一卷积核的一部分;获取第一输入特征数据的一部分,所述输入特征数据的一部分与所述第一卷积核的一部分相对应;利用计算单元对所述第一卷积核的一部分和所述第一输入特征数据的一部分进行卷积运算,以获得第二输出特征数据;在针对所述第一卷积核的每一部分都获得了对应的第二输出特征数据之后,对针对所述第一卷积核的每一部分获得的第二输出特征数据进行整合,以获得与所述第一卷积核和所述第一输入特征数据对应的第一输出特征数据;其中,所述第一卷积核具有超出所述计算单元的硬件参数限制的尺寸,所述第一卷积核中的每一部分具有在所述计算单元的硬件参数限制范围内的尺寸。

【技术特征摘要】
1.一种特征数据提取方法,包括:获取第一卷积核的一部分;获取第一输入特征数据的一部分,所述输入特征数据的一部分与所述第一卷积核的一部分相对应;利用计算单元对所述第一卷积核的一部分和所述第一输入特征数据的一部分进行卷积运算,以获得第二输出特征数据;在针对所述第一卷积核的每一部分都获得了对应的第二输出特征数据之后,对针对所述第一卷积核的每一部分获得的第二输出特征数据进行整合,以获得与所述第一卷积核和所述第一输入特征数据对应的第一输出特征数据;其中,所述第一卷积核具有超出所述计算单元的硬件参数限制的尺寸,所述第一卷积核中的每一部分具有在所述计算单元的硬件参数限制范围内的尺寸。2.如权利要求1所述的方法,其中,所述计算单元包括多个乘法器和累加器。3.如权利要求2所述的方法,其中,所述计算单元的硬件参数限制包括所述计算单元中包括的乘法器的数量限制。4.如权利要求3所述的方法,其中,所述计算单元中包括的乘法器的数量小于直接执行所述第一卷积核的卷积运算所需的乘法器数量,大于或等于直接执行所述第一卷积核的所述一部分的卷积运算所需的乘法器数量。5.如权利要求1所述的方法,其中,所述第一卷积核的一部分是所述第一卷积核在宽度、高度和深度中的一个或多个维度上的一部分。6.如权利要求1所述的方法,其中,所述第一卷积核的所述每一部分之间彼此不重叠。7.如权利要求1所述的方法,其中,所述第一卷积核的至少两个部分具有彼此不同的尺寸。8.如权利要求1所述的方法,其中,获取第一输入特征数据的一部分包括:基于所述第一卷积核在每个维度上的尺寸、所述第一卷积核的一部分的起点坐标和在每个维度上的尺寸、以及所述第一输入特征数据在每个维度上的尺寸,从所述第一输入特征数据中获取与所述第一卷积核的一部分对应的部分。9.如权利要求8所述的方法,其中,所述第一输入特征数据在每个维度上的尺寸包括所述第一输入特征数据本身的尺寸和填充尺寸,从所述第一输入特征数据中获取的与所述第一卷积核的一部分对应的部分是填充后的第一输入特征数据的与所述第一卷积核的一部分对应的部分。10.一种特征数据提取装置,包括:第一获取模块,配置为获取第一卷积核的一部分;第二获取模块,配置为获取第一输入特征数据的一部分,所述第一输入特征数据的一部分与所述第一卷积核的一部分相对应;计算模块,配置为利用计算单元对所述第一卷积核的一部分和所述第一输入特征数据的一部分进行卷积运算,以获得第二输出特征数据;以及整合模块,在针对所述第一卷积核的每一部分都获得了对应的第二输出特征数据之后,对针对所述第一卷积核的每一部分获得的第二输出特征数据进行整合,以获得与所述第一卷积核和所述第一输入特征数据对应的第一输出特征数据;其中,所述第一卷积核具有超出所述计算单元的硬件参数限制的尺寸,所述第一卷积核的每一部分具有在所述计算单元的硬件参数限制范围内的尺寸。11....

【专利技术属性】
技术研发人员:李智超王振江凌坤李建军
申请(专利权)人:北京地平线机器人技术研发有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1