CN109063822B - 一种计算方法及计算装置 - Google Patents

一种计算方法及计算装置 Download PDF

Info

Publication number
CN109063822B
CN109063822B CN201810799214.8A CN201810799214A CN109063822B CN 109063822 B CN109063822 B CN 109063822B CN 201810799214 A CN201810799214 A CN 201810799214A CN 109063822 B CN109063822 B CN 109063822B
Authority
CN
China
Prior art keywords
convolution filter
filter coefficient
matrix
computing device
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810799214.8A
Other languages
English (en)
Other versions
CN109063822A (zh
Inventor
方兴
赵雅倩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810799214.8A priority Critical patent/CN109063822B/zh
Publication of CN109063822A publication Critical patent/CN109063822A/zh
Application granted granted Critical
Publication of CN109063822B publication Critical patent/CN109063822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

本申请实施例公开了一种计算方法,用于提升计算效率,节约功耗。本申请实施例方法包括:计算装置对预置的卷积滤波器系数矩阵中的元素进行比较,得到卷积滤波器系数索引矩阵;所述计算装置根据所述卷积滤波器系数索引矩阵依次获取对应的目标卷积滤波器系数;所述计算装置对预置的输入特征数据进行重排,得到重排后的输入特征数据;所述计算装置根据所述目标卷积滤波器系数和所述重排后的输入特征数据进行乘法运算,得到不同输入通道上的当前计算结果;若所述不同输入通道上的当前计算结果的累加和小于等于0,且所述不同输入通道上之后的滤波器系数为0或者负数时,所述计算装置确定输出特征的值为0。

Description

一种计算方法及计算装置
技术领域
本申请涉及人工智能领域,尤其涉及一种计算方法及计算装置。
背景技术
深度神经网络技术由于在性能方面相比于传统人工智能技术的优势,已经成为当前人工智能领域研究的主流技术,得到了广泛的研究和关注,并已经在语音识别、图像分类、目标识别、文本分类等方面得到了广泛的应用。卷积神经网络作为深度神经网络技术中计算复杂度最高的部分,如何提高卷积神经网络的计算效率和能效是当前深度神经网络高效计算所面临的最主要的问题。传统的产品和研究采用脉动阵列来进行卷积神经网络的计算,但是需要在利用脉动阵列完成整个卷积网络层的计算之后,才开始对计算结果应用激活函数计算来得到输出神经元的值,即特征值。
发明内容
本申请实施例提供了一种计算方法及计算装置,用于提升计算效率,节约功耗。
有鉴于此,本申请实施例第一方面提供了一种计算方法,可以包括:计算装置对预置的卷积滤波器系数矩阵中的元素进行比较,得到卷积滤波器系数索引矩阵;该计算装置根据该卷积滤波器系数索引矩阵依次获取对应的目标卷积滤波器系数;该计算装置对预置的输入特征数据进行重排,得到重排后的输入特征数据;该计算装置根据该目标卷积滤波器系数和该重排后的输入特征数据进行乘法运算,得到不同输入通道上的当前计算结果;若该不同输入通道上的当前计算结果的累加和小于等于0,且该不同输入通道上之后的滤波器系数为0或者负数时,该计算装置确定输出特征的值为0。
可选的,在本申请的一些实施例中,该卷积滤波器系数矩阵中的元素按照从正到负的顺序排列。
可选的,在本申请的一些实施例中,该卷积滤波器系数矩阵中的元素按照从大到小的顺序排列。
可选的,在本申请的一些实施例中,该计算装置对预置的输入特征数据进行重排,得到重排后的输入特征数据,可以包括:
该计算装置对预置的输入特征矩阵进行处理,得到向量输入矩阵;
该计算装置根据该向量输入矩阵和计算单元的标号,得到特征向量;
该计算装置根据该卷积滤波器系数索引矩阵和该计算单元的标号,得到特征向量索引矩阵;
该计算装置根据该特征向量和该特征向量索引矩阵,得到目标特征向量。
可选的,在本申请的一些实施例中,该计算装置根据该目标卷积滤波器系数和该重排后的输入特征数据进行乘法运算,得到不同输入通道上的当前计算结果,可以包括:
该计算装置根据该目标卷积滤波器系数和该目标特征向量进行乘法运算,得到不同输入通道上的该当前计算结果。
本申请实施例第二方面提供了一种计算装置,可以包括:
比较模块,用于对预置的卷积滤波器系数矩阵中的元素进行比较,得到卷积滤波器系数索引矩阵;
获取模块,用于根据该卷积滤波器系数索引矩阵依次获取对应的目标卷积滤波器系数;
重排模块,用于对预置的输入特征数据进行重排,得到重排后的输入特征数据;
计算模块,用于根据该目标卷积滤波器系数和该重排后的输入特征数据进行乘法运算,得到不同输入通道上的当前计算结果;
确定模块,用于若该不同输入通道上的当前计算结果的累加和小于等于0,且该不同输入通道上之后的滤波器系数为0或者负数时,确定输出特征的值为0。
可选的,在本申请的一些实施例中,该卷积滤波器系数矩阵中的元素按照从正到负的顺序排列。
可选的,在本申请的一些实施例中,该卷积滤波器系数矩阵中的元素按照从大到小的顺序排列。
可选的,在本申请的一些实施例中,
该重排模块,具体用于对预置的输入特征矩阵进行处理,得到向量输入矩阵;根据该向量输入矩阵和计算单元的标号,得到特征向量;根据该卷积滤波器系数索引矩阵和该计算单元的标号,得到特征向量索引矩阵;根据该特征向量和该特征向量索引矩阵,得到目标特征向量。
可选的,在本申请的一些实施例中,
该计算模块,具体用于根据该目标卷积滤波器系数和该目标特征向量进行乘法运算,得到不同输入通道上的该当前计算结果。
本申请实施例第三方面提供了一种计算装置,可以包括:存储器和处理器,其中,存储器和处理器通过总线连接;
所述存储器,用于存储指令;
所述处理器,用于调用所述指令,执行上述第一方面及第一方面任一可选实现方式中所述的方法。
本申请实施例第四方面提供一种存储介质,需要说明的是,本申请技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产口的形式体现出来,该计算机软件产品存储在一个存储介质中,用于储存为上述计算装置所用的计算机软件指令,其包含用于执行上述各方面为计算装置所设计的程序。
该存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例第五方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述各方面或各方面任一可选实现方式中所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:在本申请实施例中,计算装置对预置的卷积滤波器系数矩阵中的元素进行比较,得到卷积滤波器系数索引矩阵;所述计算装置根据所述卷积滤波器系数索引矩阵依次获取对应的目标卷积滤波器系数;所述计算装置对预置的输入特征数据进行重排,得到重排后的输入特征数据;所述计算装置根据所述目标卷积滤波器系数和所述重排后的输入特征数据进行乘法运算,得到不同输入通道上的当前计算结果;若所述不同输入通道上的当前计算结果的累加和小于等于0,且所述不同输入通道上之后的滤波器系数为0或者负数时,所述计算装置确定输出特征的值为0。计算装置在可以确定卷积神经网络计算后的输出结果经过激活函数计算必定为0时,提前终止卷积神经网络脉动阵列中该输出结果的卷积计算以及激活函数的计算,从而达到提升计算效率,节约功耗的结果。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,还可以根据这些附图获得其它的附图。
图1为传统的卷积神经网络的计算示意图;
图2为ReLU激活函数特性的高效卷积神经网络脉动阵列的整体结构示意图;
图3为本申请实施例中计算方法的一个实施例示意图;
图4为卷积滤波器系数索引矩阵规则的一个示意图;
图5为卷积滤波器系数矩阵及其对应的卷积滤波器系数索引矩阵的示例图;
图6为本申请实施例中脉动阵列中输入数据重排的一个示意图;
图7为本申请实施例中计算装置的一个实施例示意图;
图8为本申请实施例中计算装置的另一个实施例示意图。
具体实施方式
本申请实施例提供了一种计算方法及计算装置,用于提升计算效率,节约功耗。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,都应当属于本申请保护的范围。
如图1所示,图1为传统的卷积神经网络的计算示意图。但是,目前深度神经网络中广泛使用激活函数修正的线性单元(Rectified Linear Units,ReLU)函数的形式如下公式1所示:
ReLU(x)=max{0,x}      公式1)
在公式1所示中,如果x的值在小于等于0时,那么ReLU(x)的计算值一定为0。由于输入特征数据必然大于等于0,因此可以通过对滤波器系数按从正到负进行排序,当卷积网络计算的部分和小于0,并且下一个滤波器系数为负时,后面的部分和计算必然小于0,激活函数ReLU的输入必然小于0。
在本申请实施例中,此时可以提前确定激活函数ReLU的输出为0,从而终止计算。根据ReLU激活函数的这一特性,本发明重新设计了卷积神经网络的脉动阵列,在可以确定卷积神经网络计算后的输出结果经过ReLU激活函数计算必定为0时,提前终止卷积神经网络脉动阵列中该输出结果的卷积计算以及激活函数计算,从而达到提升计算效率,节约功耗。
本发明提出了一种基于修正的线性单元(Rectified Linear Units,ReLU)激活函数特性的高效卷积神经网络脉动阵列的计算方法。本发明利用ReLU激活函数在输入参数小于等于0时输出结果必然为0的特性,对卷积神经网络的脉动阵列结构进行重新设计,在可以确定卷积神经网络计算后的输出结果经过ReLU激活函数计算必定为0时,提前终止卷积神经网络脉动阵列中该输出结果的卷积计算以及激活函数计算,从而提高了计算效率。
为了保证提升卷积神经网络脉动阵列的性能,本发明设计了一种新的卷积神经网络脉动阵列的结构,这种卷积神经网络脉动阵列在执行卷积计算之前,首先对卷积滤波器的系数进行比较,得到一个滤波器系数索引矩阵,该索引矩阵按照从正到负对卷积滤波器的系数和输入特征数据进行索引,并计算输出特征的部分和,当部分和小于等于0,并且不同输入通道上下一个滤波器系数都为0或负数时,那么直接将对应的输出特征值0,提前终止该输出特征的计算。需要说明的是,输出特征值为输出特征的部分和+滤波器系数乘以输入特征数据,因为,输入特征数据大于等于0,所以,这里的输出特征值必然为0。
基于ReLU激活函数特性的高效卷积神经网络脉动阵列的整体结构如图2所示,其中阴影部分是与其他脉动阵列具有显著区别的地方。
下面以实施例的方式,对本申请技术方案做进一步的说明,如图3所示,图3为本申请实施例中计算方法的一个实施例示意图,包括:
301、计算装置对卷积滤波器系数矩阵中的元素进行比较,得到卷积滤波器系数索引矩阵。
在本申请实施例中,计算装置中的卷积滤波器系数比较模块负责对卷积滤波器系数矩阵中的元素进行比较,得到卷积滤波器系数索引矩阵。其中,需要说明的是,这里的卷积滤波器系数是预置的。该卷积滤波器系数索引矩阵中可以以从上到下,从左到右的顺序保存卷积滤波器系数矩阵中元素的索引,所对应的卷积滤波器系数矩阵中的元素按从正到负的顺序排列,其中负数部分按绝对值从大到小排列,即负数部分可以按从大到小排列。如图4所示,图4为卷积滤波器系数索引矩阵规则的一个示意图。如图5所示,图5为一个3×3卷积滤波器系数矩阵及其对应的卷积滤波器系数索引矩阵的示例图。
302、计算装置根据卷积滤波器系数索引矩阵,从卷积滤波器系数矩阵中获取对应的目标卷积滤波器系数。
计算装置中的卷积滤波器系数选择模块根据卷积滤波器系数索引矩阵依次从卷积滤波器系数矩阵中取出对应的目标卷积滤波器系数送入脉动阵列,便于后续进行卷积运算。即目标卷积滤波器系数送入脉动阵列进行卷积运算,不同编号的卷积计算单元的目标卷积滤波器相同。
如下述表1所示,为卷积滤波器系数矩阵的一个示例。
Figure BDA0001736708400000061
表1
如下述表2所示,为卷积滤波器系数索引矩阵的一个示例。
Figure BDA0001736708400000071
表2
303、计算装置对输入特征数据进行重排,得到重排后的输入特征数据。
计算装置中的脉动阵列数据重排模块对送入脉动阵列进行计算的输入特征数据进行重排,重排后的输入特征数据与送入脉动阵列中进行卷积计算的卷积滤波器系数相对应。其中,输入特征数据可以是预置的,也可以是预先获取的数据。
计算装置对输入特征数据进行重排,得到重排后的输入特征数据,可以包括:
所述计算装置对预置的输入特征矩阵进行处理,得到向量输入矩阵;所述计算装置根据所述向量输入矩阵和计算单元的标号,得到特征向量;所述计算装置根据所述卷积滤波器系数索引矩阵和所述计算单元的标号,得到特征向量索引矩阵;所述计算装置根据所述特征向量和所述特征向量索引矩阵,得到目标特征向量。
如图6所示,图6为本申请实施例中脉动阵列中输入数据重排的一个示意图。需要说明的是,输入特征数据的整个重排过程以具体可分为两个阶段:
第一个阶段,脉动阵列数据重排模块对输入特征数据的分块矩阵B进行处理,得到向量输入矩阵C,如下述表3所示。表3中给出了一个用于3×3卷积运算的输入特征分块矩阵B的示例。
Figure BDA0001736708400000072
表3
如下述表4所示,表4为向量输入矩阵的一个示例。其中,表4为表3中3×3卷积运算的输入特征分块矩阵B变换成向量输入矩阵C的一个示例。
Figure BDA0001736708400000081
表4
然后,由计算装置中的列选择器根据计算单元的标号对应的列选择矩阵中的列从向量输入矩阵中选择出该标号对应的特征向量供后续使用,如图6所示。
如下述表5所示,表5是各个标号的列选择器对应的列选择矩阵。
Figure BDA0001736708400000082
表5
如下述表6所示,表6是各个标号的列选择器经过列选择后得到的输入特征向量。
Figure BDA0001736708400000091
表6
第二个阶段,经过列选择阶段之后,每个卷积计算单元的输入向量排序被打乱,因此,还需要根据卷积滤波器系数索引矩阵和每个卷积计算单元的编号计算每个卷积计算单元的特征向量索引矩阵。可以理解的是,采用w1×w2来表示卷积核大小,采用dm,n={p,q}来表示卷积滤波器系数索引矩阵D中的第m行第n列元素,采用{i,j}来表示计算单元的编号,采用d′m,n={p′,q′}来表示第{i,j}号计算单元的特征向量索引矩阵D′i,j中的第m行第n列元素,计算公式如下所示:
d′m,n{p′}=(dm,n{p}+i)modW1
d′m,n{q′}=(dm,n{q}+j)modW2
如果需要进一步转换成对特征向量的行选择,那么采用如下的公式计算行选择器的值:
index=d′m,n{p′}+d′m,n{q′}×W1
以3×3的卷积为例,假设dm,n={1,2},对于编号为(1,1)的计算单元,计算得到的d′m,n={2,0},对应的特征向量的行选择器的值为2。
如表7所示,表7为卷积滤波器系数索引矩阵对编号为(1,0)的计算单元的变幻结果。
Figure BDA0001736708400000101
表7
如表8所示,表8为卷积滤波器系数索引矩阵对编号为(1,1)的计算单元的变幻结果。
Figure BDA0001736708400000102
表8
经过上述的变换,根据特征向量索引矩阵依次计算行选择器的值送入脉动阵列进行计算,经过上述的变换,可以按照滤波器系数从正到负的排序来选择对应的滤波器系数和输入特征送入脉动阵列进行乘法计算。
304、计算装置根据系数和重排后的输入特征数据,得到不同输入通道上的当前计算结果。
所述计算装置根据所述目标卷积滤波器系数和所述重排后的输入特征数据进行乘法运算,得到不同输入通道上的当前计算结果,可以包括:所述计算装置根据所述目标卷积滤波器系数和所述目标特征向量进行乘法运算,得到不同输入通道上的所述当前计算结果。
305、计算装置累加不同输入通道上的当前计算结果,得到部分和。
计算装置中的脉动阵列将不同输入通道上的乘法计算的结果相加后送入累加模块计算部分和。
306、若部分和小于等于0,且不同输入通道上之后的滤波器系数为0或者负数时,计算装置确定输出特征的值为0。
在每个时钟周期,当完成一次不同输入通道的遍历后,负值判断逻辑对部分和进行判断,如果部分和小于等于0,并且同一个数据点对应的所有后续不同输入通道上的滤波器系数为负,那么计算装置可以对ReLU的计算结果进行提前置位,并提前终止对应输出特征的后续计算,直接将该输出特征的值置为0。
本发明主要是利用ReLU激活函数在输入参数小于等于0时输出结果必然为0的特性,对卷积神经网络的脉动阵列结构进行重新设计。计算装置在可以确定卷积神经网络计算后的输出结果经过ReLU激活函数计算必定为0时,提前终止卷积神经网络脉动阵列中该输出结果的卷积计算以及激活函数的计算,从而达到提升计算效率,节约功耗的结果。本发明利用降低了目标识别网络所需的计算量和计算复杂度,加快视频序列的目标检测的吞吐量。本发明能够满足在实际场景部署时的低延迟、低计算复杂度的要求。
上面对本申请实施例中的计算方法进行了说明,下面对本申请实施例中的计算装置进行说明。如图7所示,图7为本申请实施例中计算装置的一个实施例示意图,可以包括:
比较模块701,用于对预置的卷积滤波器系数矩阵中的元素进行比较,得到卷积滤波器系数索引矩阵;
获取模块702,用于根据所述卷积滤波器系数索引矩阵依次获取对应的目标卷积滤波器系数;
重排模块703,用于对预置的输入特征数据进行重排,得到重排后的输入特征数据;
计算模块704,用于根据所述目标卷积滤波器系数和所述重排后的输入特征数据进行乘法运算,得到不同输入通道上的当前计算结果;
确定模块705,用于若所述不同输入通道上的当前计算结果的累加和小于等于0,且所述不同输入通道上之后的滤波器系数为0或者负数时,确定输出特征的值为0。
可选的,在本申请的一些实施例中,所述卷积滤波器系数矩阵中的元素按照从正到负的顺序排列。
可选的,在本申请的一些实施例中,所述卷积滤波器系数矩阵中的元素按照从大到小的顺序排列。
可选的,在本申请的一些实施例中,
重排模块703,具体用于对预置的输入特征矩阵进行处理,得到向量输入矩阵;根据所述向量输入矩阵和计算单元的标号,得到特征向量;根据所述卷积滤波器系数索引矩阵和所述计算单元的标号,得到特征向量索引矩阵;根据所述特征向量和所述特征向量索引矩阵,得到目标特征向量。
可选的,在本申请的一些实施例中,
计算模块704,具体用于根据所述目标卷积滤波器系数和所述目标特征向量进行乘法运算,得到不同输入通道上的所述当前计算结果。
如图8所示,图8为本申请实施例中计算装置的另一个实施例示意图,可以包括:
存储器801和处理器802,其中,存储器801和处理器802通过总线连接;
存储器801,用于存储指令;
处理器802,用于调用所述指令,执行上述图3所示实施例及任一可选实现方式中所述的方法。
本申请实施例提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图3所示实施例及任一可选实现方式中所述的方法。
本申请实施例提供一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如前述图3所示实施例及任一可选实现方式中所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种计算方法,其特征在于,应用于视频图像领域,包括:
计算装置通过卷积滤波器系数比较模块对预置的卷积滤波器系数矩阵中的元素进行比较,得到卷积滤波器系数索引矩阵;
所述计算装置中的卷积滤波器系数选择模块根据所述卷积滤波器系数索引矩阵依次获取对应的目标卷积滤波器系数;
所述计算装置通过脉动阵列数据重排模块对预置的输入特征数据进行重排,得到重排后的输入特征数据;
所述计算装置根据所述目标卷积滤波器系数和所述重排后的输入特征数据进行乘法运算,得到不同输入通道上的当前计算结果;
所述计算装置中的负值判断逻辑对所述不同输入通道上的当前计算结果的累加和进行判断,若所述不同输入通道上的当前计算结果的累加和小于等于0,且所述不同输入通道上之后的滤波器系数为0或者负数时,所述计算装置确定输出特征的值为0,提前终止计算。
2.根据权利要求1所述的方法,其特征在于,所述卷积滤波器系数矩阵中的元素按照从正到负的顺序排列。
3.根据权利要求2所述的方法,其特征在于,所述卷积滤波器系数矩阵中的元素按照从大到小的顺序排列。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述计算装置对预置的输入特征数据进行重排,得到重排后的输入特征数据,包括:
所述计算装置对预置的输入特征矩阵进行处理,得到向量输入矩阵;
所述计算装置根据所述向量输入矩阵和计算单元的标号,得到特征向量;
所述计算装置根据所述卷积滤波器系数索引矩阵和所述计算单元的标号,得到特征向量索引矩阵;
所述计算装置根据所述特征向量和所述特征向量索引矩阵,得到目标特征向量。
5.根据权利要求4所述的方法,其特征在于,所述计算装置根据所述目标卷积滤波器系数和所述重排后的输入特征数据进行乘法运算,得到不同输入通道上的当前计算结果,包括:
所述计算装置根据所述目标卷积滤波器系数和所述目标特征向量进行乘法运算,得到不同输入通道上的所述当前计算结果。
6.一种计算装置,其特征在于,应用于视频图像领域,包括:
卷积滤波器系数比较模块,用于对预置的卷积滤波器系数矩阵中的元素进行比较,得到卷积滤波器系数索引矩阵;
卷积滤波器系数选择模块,用于根据所述卷积滤波器系数索引矩阵依次获取对应的目标卷积滤波器系数;
脉动阵列数据重排模块,用于对预置的输入特征数据进行重排,得到重排后的输入特征数据;
计算模块,用于根据所述目标卷积滤波器系数和所述重排后的输入特征数据进行乘法运算,得到不同输入通道上的当前计算结果;
确定模块,用于对所述不同输入通道上的当前计算结果的累加和进行判断,若所述不同输入通道上的当前计算结果的累加和小于等于0,且所述不同输入通道上之后的滤波器系数为0或者负数时,确定输出特征的值为0,提前终止计算。
7.根据权利要求6所述的计算装置,其特征在于,所述卷积滤波器系数矩阵中的元素按照从正到负的顺序排列。
8.根据权利要求7所述的计算装置,其特征在于,所述卷积滤波器系数矩阵中的元素按照从大到小的顺序排列。
9.根据权利要求6-8任一项所述的计算装置,其特征在于,
所述脉动阵列数据重排模块,具体用于对预置的输入特征矩阵进行处理,得到向量输入矩阵;根据所述向量输入矩阵和计算单元的标号,得到特征向量;根据所述卷积滤波器系数索引矩阵和所述计算单元的标号,得到特征向量索引矩阵;根据所述特征向量和所述特征向量索引矩阵,得到目标特征向量。
10.根据权利要求9所述的计算装置,其特征在于,
所述计算模块,具体用于根据所述目标卷积滤波器系数和所述目标特征向量进行乘法运算,得到不同输入通道上的所述当前计算结果。
CN201810799214.8A 2018-07-19 2018-07-19 一种计算方法及计算装置 Active CN109063822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810799214.8A CN109063822B (zh) 2018-07-19 2018-07-19 一种计算方法及计算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810799214.8A CN109063822B (zh) 2018-07-19 2018-07-19 一种计算方法及计算装置

Publications (2)

Publication Number Publication Date
CN109063822A CN109063822A (zh) 2018-12-21
CN109063822B true CN109063822B (zh) 2023-04-07

Family

ID=64817573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810799214.8A Active CN109063822B (zh) 2018-07-19 2018-07-19 一种计算方法及计算装置

Country Status (1)

Country Link
CN (1) CN109063822B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111582467B (zh) * 2020-05-14 2023-12-22 上海商汤智能科技有限公司 人工智能加速器和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844294A (zh) * 2016-12-29 2017-06-13 华为机器有限公司 卷积运算芯片和通信设备
CN108133264A (zh) * 2016-12-01 2018-06-08 上海兆芯集成电路有限公司 执行高效3维卷积的神经网络单元
CN108268945A (zh) * 2016-12-31 2018-07-10 上海兆芯集成电路有限公司 具有阵列宽度可分段之旋转器之神经网络单元

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL281321B (en) * 2016-10-04 2022-07-01 Magic Leap Inc Efficient data layouts for convolutional neural networks
KR20180060149A (ko) * 2016-11-28 2018-06-07 삼성전자주식회사 컨볼루션 처리 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108133264A (zh) * 2016-12-01 2018-06-08 上海兆芯集成电路有限公司 执行高效3维卷积的神经网络单元
CN106844294A (zh) * 2016-12-29 2017-06-13 华为机器有限公司 卷积运算芯片和通信设备
CN108268945A (zh) * 2016-12-31 2018-07-10 上海兆芯集成电路有限公司 具有阵列宽度可分段之旋转器之神经网络单元

Also Published As

Publication number Publication date
CN109063822A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN110050267B (zh) 用于数据管理的系统和方法
KR102523263B1 (ko) 하드웨어 기반 풀링을 위한 시스템 및 방법
Nguyen et al. A high-throughput and power-efficient FPGA implementation of YOLO CNN for object detection
US11461684B2 (en) Operation processing circuit and recognition system
US10394929B2 (en) Adaptive execution engine for convolution computing systems
CN111144329B (zh) 一种基于多标签的轻量快速人群计数方法
CN105260773B (zh) 一种图像处理装置以及图像处理方法
CN110909801B (zh) 基于卷积神经网络的数据分类方法、系统、介质及设备
CN110766128A (zh) 卷积计算单元、计算方法及神经网络计算平台
US11042795B2 (en) Sparse neuromorphic processor
US20210406686A1 (en) Method and system for balanced-weight sparse convolution processing
CN110580519B (zh) 一种卷积运算装置及其方法
US9058541B2 (en) Object detection method, object detector and object detection computer program
CN111639701A (zh) 一种图像特征提取的方法、系统、设备及可读存储介质
CN109063822B (zh) 一种计算方法及计算装置
Chang et al. VSCNN: Convolution neural network accelerator with vector sparsity
CN112016522B (zh) 一种视频数据处理方法、系统及相关组件
Chen et al. Vip: Virtual pooling for accelerating cnn-based image classification and object detection
CN113313252A (zh) 一种基于脉动阵列的深度可分离卷积实现方法
CN110716751B (zh) 高并行度计算平台、系统及计算实现方法
CN116822616A (zh) 一种用于大语言模型中Softmax函数训练的装置
CN112836793B (zh) 浮点可分离卷积计算加速装置、系统以及图像处理方法
CN110765413B (zh) 矩阵求和结构及神经网络计算平台
Jiang et al. Class-Aware Pruning for Efficient Neural Networks
CN110807479A (zh) 一种基于Kmeans算法的神经网络卷积计算加速方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant