【技术实现步骤摘要】
执行神经网络模型的数据处理装置、方法及相关产品
本披露一般地涉及数据处理领域。更具体地,本披露涉及一种用于执行神经网络模型的数据处理装置、数据处理方法、芯片和板卡。
技术介绍
目前,深度学习(DeepLearning)已经成为机器学习中的重要分支,也大力助推着人工智能(AI)的发展。深度学习的核心技术——深度神经网络(DNN)已在诸多行业有着广泛的应用。卷积层是神经网络模型中的常用隐含层之一,其通过卷积运算对输入数据进行特征提取。神经网络模型中包含了大量的卷积运算,卷积运算的计算性能极大地影响整个神经网络模型的计算性能。在卷积运算中,对于卷积层的滤波器的各个维度,既存在指令对齐的要求,又存在硬件(例如,并行运算器)对齐的要求。因此,需要对卷积运算进行优化,以提高执行神经网络模型的计算性能。
技术实现思路
为了至少解决如上所提到的一个或多个技术问题,本披露在多个方面中提出了用于执行神经网络模型的数据处理方案,其通过对卷积层的滤波器进行变换,可以有效提高卷积运算的计算性能。本披露实施例的神经网络模型可 ...
【技术保护点】
1.一种用于执行神经网络模型的数据处理装置,包括:/n存储电路,配置用于存储所述神经网络模型的卷积层的折叠滤波器,所述折叠滤波器为原始滤波器经过维度折叠而得到的,其中所述维度折叠包括将卷积核宽度维度和/或卷积核高度维度的数据重新排放至输出通道维度;以及/n处理电路,配置用于:/n利用所述折叠滤波器对输入特征图执行卷积运算以得到中间结果;以及/n对所述中间结果进行累加,以得到输出特征图。/n
【技术特征摘要】 【专利技术属性】
1.一种用于执行神经网络模型的数据处理装置,包括:
存储电路,配置用于存储所述神经网络模型的卷积层的折叠滤波器,所述折叠滤波器为原始滤波器经过维度折叠而得到的,其中所述维度折叠包括将卷积核宽度维度和/或卷积核高度维度的数据重新排放至输出通道维度;以及
处理电路,配置用于:
利用所述折叠滤波器对输入特征图执行卷积运算以得到中间结果;以及
对所述中间结果进行累加,以得到输出特征图。
2.根据权利要求1所述的数据处理装置,其中所述原始滤波器的输出通道数量Co小于所述折叠滤波器的输出通道数量Co’。
3.根据权利要求2所述的数据处理装置,其中所述处理电路配置用于按如下方式执行所述维度折叠:
基于原始滤波器的输出通道数量Co、卷积核宽度Kw和卷积核高度Kh以及第一阈值Aco,确定所述卷积核宽度维度和/或卷积核高度维度上需要重新排放到输出通道维度上的数据;以及
基于所确定的需要重新排放的数据,确定所述折叠滤波器的输出通道数量Co’、卷积核尺寸以及卷积步长。
4.根据权利要求3所述的数据处理装置,其中所述处理电路进一步配置用于按如下确定需要重新排放到输出通道维度上的数据:
将所述卷积核宽度维度和/或卷积核高度维度上的数据重新排放到输出通道维度上后,使得输出通道数量Co’满足:Aco/2≤Co’≤Aco,其中Aco是所述处理电路中的卷积运算单元的数量。
5.根据权利要求3-4任一所述的数据处理装置,其中所述处理电路进一步配置用于按如下确定需要重新排放到输出通道维度上的数据:
当所述卷积核宽度维度和/或卷积核高度维度无法进行整除拆分时,对其进行补零处理以能够进行整除拆分。
6.根据权利要求3-5任一所述的数据处理装置,其中所述处理电路进一步配置用于按如下将卷积核宽度维度和/或卷积核高度维度上的数据重新排放至输出通道维度:
沿所述输出通道维度方向,按照Co的倍数提取卷积核宽度维度和/或卷积核高度维度上的数据,依次排放在所述输出通道维度上。
7.根据权利要求1-6任一所述的数据处理装置,其中所述处理电路进一步配置用于按如下对中间结果进行累加:
将所述中间结果中分散在输出通道维度上的数据按照对应位置进行累加。
8.根据权利要求7所述的数据处理装置,其中所述处理电路进一步配置用于按如下进行累加:
将对应原始滤波器的同一输出通道的中间结果进行累加以得到该输出通道的输出特征图,其中索引相同的数据进行累加,所述索引至少部分基于卷积步长而确定。
9.根据权利要求1-8任一所述的数据处理装置,其中所述原始滤波器的输入通道数量等于所述折叠滤波器的输入通道数量。
10.根据权利要求1-9任一所述的数据处理装置,其中所述折叠滤波器是离线生成的或在线生成的。
11.一种芯片,其特征在于,所述芯片包括如权利要求1-10任一所述的数据处理装置。
技术研发人员:不公告发明人,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。