【技术实现步骤摘要】
神经网络正向运算方法及相关产品
本披露涉及神经网络领域,尤其涉及一种神经网络正向运算方法及相关产品。
技术介绍
人工神经网络(ArtificialNeuralNetwork,即ANN),是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。现有的神经网络的运算基于CPU(CentralProcessingUnit,中央处理器)或GPU(英文:GraphicsProcessingUnit,图形处理器)来实现神经网络的正向运算,此种正向运算的计算量大,功耗高。
技术实现思路
本披露实施例提供了一种神经网络正向运算方法及相关产品,可提升计算装置的处理速度,提高效率。第一方面,提供一种集成电路芯片装置上执行的神经网络正向运算方法,该神经网络包含多层,所述方法包括如下步骤:接收第一计算指令,解析第一计算指令得到所述第一计算指令在所述正向运算的第i层包含的第一运算以及第一计算指 ...
【技术保护点】
1.一种集成电路芯片装置上执行的神经网络正向运算方法,该神经网络包含多层,其特征在于,所述方法包括如下步骤:接收第一计算指令,解析第一计算指令得到所述第一计算指令在所述正向运算的第i层包含的第一运算以及第一计算指令对应的输入数据以及权值数据,所述i的取值范围为大于等于1的整数,如所述i大于等于2,所述输入数据为第i‑1层的输出数据;依据该输入数据、权值数据以及第一运算确定第一运算的第一复杂度,依据所述第一复杂度确定该输入数据以及权值数据在执行第一运算时的第一数据类型,所述第一数据类型包括:浮点类型或定点类型;将输入数据以及权值数据以所述第一数据类型执行所述正向运算的第i层包含的第一运算。
【技术特征摘要】
1.一种集成电路芯片装置上执行的神经网络正向运算方法,该神经网络包含多层,其特征在于,所述方法包括如下步骤:接收第一计算指令,解析第一计算指令得到所述第一计算指令在所述正向运算的第i层包含的第一运算以及第一计算指令对应的输入数据以及权值数据,所述i的取值范围为大于等于1的整数,如所述i大于等于2,所述输入数据为第i-1层的输出数据;依据该输入数据、权值数据以及第一运算确定第一运算的第一复杂度,依据所述第一复杂度确定该输入数据以及权值数据在执行第一运算时的第一数据类型,所述第一数据类型包括:浮点类型或定点类型;将输入数据以及权值数据以所述第一数据类型执行所述正向运算的第i层包含的第一运算。2.根据权利要求1所述的方法,其特征在于,依据所述第一复杂度确定该输入数据以及权值数据在执行第一运算时的第一数据类型,包括:将所述第一复杂度与预设阈值比较,如所述第一复杂度高于所述预设阈值,确定所述第一数据类型为定点类型,如所述第一复杂度低于或等于所述预设阈值,确定所述第一数据类型为浮点类型。3.根据权利要求2所述的方法,其特征在于,所述方法在所述依据所述第一复杂度确定该输入数据以及权值数据在执行第一运算时的第一数据类型之后还包括:确定所述输入数据以及权值数据属于第二数据类型,如所述第二数据类型与所述第一数据类型不同,将属于第二数据类型的所述输入数据以及属于第二数据类型的所述权值数据转换成属于第一数据类型的所述输入数据以及属于第一数据类型的所述权值数据。4.根据权利要求1所述的方法,其特征在于,如所述第一运算为卷积运算,所述输入数据为卷积输入数据,所述权值数据为卷积核,第一复杂度=α*C*kW*kW*M*N*W*C*H;其中,α为卷积系数,取值范围为大于1;C、kW、kW、M为卷积核四个维度的值,N、W、C、H为卷积输入数据四个维度的值;如所述第一复杂度大于设定阈值,确定该卷积输入数据以及卷积核是否为浮点数据,如该卷积输入数据以及卷积核不为浮点数据,将该卷积输入数据转换成浮点数据,将卷积核转换成浮点数据,然后将卷积输入数据、卷积核以浮点数据类型执行卷积运算。5.根据权利要求1所述的方法,其特征在于,如所述第一运算为:矩阵乘矩阵运算,所述输入数据为所述矩阵乘矩阵运算的第一矩阵,所述权值为所述矩阵乘矩阵运算的第二矩阵;第一复杂度=β*F*G*E*F;其中,β为矩阵系数,取值范围为大于等于1,F、G为第一矩阵的行、列值,E、F为第二矩阵的行、列值;如所述第一复杂度大于设定阈值,确定该第一矩阵以及第二矩阵是否为浮点数据,如该第一矩阵以及第二矩阵不为浮点数据,将该第一矩阵转换成浮点数据,将第二矩阵转换成浮点数据,然后将第一矩阵、第二矩阵以浮点数据类型执行矩阵乘矩阵运算。6.根据权利要求1所述的方法,其特征在于,如所述第一运算为:矩阵乘向量运算,所述输入数据为所述矩阵乘向量运算的第一矩阵,所述权值为所述矩阵乘向量运算的向量;第一复杂度=β*F*G*F;其中,β为矩阵系数,取值范围为大于等于1,F、G为第一矩阵的行、列值,F为向量的列值;如所述第一复杂度大于设定阈值,确定该第一矩阵以及向量是否为浮点数据,如该第一矩阵以及向量不为浮点数据,将该第一矩阵转换成浮点数据,将向量转换成浮点数据,然后将第一矩阵、向量以浮点数据类型执行矩阵乘向量运算。7.根据权利要求1-6任意一项所述的方法,其特征在于,所述第i层还包括:偏执运算、全连接运算、GEMM运算、GEMV运算、激活运算中的一种或任意组合。8.一种集成电路芯片装置,其特征在于,所述集成电路芯片装置用于执行神经网络的正向运算,所述神经网络包含多层,所述装置包括:处理电路以及外部接口;所述外部接口,用于接收第一计算指令;所述处理电路,用于解析第一计算指令得到所述第一计算指令在所述正向运算的第i层包含的第一运算、第一计算指令对应的输入数据以及权值数据,所述i的取值范围为大于等于1的整数,如所述i大于等于2,所述输入数据为第i-1层的输出数据;所述...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:北京中科寒武纪科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。