掌桥专利:专业的专利平台
掌桥专利
首页

卷积神经网络加速方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:58:26


卷积神经网络加速方法、装置、电子设备及存储介质

技术领域

本发明涉及人工智能技术领域,尤其涉及一种卷积神经网络加速方法、装置、电子设备及存储介质。

背景技术

卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类。随着深度学习理论的提出和数值计算设备的改进,卷积神经网络得到了快速发展,并被广泛应用于计算机视觉和自然语言处理等领域。而随着移动物联网的发展和便携式机器学习设备的普及,卷积神经网络下沉到终端设备侧势在必行,终端设备侧的优势在于减少了与云端之间的通信和请求时间,增加了数据安全性和隐私性。但由于卷积神经网络中90%以上的计算和时间消耗集中在卷积层,卷积层中涉及到大量的乘加运算,由此导致卷积运算速率很低。因此,在终端设备侧使用卷积神经网络时如何实现卷积运算加速就显得尤为重要。

发明内容

本发明提供一种卷积神经网络加速方法、装置、电子设备及存储介质,用以解决现有技术中卷积神经网络下沉到终端设备侧时卷积运算效率很低的缺陷,针对下沉到终端设备侧的卷积神经网络卷积层的阵列结构,通过使用预先设计的脉动阵列数据处理架构改变数据流和计算结构的方式,实现卷积运算加速的目的,不仅在吞吐量和功率效率上得到了极大提高,而且也能够面向多种卷积层,从而极大提高了在终端设备侧应用卷积神经网络的通用性和实用性。

本发明提供一种卷积神经网络加速方法,包括:

确定用于对目标卷积核矩阵进行卷积计算的目标脉动阵列数据处理架构;所述目标脉动阵列数据处理架构包括目标乘法器单元矩阵和累加器单元,所述目标乘法器单元矩阵中每列的乘法器单元均用于将计算的乘法结果自下向上传输至对应的所述累加器单元进行累加操作;所述目标卷积核矩阵中包括多个权重值且每行的权重值用于传输至所述目标乘法器单元矩阵中对应行的乘法器单元;

针对所述乘法器单元矩阵中的各乘法器单元,利用所述乘法器单元,对输入的权重值和特征图进行乘法操作,得到乘法结果;所述特征图属于与所述目标卷积核矩阵进行卷积计算的特征图矩阵;所述特征图矩阵中包括多个特征图且每个所述特征图均用于传输至所述目标乘法器单元矩阵中对应的乘法器单元;

利用所述乘法器单元,将所述乘法结果纵向传输至与所述乘法器单元对应的所述累加器单元进行累加操作,以及将所述权重值横向传输至与所述乘法器单元同行的下个乘法器单元进行乘法操作;

其中,在所述乘法器单元位于所述目标乘法器单元矩阵中非首行的情况下,还利用所述乘法器单元,将所述特征图沿对角线方向传输至所述目标乘法器单元矩阵中的下个乘法器单元进行乘法操作。

根据本发明提供的一种卷积神经网络加速方法,所述方法还包括:

在所述乘法器单元位于所述目标乘法器单元矩阵中首列的情况下,还利用所述乘法器单元,向所述目标乘法器单元矩阵中第二列的乘法器单元传输数据的同时,对输入的新的权重值和新的特征图进行乘法操作,得到新的乘法结果;

其中,所述新的权重值为所述目标卷积核矩阵中与所述权重值同行且相邻的下个权重值,所述新的特征图为用于传输至所述乘法器单元所在行的特征图序列中与所述特征图相邻的下个特征图。

根据本发明提供的一种卷积神经网络加速方法,所述方法还包括:

在所述乘法器单元位于所述目标乘法器单元矩阵中首列首行的情况下,还利用所述乘法器单元,将所述新的乘法结果纵向传输至对应的所述累加器单元进行累加操作,以及将所述权重值横向传输至与所述乘法器单元同行的下个乘法器单元进行相乘操作;

或者,

在所述乘法器单元位于所述目标乘法器单元矩阵中首列非首行的情况下,还利用所述乘法器单元,将所述新的乘法结果纵向传输至对应的所述累加器单元进行累加操作,将所述权重值横向传输至与所述乘法器单元同行的下个乘法器单元进行相乘操作,以及将所述特征图沿对角线方向传输至所述目标乘法器单元矩阵中的下个乘法器单元进行相乘操作;所述乘法器单元所在的列与所述下个乘法器单元所在的列属于相邻列。

根据本发明提供的一种卷积神经网络加速方法,所述利用所述乘法器单元,对输入的权重值和特征图进行乘法操作,得到乘法结果,包括:

在所述乘法器单元位于所述目标乘法器单元矩阵中非首列且非尾行的情况下,利用所述乘法器单元,对横向接收的权重值和沿对角线接收的特征图进行乘法操作,得到所述乘法结果。

根据本发明提供的一种卷积神经网络加速方法,所述方法还包括:

按照预设步长和预设滑动窗口,确定所述特征图矩阵中每行的特征图对应的特征图序列,并将各所述特征图序列传输至所述目标乘法器单元矩阵中。

根据本发明提供的一种卷积神经网络加速方法,所述将各所述特征图序列传输至所述目标乘法器单元矩阵中,包括:

在所述特征图矩阵的行数大于所述目标乘法器单元矩阵的行数的情况下,将所述特征图矩阵中前n行的特征图序列对应传输至所述目标乘法器单元矩阵中第1列的n个乘法器单元中,以及将所述特征图矩阵中后m-n行的特征图序列对应传输至所述目标乘法器单元矩阵中最后1行的第2个乘法器单元至第n个乘法器单元中;

其中,所述特征图矩阵为m×m维,所述目标乘法器单元矩阵为n×n维,m>n且m、n均为正整数。

根据本发明提供的一种卷积神经网络加速方法,所述确定用于对目标卷积核矩阵进行卷积计算的目标脉动阵列数据处理架构,包括:

基于预先存储的预设数量个乘法器单元在不同的工作模式下各自对应的连接方式,以及各所述工作模式与卷积核矩阵的类型之间的映射关系,确定与所述目标卷积核矩阵的类型对应的目标工作模式;然后,确定所述预设数量个乘法器单元在所述目标工作模式下对应的目标连接方式;最后,基于所述目标连接方式连接所述预设数量个乘法器单元,确定所述目标脉动阵列数据处理架构。

本发明还提供一种卷积神经网络加速装置,包括:

脉动阵列确定模块,用于确定用于对目标卷积核矩阵进行卷积计算的目标脉动阵列数据处理架构;所述目标脉动阵列数据处理架构包括目标乘法器单元矩阵和累加器单元,所述目标乘法器单元矩阵中每列的乘法器单元均用于将计算的乘法结果自下向上传输至对应的所述累加器单元进行累加操作;所述目标卷积核矩阵中包括多个权重值且每行的权重值用于传输至所述目标乘法器单元矩阵中对应行的乘法器单元;

乘累加处理模块,用于针对所述乘法器单元矩阵中的各乘法器单元,利用所述乘法器单元,对输入的权重值和特征图进行乘法操作,得到乘法结果;所述特征图属于与所述目标卷积核矩阵进行卷积计算的特征图矩阵;所述特征图矩阵中包括多个特征图且每个所述特征图均用于传输至所述目标乘法器单元矩阵中对应的乘法器单元;利用所述乘法器单元,将所述乘法结果纵向传输至与所述乘法器单元对应的所述累加器单元进行累加操作,以及将所述权重值横向传输至与所述乘法器单元同行的下个乘法器单元进行乘法操作;其中,在所述乘法器单元位于所述目标乘法器单元矩阵中非首行的情况下,还利用所述乘法器单元,将所述特征图沿对角线方向传输至所述目标乘法器单元矩阵中的下个乘法器单元进行乘法操作。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述卷积神经网络加速方法。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述卷积神经网络加速方法。

本发明提供的卷积神经网络加速方法、装置、电子设备及存储介质,其中卷积神经网络加速方法,首先确定用于对目标卷积核矩阵进行卷积计算的目标脉动阵列数据处理架构,并进一步针对目标脉动阵列数据处理架构中乘法器单元矩阵中的各乘法器单元,利用乘法器单元,对输入的权重值和特征图进行乘法操作,得到乘法结果,然后利用乘法器单元,将乘法结果纵向传输至与乘法器单元对应的累加器单元进行累加操作,将权重值横向传输至与乘法器单元同行的下个乘法器单元进行乘法操作;并在乘法器单元位于目标乘法器单元矩阵中非首行的情况下,还利用乘法器单元,将特征图沿对角线方向传输至目标乘法器单元矩阵中的下个乘法器单元进行乘法操作。这样,针对下沉到终端设备侧的卷积神经网络卷积层的阵列结构,通过使用预先设计的脉动阵列数据处理架构改变数据流和计算结构的方式,实现卷积运算加速的目的,不仅在吞吐量和功率效率上得到了极大提高,而且也能够面向多种卷积层,从而极大提高了在终端设备侧应用卷积神经网络的通用性和实用性。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的卷积神经网络加速方法的流程示意图;

图2是本发明提供的目标脉动阵列数据处理架构的计算机构及数据流向示意图;

图3a是本发明提供的传统处理单元的数据处理模型示意图;

图3b是本发明提供的传统脉动数据处理网络架构原理图;

图4是本发明提供的目标脉动阵列数据处理架构进行第一拍计算的过程示意图;

图5是本发明提供的用于完成7*7卷积计算的乘法器单元连接图;

图6是本发明提供的用于完成5*5卷积计算的乘法器单元连接图;

图7是本发明提供的用于完成3*3卷积计算的乘法器单元连接图;

图8是本发明提供的目标脉动阵列数据处理架构进行第二拍计算的过程示意图;

图9是本发明提供的目标脉动阵列数据处理架构进行第三拍计算的过程示意图;

图10是本发明提供的卷积神经网络加速装置的结构示意图;

图11是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。

目前,人工智能模式识别技术经过半个多世纪的演进和发展,已经非常智能且为人所知,卷积神经网络算法作为人工智能模式识别技术中的基本算法之一,不仅以其具备独特的用于局部数据提取和权值数据共享的特殊网络结构,在图像识别技术方面保持着独特的科学技术优越性,而且其网络布局非常接近于实际的生物神经网络,权值的共享方式也大大降低了实现卷积神经网络的图像识别系统的难度和复杂性。

随着移动物联网的发展及便携式机器学习设备的普及,受限于安全性、实时性和加速网络的带宽等资源,卷积神经网络下沉到终端设备侧势在必行,移动终端的优势在于减少了与云端的通信和请求响应时间,增加了数据的安全性和隐私性。有研究表明,卷积神经网络超过90%的计算和时间消耗集中在卷积层,卷积层中涉及到大量的乘加运算,由此导致卷积运算速率很低。因此,在终端设备侧使用卷积神经网络时如何实现卷积运算加速就显得尤为重要。

为解决上述技术问题,本发明提供一种卷积神经网络加速方法、装置、电子设备及存储介质。下面结合图1-图11描述本发明的卷积神经网络加速方法、装置、电子设备及存储介质,其中卷积神经网络加速方法的执行主体可以为终端设备,该终端设备可以为个人计算机(Personal Computer,PC)、便携式设备、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等其它电子设备;该卷积神经网络加速方法还可以应用于设置在终端设备中的卷积神经网络加速装置中,该卷积神经网络加速装置可以通过软件、硬件或两者的结合来实现。下面以该卷积神经网络加速方法的执行主体是终端设备为例,对该卷积神经网络加速方法进行描述。

为了便于理解本发明实施例提供的卷积神经网络加速方法,下面,将通过下述几个示例地实施例对本发明提供的卷积神经网络加速方法进行详细地说明。可以理解的是,下面这几个示例地实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

参照图1,为本发明提供的卷积神经网络加速方法的流程示意图,如图1所示,该卷积神经网络加速方法包括如下步骤110~步骤130。

步骤110、确定用于对目标卷积核矩阵进行卷积计算的目标脉动阵列数据处理架构;目标脉动阵列数据处理架构包括目标乘法器单元矩阵和累加器单元,目标乘法器单元矩阵中每列的乘法器单元均用于将计算的乘法结果自下向上传输至对应的累加器单元进行累加操作;目标卷积核矩阵中包括多个权重值且每行的权重值用于传输至目标乘法器单元矩阵中对应行的乘法器单元。

其中,目标卷积核矩阵可以为由预设个数个权重值构成的矩阵,例如,目标卷积核矩阵可以为由9个权重值构成的3×3维矩阵、由25个权重值构成的5×5维矩阵,以及由49个权重值构成的7×7维矩阵中的其中一个。此外,所有乘法器单元均具备相同结构且均进行乘法运算,每个累加器单元也均具备相同结构且均用于累加操作。

具体的,当确定目标卷积核矩阵的维数时,可以确定用于对目标卷积核矩阵进行卷积计算的目标脉动阵列数据处理架构。例如,当确定目标卷积核矩阵为3×3维的卷积核矩阵B、且

对于目标卷积核矩阵而言,每行的权重值用于传输至目标乘法器单元矩阵中对应行的乘法器单元。例如,在图2中,目标卷积核矩阵B中第1行的权重值[0,3,6]传输至目标乘法器单元矩阵中第1行的乘法器单元PE1、PE2和PE3,目标卷积核矩阵B中第2行的权重值[1,4,7]传输至目标乘法器单元矩阵中第2行的乘法器单元PE4、PE5和PE6,目标卷积核矩阵B中第3行的权重值[0,3,6]传输至目标乘法器单元矩阵中第3行的乘法器单元PE7、PE8和PE9。

需要说明的是,目标卷积核矩阵中每个权重值都可以达到数据复用效果,并且,为了达到数据复用效果,每个权重值通过循环复用方式进行横向传输。例如,目标卷积核矩阵B中第1行的权重值横向传输的顺序是0,3,6,0,3,6…;目标卷积核矩阵B中第2行的权重值横向传输的顺序是1,4,7,1,4,7…;目标卷积核矩阵B中第3行的权重值横向传输的顺序是2,5,8,2,5,8…;直到完成此目标卷积核矩阵和特征图矩阵的卷积操作。

此外,需要说明的是,传统脉动数据处理网络架构主要用于表示一种能够系统进行脉动计算,且将数据有序通过系统的一系列处理单元的网络架构,并且,传统脉动数据处理网络架构中的每个处理单元均可以起到维持数据流按规则流动的作用。具体可以参照图3a和图3b,图3a为本发明提供的传统处理单元的数据处理模型示意图,图3b为本发明提供的传统脉动数据处理网络架构原理图,在图3a中,数据被一个处理单元从主机中读出进行处理后,将结果再返回至主机中的过程模型;但在实际处理过程中,处理单元中数据处理的速度远远大于从主机中存取数据的速度,所以系统访存的能力大大限制了处理能力。传统脉动数据处理网络架构采用将数据尽量在一系列处理单元中多流动一会的方式提高系统的数据处理能力,也即,如图3b所示,首先,第1个数据从左边进入到第一个处理单元,左边第一个处理单元从主机中读取第1个数据后,即刻将此数据处理后得到的结果传输至下一个处理单元中,与此同时左边第1个处理单元又开始从主机中读取第2个数据进行处理。以此类推,当最后一个处理单元处理了第1个到达的数据时,此数据已经在很多个处理单元中进行了处理。这样,可以节省将数据重复存取所需的时间成本。由此可以看出,传统脉动数据处理网络架构的原理,是通过将输入数据进行多次的重复利用的方式,平衡输入/输出和计算之间所消耗的时间。并且,模块化和规则化是传统脉动数据处理网络架构的两个典型的特征,多个处理单元都具备相同结构并且全流水。

本发明在传统脉动数据处理网络架构的基础上,设计了一种高能效、可重配置的基于脉动阵列的卷积神经网络加速结构,也即目标脉动阵列数据处理架构,此目标脉动阵列数据处理架构通过进行数据复用来解决当前深度神经网络(比如卷积神经网络)面临的数据搬运带来的时间和能耗开销大等问题。

步骤120、针对乘法器单元矩阵中的各乘法器单元,利用乘法器单元,对输入的权重值和特征图进行乘法操作,得到乘法结果;特征图属于与目标卷积核矩阵进行卷积计算的特征图矩阵;特征图矩阵中包括多个特征图且每个特征图均用于传输至目标乘法器单元矩阵中对应的乘法器单元。

具体的,对于目标脉动阵列数据处理架构中的乘法器单元矩阵,每个乘法器单元均会对输入的权重值和特征图进行乘法操作,得到乘法结果。此处特征图矩阵为特征图矩阵时,每个特征图可以具体为特征图。例如,对于特征图矩阵为5×5维矩阵A且

步骤130、利用乘法器单元,将乘法结果纵向传输至与乘法器单元对应的累加器单元进行累加操作,以及将权重值横向传输至与乘法器单元同行的下个乘法器单元进行乘法操作。

其中,在乘法器单元位于目标乘法器单元矩阵中非首行的情况下,还可以利用乘法器单元,将特征图沿对角线方向传输至目标乘法器单元矩阵中的下个乘法器单元进行乘法操作。

具体的,参照图4所示的目标脉动阵列数据处理架构进行第一拍计算的过程示意图,在乘法器单元PE1对权重值0和特征图12进行乘法操作后得到乘法结果0、乘法器单元PE4对权重值1和特征图8进行乘法操作后得到乘法结果8以及乘法器单元PE7对权重值2和特征图11进行乘法操作后得到乘法结果22的情况下,利用乘法器单元PE1将乘法结果0传输至累加器单元SUM1、利用乘法器单元PE4将乘法结果8传输至累加器单元SUM1以及利用乘法器单元PE7将乘法结果22传输至累加器单元SUM1,以使得累加器单元SUM1对第1列的乘法器单元PE1、PE4和PE7各自产生的乘法结果进行累加操作;进一步的,还可以利用乘法器单元PE1将权重值0横向传输至乘法器单元PE2进行乘法操作,利用乘法器单元PE4将权重值1横向传输至乘法器单元PE5进行乘法操作,以及利用利用乘法器单元PE7将权重值2横向传输至乘法器单元PE8进行乘法操作。

示例性的,参照图4所示的目标脉动阵列数据处理架构进行第一拍计算的过程示意图,对于位于目标乘法器单元矩阵中非首行的乘法器单元PE4和PE7,利用乘法器单元PE4可以将特征图8沿对角线方向传输至第二列的乘法器单元PE2进行乘法操作,利用乘法器单元PE7可以将特征图11沿对角线方向传输至第二列的乘法器单元PE5进行乘法操作。

需要说明的是,对于目标乘法器单元矩阵中最后一行最后一列的乘法器单元,例如图4中的乘法器单元PE9,只需利用乘法器单元PE9,将产生的乘法结果纵向传输至对应的累加器单元SUM3,无需再横向传输权重值,也无需再沿对角线传输特征图。

本发明提供的卷积神经网络加速方法,首先确定用于对目标卷积核矩阵进行卷积计算的目标脉动阵列数据处理架构,并进一步针对目标脉动阵列数据处理架构中乘法器单元矩阵中的各乘法器单元,利用乘法器单元,对输入的权重值和特征图进行乘法操作,得到乘法结果,然后利用乘法器单元,将乘法结果纵向传输至与乘法器单元对应的累加器单元进行累加操作,将权重值横向传输至与乘法器单元同行的下个乘法器单元进行乘法操作;并在乘法器单元位于目标乘法器单元矩阵中非首行的情况下,还利用乘法器单元,将特征图沿对角线方向传输至目标乘法器单元矩阵中的下个乘法器单元进行乘法操作。这样,针对下沉到终端设备侧的卷积神经网络卷积层的阵列结构,通过使用预先设计的脉动阵列数据处理架构改变数据流和计算结构的方式,实现卷积运算加速的目的,不仅在吞吐量和功率效率上得到了极大提高,而且也能够面向多种卷积层,从而极大提高了在终端设备侧应用卷积神经网络的通用性和实用性。

基于上述图1所示的卷积神经网络加速方法,在一种示例实施例中,考虑到现有卷积核矩阵的类型有限,可以预先为不同类型的卷积核矩阵设计对应的脉动阵列数据处理架构,以便于后续卷积运算时快速确定目标脉动阵列数据处理架构。基于此,步骤110的具体实现过程可以包括:

基于预先存储的预设数量个乘法器单元在不同的工作模式下各自对应的连接方式,以及各工作模式与卷积核矩阵的类型之间的映射关系,确定与目标卷积核矩阵的类型对应的目标工作模式;然后,确定预设数量个乘法器单元在目标工作模式下对应的目标连接方式;最后,基于目标连接方式连接预设数量个乘法器单元,确定目标脉动阵列数据处理架构。

其中,每个脉动阵列数据处理架构均用于对对应类型的卷积核矩阵进行卷积计算。

具体的,在实际的卷积神经网络中,常用的卷积核矩阵通常包括3×3类型的卷积核矩阵、5×5类型的卷积核矩阵和7×7类型的卷积核矩阵。因此,为了提高卷积计算的通用性和便利性,可以预先设置可重构的脉动阵列数据处理架构,以使通用于不同类型的卷积核矩阵进行卷积计算。也即,可以为预设数量个乘法器单元设置不同工作模式下各自对应的连接方式,以使得在不同工作模式下完成对应类型的卷积核矩阵的卷积计算,此处预设数量个乘法器单元可以具体为7×7个。7×7个乘法器单元在工作模式一可以完成7×7类型的卷积核矩阵的卷积计算、在工作模式二可以完成5×5类型的卷积核矩阵的卷积计算,以及在工作模式三可以完成3×3类型的卷积核矩阵的卷积计算.

示例性的,参照图5,为本发明提供的用于完成7×7卷积计算的乘法器单元连接图,在图5中,权重值横向传输,乘法结果纵向传输,特征图沿对角线斜向传输;在图5中,乘法器单元矩阵的行数与对应类型的卷积核矩阵的行数相同,也即均为7;乘法器单元矩阵的列数取决于卷积结果矩阵的行数。并且在图5中,7×7个乘法器单元可以完成并行的7×7卷积计算,乘法器单元利用率为100%。

参照图6,为本发明提供的用于完成5×5卷积计算的乘法器单元连接图,在图6中,后两行的2×7个乘法器单元均为无效单元,在工作模式二不参与卷积计算。因此,工作模式二时使用5×7个乘法器单元完成并行的5×5卷积计算,工作模式二时乘法器单元利用率最高为71.4%。

参照图7,为本发明提供的用于完成3*3卷积计算的乘法器单元连接图,在图7中,最后1行的7个乘法器单元均为无效单元,在工作模式三不参与卷积计算;并且,每一列均有6个乘法器单元为有效乘法器单元,每一列的6个有效乘法器单元可以分别构成2个3×3大小的卷积计算模块,分别用于完成2组3×3大小的卷积计算,工作模式三时乘法器单元利用率为85.7%。

本发明提供的卷积神经网络加速方法,根据不同卷积核矩阵的类型预先设计配套的乘法器单元矩阵的连接方式,同时也预先为不同乘法器单元矩阵配置不同的工作模式。这样,可以确保对不同卷积核矩阵进行卷积计算的脉动阵列数据处理架构为可重构脉动阵列数据处理架构,通用于不同的卷积计算,从而为后续卷积神经网络加速提供可靠保障。

基于上述图1所示的卷积神经网络加速方法,在一种示例实施例中,为了提高特征图矩阵传输效率和卷积运算效率,可以先确定特征图矩阵传输数据的方式、再向目标乘法器单元矩阵传输数据。基于此,本发明提供的卷积神经网络加速方法还可以包括:

按照预设步长和预设滑动窗口,确定特征图矩阵中每行的特征图对应的特征图序列,并将各特征图序列传输至目标乘法器单元矩阵中。

其中,预设滑动窗口的大小可以与目标卷积核矩阵的大小确定;例如,当目标卷积核矩阵为3×3维时,预设滑动窗口的大小可以为3。预设步长的大小可以小于预设滑动窗口的大小;例如,当预设滑动窗口的大小为3时,预设步长可以为2或者为1。

具体的,特征图矩阵中每行的特征图对应的特征图序列,可以通过对每行的特征图分别按预设步长和预设滑动窗口的方式确定。例如,在预设滑动窗口的大小为3、预设步长为1的情况下,对于特征图矩阵

本发明提供的卷积神经网络加速方法,将特征图矩阵中每行的特征图,按照滑窗和步长方式向目标脉动阵列数据处理架构中传输。这样,可以加快特征图矩阵与目标卷积核矩阵进行卷积操作的速度,同时也能提高卷积操作的准确性和可靠性。

基于上述图1所示的卷积神经网络加速方法,在一种示例实施例中,为了目标脉动阵列数据处理架构进行卷积运算的高效性,可以设置特征图矩阵的行数与目标乘法器单元矩阵中第1列和最后1行的乘法器单元总个数(不含重复的乘法器单元)相同。基于此,将各特征图序列传输至目标乘法器单元矩阵中,其具体实现过程可以包括:

在特征图矩阵的行数大于目标乘法器单元矩阵的行数的情况下,将特征图矩阵中前n行的特征图序列对应传输至目标乘法器单元矩阵中第1列的n个乘法器单元中,以及将特征图矩阵中后m-n行的特征图序列对应传输至目标乘法器单元矩阵中最后1行的第2个乘法器单元至第n个乘法器单元中。

其中,特征图矩阵为m×m维,目标乘法器单元矩阵为n×n维,m>n且m、n均为正整数。

具体的,参照图2所示的目标脉动阵列数据处理架构的计算机构及数据流向示意图,当特征图矩阵为

本发明提供的卷积神经网络加速方法,通过设置目标乘法器单元阵列中首列和尾行的乘法器单元在不重复情况下的总个数,与特征图矩阵的行数相同的方式,确保特征图矩阵中每行的特征图都能够传输至目标乘法器单元矩阵中,以此进一步提高了利用目标脉动阵列数据处理架构进行卷积操作的准确性和可靠性。

基于上述图1所示的卷积神经网络加速方法,在一种示例实施例中,当乘法器单元没有在乘法器单元矩阵的首列时,可以横向接收权重值和沿对角线接收特征图后进行乘法操作。基于此,步骤120中利用乘法器单元,对输入的权重值和特征图进行乘法操作,得到乘法结果的具体实现过程还可以包括:

在乘法器单元位于目标乘法器单元矩阵中非首列且非尾行的情况下,利用乘法器单元,对横向接收的权重值和沿对角线接收的特征图进行乘法操作,得到乘法结果。

具体的,参照图8所示的目标脉动阵列数据处理架构进行第二拍计算的过程示意图,在图8中,对于第2列的乘法器单元PE2,可以横向接收乘法器单元PE1传输的权重值0以及乘法器单元PE4沿对角线斜向传输的特征图8;对于第2列的乘法器单元PE5,可以横向接收乘法器单元PE4传输的权重值1以及乘法器单元PE7沿对角线斜向传输的特征图11。

参照图9所示的目标脉动阵列数据处理架构进行第三拍计算的过程示意图,在图9中,对于第三列的乘法器单元PE3,可以横向接收乘法器单元PE2横向传输的权重值0以及斜向接收乘法器单元PE5沿对角线传输的特征图11;对于第3列的乘法器单元PE6,可以横向接收乘法器单元PE5横向传输的权重值1以及斜向接收乘法器单元PE8沿对角线传输的特征图3。

需要说明的是,在图8中,对于第2列的乘法器单元PE8,可以横向接收乘法器单元PE7横向传输的权重值2和特征图3,此处的特征图3属于特征图矩阵中第4行对应的特征图序列。在图9中,对于第3列的乘法器单元PE9,可以横向接收乘法器单元PE8横向传输的权重值2和特征图6,此处的特征图6属于特征图矩阵中第5行对应的特征图序列。

本发明提供的卷积神经网络加速方法,通过利用目标乘法器单元矩阵中非首列且非尾行的乘法器单元,对横向接收的权重值和沿对角线接收的特征图进行乘法操作的方式,确保目标乘法器单元矩阵中非首列且非尾行的乘法器单元可以根据首列的乘法器单元传输的数据进行乘法操作,提高了目标乘法器单元矩阵中各乘法器单元执行乘法操作的有序性和可靠性。

基于上述图1所示的卷积神经网络加速方法,在一种示例实施例中,考虑到目标乘法器单元矩阵中每个乘法器单元要完成对应行的权重值与特征图矩阵中对应特征图的卷积操作,并且特征图的复用是沿对角线斜向传输,因此第一列的乘法器单元将每次执行乘法操作的数据向第二列的乘法器单元传输时,还可以接收新的特征图和新的权重值再次进行乘法操作。基于此,本发明提供的卷积神经网络加速方法还可以包括:

在乘法器单元位于目标乘法器单元矩阵中首列的情况下,还利用乘法器单元,向目标乘法器单元矩阵中第二列的乘法器单元传输数据的同时,对输入的新的权重值和新的特征图进行乘法操作,得到新的乘法结果。

其中,新的权重值为目标卷积核矩阵中与权重值同行且相邻的下个权重值,新的特征图为用于传输至乘法器单元所在行的特征图序列中与特征图相邻的下个特征图;位于目标乘法器单元矩阵中首列的乘法器单元,向第二列的乘法器单元传输的数据,包括首列首行的乘法器单元向首行第二列的乘法器单元横向传输权重值,或者首列非首行的乘法器单元向第二列非首行的乘法器单元横向传输权重值,以及沿对角线第二列非首行的乘法器单元斜向传输特征图。

具体的,参照图4所示的目标脉动阵列数据处理架构进行第一拍计算的过程示意图,在图4中,利用第一列的乘法器单元PE1对传输的权重值0和特征图12进行0*12这一乘法操作后,将乘法结果0传输至累加器单元SUM1进行累计操作;利用第一列的乘法器单元PE4对传输的权重值1和特征图8进行1*8这一乘法操作后,将乘法结果8传输至累加器单元SUM1进行累计操作;利用第一列的乘法器单元PE7对传输的权重值2和特征图11进行2*11这一乘法操作后,将乘法结果22传输至累加器单元22。并且,利用乘法器单元PE1将权重值1横向传输至第二列的乘法器单元PE2,利用乘法器单元PE4将权重值1横向传输至第二列的乘法器单元PE5、将特征图8沿对角线斜向传输至第二列的乘法器单元PE2,利用乘法器单元PE7将权重值2横向传输至第二列的乘法器单元PE8、将特征图3输入至第二列的乘法器单元PE2,此处的特征图3属于特征图矩阵中第4行对应的特征图序列。这样,可以利用第一列的乘法器单元,向目标乘法器单元矩阵中第二列的乘法器单元传输数据。并在传输数据的同时,还可以利用第一列的乘法器单元接收新的权重值和特征图,以此可以得到如图8所示的目标脉动阵列数据处理架构进行第二拍计算的过程示意图,在图8中,在第一列的乘法器单元PE1、PE4和PE7各自将第一拍计算所得的乘法结果纵向传输至累加器单元SUM1的情况下,可以利用第1列的乘法器单元PE1、PE4和PE7分别接收新的权重值和新的特征图。也即,乘法器单元PE1接收新的权重值3和新的特征图5再次进行3*5这一乘法操作,乘法器单元PE4接收新的权重值4和新的特征图2再次进行4*2这一乘法操作,乘法器单元PE7接收新的权重值5和新的特征图7再次进行5*7这一乘法操作。

需要说明的是,在图8中,第一列的乘法器单元PE1、PE4和PE7各自进行第二拍计算的过程中,第一列的乘法器单元对应的累加器单元SUM1执行第一拍计算的三个乘法结果的累加操作,也即执行0+8+22的累加操作。并且,第二列的乘法器单元可以执行乘法操作,例如,乘法器单元PE2进行0*8这一乘法操作,乘法器单元PE5进行1*11这一乘法操作,乘法器单元PE8进行2*3这一乘法操作。

本发明提供的卷积神经网络加速方法,目标乘法器单元矩阵中首列的乘法器单元在执行乘法操作后,向第二列的乘法器单元传输数据的同时,还可以接收新的特征图和新的权重值再次进行乘法操作。这样,可以确保目标乘法器单元矩阵中每列的乘法器单元均能够执行乘法操作,从而提高了卷积操作的准确性和可靠性。

基于上述图1所示的卷积神经网络加速方法,在一种示例实施例中,考虑到目标乘法器单元矩阵中首列的乘法器单元在针对新的特征图和新的权重值进行乘法操作的同时,还可以横向传输上次乘法操作的权重值,或者横向传输上次乘法操作的权重值和斜向传输上次乘法操作的特征图。基于此,本发明提供的卷积神经网络加速方法还可以包括:

在乘法器单元位于目标乘法器单元矩阵中首列首行的情况下,还利用乘法器单元,将新的乘法结果纵向传输至对应的累加器单元进行累加操作,以及将权重值横向传输至与乘法器单元同行的下个乘法器单元进行相乘操作;

或者,

在乘法器单元位于目标乘法器单元矩阵中首列非首行的情况下,还利用乘法器单元,将新的乘法结果纵向传输至对应的累加器单元进行累加操作,将权重值横向传输至与乘法器单元同行的下个乘法器单元进行相乘操作,以及将特征图沿对角线方向传输至目标乘法器单元矩阵中的下个乘法器单元进行相乘操作;乘法器单元所在的列与;下个乘法器单元所在的列属于相邻列。

具体的,参照图8所示的目标脉动阵列数据处理架构进行第二拍计算的过程示意图,在图8中,乘法器单元PE1位于目标乘法器单元矩阵中首列首行,乘法器单元PE4和PE7分别位于目标乘法器单元矩阵中首列非首行,此时,利用乘法器单元PE1将新的乘法结果纵向传输至累加器单元SUM1,以及将第一拍计算时使用的权重值0横向传输至乘法器单元PE2;利用乘法器单元PE4将新的乘法结果纵向传输至累加器单元SUM1,将第一拍计算时使用的权重值1横向传输至乘法器单元PE5,以及将第一拍计算时使用的特征图8沿对角线斜向传输至乘法器单元PE2;利用乘法器单元PE7将新的乘法结果纵向传输至累加器单元SUM1,将第一拍计算时使用的权重值2横向传输至乘法器单元第二列的乘法器单元PE8,以及将第一拍计算时使用的特征图11沿对角线斜向传输至第二列的乘法器单元PE5。

需要说明的是,在图8中,对于第二列的乘法器单元PE2、PE5和PE8,利用乘法器单元PE2进行0*8这一乘法操作后,将权重值0横向传输至第三列的乘法器单元PE3;利用乘法器单元PE5进行1*11这一乘法操作后,将权重值1横向传输至第三列的乘法器单元PE6、将特征图11沿对角线斜向传输至第三列的乘法器单元PE3;利用乘法器单元PE8进行2*3这一乘法操作后,将权重值2横向传输至第三列的乘法器单元PE9,将特征图3沿对角线斜向传输至第三列的乘法器单元PE6;利用第三列的乘法器单元PE9接收特征图6,此处的特征图6属于特征图矩阵中第5行对应的特征图序列。由此可以得到如图9所示的目标脉动阵列数据处理架构进行第三拍计算的过程示意图。在图9中,乘法器单元PE3执行0*11这一乘法操作,乘法器单元PE6执行1*3这一乘法操作,乘法器单元PE9执行2*6这一乘法操作。

此外,在图9中,第一列的乘法器单元PE1、PE4和PE7各自进行第三次乘法操作,第二列的乘法器单元PE2、PE5和PE8各自进行第二次乘法操作,第三列的乘法器单元PE3、PE6和PE9各自进行第一次乘法操作,那么,第一列的乘法器单元对应的累加器单元SUM1在第一拍所得累加结果(也即30)的基础上执行第二拍计算的三个乘法结果的累加操作,也即执行30+15+8+35的累加操作;第二列的乘法器单元对应的累加器单元SUM2执行第二拍计算的三个乘法结果的累加操作,也即执行0+11+6的累加操作。至此,第一列的乘法器单元均进行了3次乘法操作,可将第1列的3个乘法器单元中的乘法结果分别取出相加后,得到卷积结果矩阵中第1行第1列的数据。按照与第1列的乘法器单元相同的操作方式可以得到卷积结果矩阵第3行第1列的数据以及卷积结果矩阵中第1行第2列的数据;也即,第二列的乘法器单元均进行了2次乘法操作,可将第二列的3个乘法器单元中的乘法结果分别取出相加后,得到卷积结果矩阵中第2行第1列的数据;第三列的乘法器单元均进行了1次乘法操作,可将第3列的3个乘法器单元中的乘法结果分别取出相加后,得到卷积结果矩阵中第3行第1列的数据。

此时,将每列的乘法器单元中前几次的乘法结果均删除,然后利用第一列的乘法器单元,继续接收新的权重值和新的特征图。直至将特征图矩阵中每行对应的特征图序列中每个特征图均输入至对应的乘法器单元进行乘法操作后,即可得到完整的卷积结果矩阵。

本发明提供的卷积神经网络加速方法,利用目标乘法器单元矩阵中首行首列的乘法器单元在执行本次的乘法操作时,向第二列的乘法器单元横向传输上次乘法操作的权重值,或者利用目标乘法器单元矩阵中首列非首行的乘法器单元在执行本次乘法操作时,向第二列的乘法器单元横向传输上次乘法操作的权重值以及斜向传输上次乘法操作的特征图。这样,可以确保各列乘法器单元并行进行乘法操作,并通过数据复用降低了数据搬运造成的时间能耗,从而提高了卷积操作的吞吐量和功率效率。

下面对本发明提供的卷积神经网络加速装置进行描述,下文描述的卷积神经网络加速装置与上文描述的卷积神经网络加速方法可相互对应参照。

参照图10,为本发明提供的卷积神经网络加速装置的结构示意图,示例的,请参见图10所示,该卷积神经网络加速装置1000可以包括:脉动阵列确定模块1010和乘累加处理模块1020。

脉动阵列确定模块1010,用于确定用于对目标卷积核矩阵进行卷积计算的目标脉动阵列数据处理架构;目标脉动阵列数据处理架构包括目标乘法器单元矩阵和累加器单元,目标乘法器单元矩阵中每列的乘法器单元均用于将计算的乘法结果自下向上传输至对应的累加器单元进行累加操作;目标卷积核矩阵中包括多个权重值且每行的权重值用于传输至目标乘法器单元矩阵中对应行的乘法器单元。

乘累加处理模块1020,用于针对乘法器单元矩阵中的各乘法器单元,利用乘法器单元,对输入的权重值和特征图进行乘法操作,得到乘法结果;特征图属于与目标卷积核矩阵进行卷积计算的特征图矩阵;特征图矩阵中包括多个特征图且每个特征图均用于传输至目标乘法器单元矩阵中对应的乘法器单元;利用乘法器单元,将乘法结果纵向传输至与乘法器单元对应的累加器单元进行累加操作,以及将权重值横向传输至与乘法器单元同行的下个乘法器单元进行乘法操作;其中,在乘法器单元位于目标乘法器单元矩阵中非首行的情况下,还利用乘法器单元,将特征图沿对角线方向传输至目标乘法器单元矩阵中的下个乘法器单元进行乘法操作。

可选的,乘累加处理模块1020,具体还用于在乘法器单元位于目标乘法器单元矩阵中首列的情况下,还利用乘法器单元,向目标乘法器单元矩阵中第二列的乘法器单元传输数据的同时,对输入的新的权重值和新的特征图进行乘法操作,得到新的乘法结果;其中,新的权重值为目标卷积核矩阵中与权重值同行且相邻的下个权重值,新的特征图为用于传输至乘法器单元所在行的特征图序列中与特征图相邻的下个特征图。

可选的,乘累加处理模块1020,具体还用于在乘法器单元位于目标乘法器单元矩阵中首列首行的情况下,还利用乘法器单元,将新的乘法结果纵向传输至对应的累加器单元进行累加操作,以及将权重值横向传输至与乘法器单元同行的下个乘法器单元进行相乘操作;或者,在乘法器单元位于目标乘法器单元矩阵中首列非首行的情况下,还利用乘法器单元,将新的乘法结果纵向传输至对应的累加器单元进行累加操作,将权重值横向传输至与乘法器单元同行的下个乘法器单元进行相乘操作,以及将特征图沿对角线方向传输至目标乘法器单元矩阵中的下个乘法器单元进行相乘操作;乘法器单元所在的列与下个乘法器单元所在的列属于相邻列。

可选的,乘累加处理模块1020,具体还用于在乘法器单元位于目标乘法器单元矩阵中非首列且非尾行的情况下,利用乘法器单元,对横向接收的权重值和沿对角线接收的特征图进行乘法操作,得到乘法结果。

可选的,乘累加处理模块1020,具体还用于按照预设步长和预设滑动窗口,确定特征图矩阵中每行的特征图对应的特征图序列,并将各特征图序列传输至所述目标乘法器单元矩阵中。

可选的,乘累加处理模块1020,具体还用于在特征图矩阵的行数大于目标乘法器单元矩阵的行数的情况下,将特征图矩阵中前n行的特征图序列对应传输至目标乘法器单元矩阵中第1列的n个乘法器单元中,以及将特征图矩阵中后m-n行的特征图序列对应传输至目标乘法器单元矩阵中最后1行的第2个乘法器单元至第n个乘法器单元中;其中,特征图矩阵为m×m维,目标乘法器单元矩阵为n×n维,m>n且m、n均为正整数。

可选的,乘累加处理模块1020,具体还用于基于预先存储的预设数量个乘法器单元在不同的工作模式下各自对应的连接方式,以及各工作模式与卷积核矩阵的类型之间的映射关系,确定与目标卷积核矩阵的类型对应的目标工作模式;然后,确定预设数量个乘法器单元在目标工作模式下对应的目标连接方式;最后,基于目标连接方式连接预设数量个乘法器单元,确定目标脉动阵列数据处理架构。

本发明实施例提供的卷积神经网络加速装置1000,可以执行上述任一实施例中卷积神经网络加速方法的技术方案,其实现原理以及有益效果与卷积神经网络加速方法的实现原理及有益效果类似,可参见卷积神经网络加速方法的实现原理及有益效果,此处不再进行赘述。

图11示例了一种电子设备的实体结构示意图,如图11所示,该电子设备1100可以包括:处理器(processor)1110、通信接口(CommunicationsInterface)1120、存储器(memory)1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信。处理器1110可以调用存储器1130中的逻辑指令,以执行卷积神经网络加速方法,该方法包括:

确定用于对目标卷积核矩阵进行卷积计算的目标脉动阵列数据处理架构;目标脉动阵列数据处理架构包括目标乘法器单元矩阵和累加器单元,目标乘法器单元矩阵中每列的乘法器单元均用于将计算的乘法结果自下向上传输至对应的累加器单元进行累加操作;目标卷积核矩阵中包括多个权重值且每行的权重值用于传输至目标乘法器单元矩阵中对应行的乘法器单元;针对乘法器单元矩阵中的各乘法器单元,利用乘法器单元,对输入的权重值和特征图进行乘法操作,得到乘法结果;特征图属于与目标卷积核矩阵进行卷积计算的特征图矩阵;特征图矩阵中包括多个特征图且每个特征图均用于传输至目标乘法器单元矩阵中对应的乘法器单元;利用乘法器单元,将乘法结果纵向传输至与乘法器单元对应的累加器单元进行累加操作,以及将权重值横向传输至与乘法器单元同行的下个乘法器单元进行乘法操作;其中,在乘法器单元位于目标乘法器单元矩阵中非首行的情况下,还利用乘法器单元,将特征图沿对角线方向传输至目标乘法器单元矩阵中的下个乘法器单元进行乘法操作。

此外,上述的存储器1130中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的卷积神经网络加速方法,该方法包括:

确定用于对目标卷积核矩阵进行卷积计算的目标脉动阵列数据处理架构;目标脉动阵列数据处理架构包括目标乘法器单元矩阵和累加器单元,目标乘法器单元矩阵中每列的乘法器单元均用于将计算的乘法结果自下向上传输至对应的累加器单元进行累加操作;目标卷积核矩阵中包括多个权重值且每行的权重值用于传输至目标乘法器单元矩阵中对应行的乘法器单元;针对乘法器单元矩阵中的各乘法器单元,利用乘法器单元,对输入的权重值和特征图进行乘法操作,得到乘法结果;特征图属于与目标卷积核矩阵进行卷积计算的特征图矩阵;特征图矩阵中包括多个特征图且每个特征图均用于传输至目标乘法器单元矩阵中对应的乘法器单元;利用乘法器单元,将乘法结果纵向传输至与乘法器单元对应的累加器单元进行累加操作,以及将权重值横向传输至与乘法器单元同行的下个乘法器单元进行乘法操作;其中,在乘法器单元位于目标乘法器单元矩阵中非首行的情况下,还利用乘法器单元,将特征图沿对角线方向传输至目标乘法器单元矩阵中的下个乘法器单元进行乘法操作。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的卷积神经网络加速方法,该方法包括:

确定用于对目标卷积核矩阵进行卷积计算的目标脉动阵列数据处理架构;目标脉动阵列数据处理架构包括目标乘法器单元矩阵和累加器单元,目标乘法器单元矩阵中每列的乘法器单元均用于将计算的乘法结果自下向上传输至对应的累加器单元进行累加操作;目标卷积核矩阵中包括多个权重值且每行的权重值用于传输至目标乘法器单元矩阵中对应行的乘法器单元;针对乘法器单元矩阵中的各乘法器单元,利用乘法器单元,对输入的权重值和特征图进行乘法操作,得到乘法结果;特征图属于与目标卷积核矩阵进行卷积计算的特征图矩阵;特征图矩阵中包括多个特征图且每个特征图均用于传输至目标乘法器单元矩阵中对应的乘法器单元;利用乘法器单元,将乘法结果纵向传输至与乘法器单元对应的累加器单元进行累加操作,以及将权重值横向传输至与乘法器单元同行的下个乘法器单元进行乘法操作;其中,在乘法器单元位于目标乘法器单元矩阵中非首行的情况下,还利用乘法器单元,将特征图沿对角线方向传输至目标乘法器单元矩阵中的下个乘法器单元进行乘法操作。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 卷积神经网络计算的加速方法、装置、设备及存储介质
  • 电子设备的显示控制方法、装置、电子设备和存储介质
  • 电子设备控制方法及装置、电子设备及存储介质
  • 数据分布存储方法、装置、存储介质及电子设备
  • 存储清理方法、装置、电子设备及存储介质
  • 一种卷积神经网络模型加速训练方法、装置、电子设备及存储介质
  • 卷积神经网络推理加速方法、加速器、设备及存储介质
技术分类

06120116488348