【技术实现步骤摘要】
一种卷积运算方法及装置
本申请涉及芯片处理
,具体涉及一种卷积运算方法及装置。
技术介绍
人工神经网络(ArtificialNeuralNetwork,即ANN),是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。现有的神经网络的运算基于CPU(CentralProcessingUnit,中央处理器)或GPU(英文:GraphicsProcessingUnit,图形处理器)来实现运算,此种运算的功耗高、计算时间长。
技术实现思路
本申请实施例提供了一种卷积运算方法及装置,可提升卷积运算的处理速度,提高效率、节省功耗。第一方面,提供一种卷积运算方法,所述方法应用于芯片装置所述方法包括如下步骤:所述芯片装置接收输入数据和权值,所述输入数据为四维数据,所述四个维度为:N、H、W、C;所述C方向为所述四维数据最内层且所述C方向为所述四维数据的高度方向;所述芯片装置将输入数据沿C方向排列得到输入数据NHWC或输入数据NWHC;所述芯片装置以及所述k个从电路将输入数据NHWC或输入数据NWHC与权值执行卷积运算得到卷积的计算结果。第二方面,提供一种芯片装置,所述芯片装置包括:所述芯片装置,用于接收输入数据和权值,所述输入数据为四维数据,所述四个维度为:N、H、W、C;所述C方向为所述四维数据最内层且所述C方向为所述四维数据的高度方向;所述芯片装置,还用于将输入 ...
【技术保护点】
1.一种卷积运算方法,其特征在于,所述方法应用于芯片装置,所述方法包括如下步骤:所述芯片装置接收输入数据和权值,所述输入数据为四维数据,所述四个维度为:N、H、W、C;所述C维度为所述四维数据的高度方向维度;所述芯片装置将输入数据的摆放方式变换成C为最内层的循环得到最内层为C的输入数据;所述芯片装置将最内层为C的输入数据与权值执行卷积运算得到卷积的计算结果。
【技术特征摘要】
1.一种卷积运算方法,其特征在于,所述方法应用于芯片装置,所述方法包括如下步骤:所述芯片装置接收输入数据和权值,所述输入数据为四维数据,所述四个维度为:N、H、W、C;所述C维度为所述四维数据的高度方向维度;所述芯片装置将输入数据的摆放方式变换成C为最内层的循环得到最内层为C的输入数据;所述芯片装置将最内层为C的输入数据与权值执行卷积运算得到卷积的计算结果。2.根据权利要求1所述的方法,其特征在于,所述将输入数据的摆放方式变换成C为最内层的循环得到最内层为C的输入数据具体包括:将输入数据的摆放方式变换成C为最内层的循环得到输入数据NHWC或输入数据NWHC。3.根据权利要求1所述的方法,其特征在于,所述芯片装置包括:主电路以及k个从电路,所述芯片装置将最内层为C的输入数据与权值执行卷积运算得到卷积的计算结果具体包括:所述主电路将权值分成多个基础数据块,所述主电路将多个基础数据块分发给所述k个从电路,所述从电路存储分发到的基础数据块;所述主电路将输入数据NHWC或输入数据NWHC中的各部分数据广播至所述k个从电路,所述k个从电路将各部分数据分别与所述分发到的基础数据块执行运算得到运算结果,将运算结果发送给所述主电路;所述主电路依据k个从电路的所有运算结果得到卷积运算的计算结果;所述k为从电路的数量,取值范围为大于等于2的整数。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述权值为四维数据块,所述权值的四个维度为:M,C,KH,KW。5.根据权利要求4所述的方法,其特征在于,如所述权值的M维度的取值为m,所述权值包括m个卷积核,所述主电路将权值分成多个基础数据块具体包括:所述主电路将所述m个卷积核分成m个基础数据块。6.根据权利要求4所述的方法,其特征在于,所述主电路将权值分成多个基础数据块具体包括:所述主电路将m个卷积核分成m*c个基础数据块,所述c为所述权值在所述C维度的取值,取值范围为大于等于1的整数。7.根据权利要求5所述的方法,其特征在于,所述主电路将权值分成多个基础数据块具体包括如m>k,所述主电路将m个卷积核分成m个基础数据块,将m个基础数据块中的一个或多个分发给k个从电路;如m≤k,所述主电路将m个卷积核分成m个基础数据块,将m个基础数据块中的一个分发给k个从电路。8.根据权利要求5或6所述的方法,其特征在于,所述主电路将输入数据NHWC或输入数据NWHC中的各部分数据广播至所述k个从电路具体包括:所述主电路从输入数据NHWC或输入数据NWHC切割一个与所述基础数据块尺寸相等的输入数据块作为各部分数据中的一个部分数据,以输入数据块为基本切割单元并以移动步长对输入数据切割得到各部分数据,将各部分数据中的一个或多个部分数据广播至所述k个从电路。9.根据权利要求8所述的方法,其特征在于,所述k个从电路将各部分数据分别与所述分发到的基础数据块执行运算得到运算结果,所述主电路依据k个从电路的所有运算结果得到卷积运算的计算结果具体包括:所述k个从电路中每个从电路将一个部分数据的元素值与分发到的基础数据块对应位置的元素值执行乘积运算得到多个乘积结果,将所述多个乘积结果发送至主电路,主电路将每个从电路发送的所述多个乘积结果累加得到多个卷积结果,主电路将多个卷积结果排序得到卷积运算的计算结果。10.根据权利要求8所述的方法,其特征在于,所述k个从电路将各部分数据分别与所述分发到的基础数据块执行运算得到运算结果,所述主电路依据k个从电路的所有运算结果得到卷积运算的计算结果具体包括:所述k个从电路中每个从电路将一个部分数据的元素值与分发到的基础数据块对应位置的元素值执行乘积运算得到多个乘积结果,多个乘积结果累加得到卷积结果,将卷积结果发送给主电路,主电路将所有的卷积结果排序得到卷积运算的计算结果。11.根据权利要求1-7任意一项所述的方法,其特征在于,所述芯片装置还包括:分支电路,所述分支电路连接所述主电路与多个从电路,所述方法还包括:所述分支电路转发所述主电路与多个从电路之间的数据。12.根据权利要求1-7...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:北京中科寒武纪科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。