本发明涉及人工智能领域,特别是涉及人工智能计算辅助处理方法、装置、可读计算机存储介质、及终端。
背景技术:
现今,随着人工智能产业的发展,各种人工智能领域的技术随之兴起。其中,卷积神经网络已然成为众多人工智能领域的研究热点。
早在20世纪60年代,就有科学家在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络。随后,又有更多的科研工作者投入到卷积神经网络的研究中。
通常,为使卷积提取特征值后的矩阵大小与卷积之前的原数据矩阵大小一致,需对原数据矩阵进行补零操作。
但是,现有技术中的补零操作通常都只能通过软件技术进行补零,cpu的计算量非常大,进而导致补零效率非常低。
技术实现要素:
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种工智能计算辅助处理方法、装置、可读计算机存储介质、及终端,用于解决现有技术中补零操作效率低、计算量大等技术问题。
为实现上述目的及其他相关目的,本发明提供一种人工智能计算辅助处理装置,包括:多个存储模块,存储有待处理数据矩阵;内存,设有零矩阵;控制模块,用于将所述待处理数据矩阵从所述存储模块中取出,并置于所述内存零矩阵中,以令所述待处理数据矩阵能够以其任意一个第一矩阵元素为中心构成尺寸为w*w的待卷积矩阵,供卷积核矩阵按照预设步长进行卷积计算;其中,w为所述卷积核矩阵的尺寸。
于本发明的一实施例中,所述待处理数据矩阵包括n*m矩阵,所述零矩阵包括n*m零矩阵;其中,
于本发明的一实施例中,所述将所述待处理数据矩阵从所述存储模块中取出,并置于所述内的零矩阵中,具体包括:所述控制模块将所述n*m矩阵从所述存储模块中取出并置于所述内存的n*m零矩阵中以形成填充矩阵;其中,所述填充矩阵包括:第1至第
于本发明的一实施例中,所述将所述待处理数据矩阵从所述存储模块中取出,并置于所述内的零矩阵中,具体方式包括:所述n*m矩阵分为多个尺寸相同的分块矩阵;所述控制模块依次取出各所述分块矩阵,并按照预设放置条件将各所述分块矩阵填入所述n*m零矩阵中。
于本发明的一实施例中,所述预设放置条件包括:所述控制模块根据所述内存中的预设起始地址以及所述分块矩阵的尺寸,依次将各所述分块矩阵置入所述n*m零矩阵中。
于本发明的一实施例中,所述存储模块包括双存储模块。
于本发明的一实施例中,所述人工智能计算辅助处理装置包括:乘法器,用于将每个所述待卷积矩阵分别与卷积核相乘,得到相应的乘法结果矩阵;其中,各所述乘法结果矩阵与各所述第一矩阵元素对位;加法器,用于将每个所述乘法结果矩阵中的第二矩阵元素相加,得到相应的卷积结果值;其中,各所述卷积结果值与各所述第一矩阵元素对位,以组成尺寸为n*m的卷积结果矩阵。
为实现上述目的及其他相关目的,本发明提供一种人工智能计算辅助处理方法,应用于控制模块,所述方法包括:从存储模块中取出n*m矩阵;将所述n*m矩阵置于内存的n*m零矩阵中,以令所述n*m矩阵能够以其任意一个第一矩阵元素为中心构成尺寸为w*w的待卷积矩阵,供与所述卷积核进行卷积计算;其中,
于本发明的一实施例中,所述控制模块从所述存储模块中将所述n*m矩阵取出,具体包括:所述n*m矩阵分为多个尺寸相同的分块矩阵;所述控制模块依次取出各所述分块矩阵。
于本发明的一实施例中,所述将所述n*m矩阵置于内存的n*m零矩阵中,具体包括:所述控制模块根据起始地址以及所述分块矩阵的尺寸,依次将各所述分块矩阵填入所述n*m零矩阵中。
为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述人工智能计算辅助处理方法。
为实现上述目的及其他相关目的,本发明提供一种人工智能计算辅助处理终端,,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述人工智能计算辅助处理方法。
如上所述,本发明的人工智能计算辅助处理方法、装置、可读计算机存储介质、及终端,具有以下有益效果:本发明提供的人工智能计算辅助处理方法及装置,通过硬件结构搭建补零操作体系,且在内存中预设有零矩阵,供待处理数据矩阵置入即可实现补零操作,无需计算补零的数量或者补零的位置等参数,大大降低了系统的计算量,提升了补零操作的效率,加快了图像处理等操作的响应速度。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
附图说明
图1显示为本发明一实施例中的人工智能计算辅助处理装置的示意图。
图2显示为本发明一实施例中的人工智智能计算辅助处理过程的示意图。
图3显示为本发明一实施例中的人工智智能计算辅助处理过程的示意图。
图4显示为本发明一实施例中的人工智智能计算辅助处理过程的示意图。
图5显示为本发明一实施例中的人工智智能计算辅助处理过程的示意图。
图6显示为本发明一实施例中的人工智智能计算辅助处理过程的示意图。
图7显示为本发明一实施例中的人工智智能计算辅助处理装置的示意图。
图8显示为本发明一实施例中的人工智智能计算辅助处理方法的示意图。
元件标号说明
11存储模块
12内存
13控制模块
m1待处理数据矩阵
m2卷积核矩阵
m3零矩阵
m4填充矩阵
m401~m425待卷积矩阵
m501~m505乘法结果矩阵
m6卷积结果矩阵
m7待处理数据矩阵
m8零矩阵
71存储模块
72内存
r1矩形虚线框
r2矩形虚线框
r3矩形虚线框
s801~s802步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提供一种人工智能计算辅助处理装置,用于对待处理数据矩阵进行补零操作。
如图1所示,展示本发明一实施例中的人工智能计算辅助处理装置。所述人工智能计算辅助处理装置包括多个存储模块11、内存12、以及控制模块13。其中,所述多个存储模块11存储有n*m矩阵,n和m均为大于等于1的自然数。所述内存12中存储有n*m零矩阵;所述控制模块13用于取出所述n*m矩阵并置于所述n*m零矩阵中。
优选的,所述存储模块11为双存储模块;所述双存储模块具体包括两个存储模块,当其中一个存储模块在扫描输出时另一个存储模块在处理数据;到下一个周期时,处理完数据的存储模块开始扫描输出,而原先在扫描输出的存储模块开始处理数据。也即,所述两个存储模块总是处于其中一个在扫描而另一个在处理数据的状态,其效果为最终输出的每一帧数据看似都经历了处理和扫描输出这两个步骤,而其实是通过两个存储器协同合作共同完成的,从而达到了成倍提升数据传输和处理效率的技术效果。
优选的,所述控制模块通过dma方式实现数据传输。具体的,所述dma全称为directmemoryaccess,意为直接内存访问,是一种不经过cpu即可直接从内存存取数据的控制器。在dma模式下,cpu只需向控制模块下达指令,让控制模块处理数据的传送,待数据栓送完毕再将信息反馈至cpu,这样就大幅降低了cpu的资源占有率,大大节省了系统资源。
所述n*m零矩阵,是由(n*m)个零值组成的矩阵。
具体的,
具体的,所述控制模块将所述n*m阶矩阵从所述存储模块中取出,并置于所述内存的n*m零矩阵中以形成填充矩阵。所述填充矩阵的第1至第
将所述n*m矩阵从所述存储模块11中取出置入所述内存12中的n*m零矩阵中以形成填充矩阵,从而使所述n*m矩阵能够以其任意一个矩阵元素为中心都能构成尺寸为w*w的待卷积矩阵。下面以具体的实施例说明所述n*m矩阵与w*w阶卷积核进行卷积计算的过程。
如图2~6所示,展示本发明一实施例中人工智智能计算辅助处理过程的示意图。其中:
图2展示的是该实施例中的待处理数据矩阵m1和卷积核矩阵m2。其中,所述待处理数据矩阵为5*5阶矩阵,卷积核矩阵为3*3阶矩阵,各矩阵中的数值即为该矩阵的矩阵元素。
图3展示的是该实施例中的零矩阵m3。
所述零矩阵设于内存中,且根据
图4展示的是该实施例中的填充矩阵m4。所述填充矩阵由所述待处理数据矩阵m1置入所述零矩阵m3之后形成。根据填充矩阵的第1至第
图4中的矩形虚线框r1代表的是以矩阵元素18为中心构成的3*3阶待卷积矩阵m401,位于图4的右侧。将所述矩形虚线框r1以步长1向右移动,依次得到以所述填充矩阵m4的第一行中各矩阵元素为中心的待卷积矩阵m401~m405。按照与第一行同样的方法依次对第二行至第七行执行同样的操作,从而最终得到数量为25个的待卷积矩阵m401~m425。
需要说明的是,所述待卷积矩阵m401~m425与所述待处理数据矩阵m1中的各个矩阵元素相互对位。此外,所述矩形虚线框r1虽于该实施例中移动的步长为1,也即每次只移动一个矩阵元素的距离,但本发明对所述虚线框移动的步长并不做限定。
图5展示的是该实施例中各所述待卷积矩阵与卷积核矩阵相乘的示意图。所述人工智能计算辅助处理装置包括一未图示的乘法器,用于将所述卷积核矩阵分别与每个所述待卷积矩阵进行乘法运算。具体而言,所述待卷积矩阵中的矩阵元素与所述卷积核矩阵中对位的矩阵元素进行相乘,得到相应的乘法结果矩阵m501~m525。需要说明的是,所述乘法结果矩阵m501~m525与所述待处理数据矩阵m1中各个矩阵元素是对位的。
图6展示的是该实施例中各乘法结果矩阵进行加法运算的示意图。所述人工智能计算辅助处理装置包括一未图示的加法器,用于将所述乘法结果矩阵m501~m525中的每个矩阵进行如下操作:将所述乘法结果矩阵中的矩阵元素进行相加,得到相应的卷积结果值。举例来说,将乘法结果矩阵m501中的矩阵元素相加得到卷积结果值32,以此类推将全部25个结果矩阵进行加法运算,并最终得到卷积结果矩阵m6。
从上述具体实施例可知,本发明提供的人工智能计算辅助处理装置将存储模块中的n*m矩阵与卷积核进行卷积计算后,输出阶数为n*m的卷积结果矩阵。
值得注意的是,本发明提供的人工智能计算辅助处理装置则通过硬件结构搭建补零操作体系;此外,本发明在内存中预设有零矩阵,供待处理数据矩阵置入即可实现补零操作,无需计算补零的数量或者补零的位置等参数。本发明与现有技术通过软件经cpu运行处理实现补零的操作方式相比,大大降低了系统的计算量,提升了补零操作的效率,加快了图像处理等操作的响应速度。
可选的,在一实施例中,所述n*m矩阵分为多个尺寸相同的分块矩阵,所述控制模块将所述n*m矩阵从所述存储模块中取出并置于所述内存的n*m零矩阵中的具体方式包括:所述控制模块依次取出各所述分块矩阵,并按照预设放置条件将各所述分块矩阵填入所述n*m零矩阵中,下面以一具体的实施例予以说明。
如图7所示,展示本发明一实施例中人工智能计算辅助处理装置的示意图。所述处理装置包括存储模块71,内设有待处理数据矩阵m7。所述待处理数据矩阵m7为4*4矩阵,以2*2矩阵为分块矩阵,可分为4个分块矩阵,图7中用矩形虚线框r2代表其中一个分块矩阵。
所述处理装置包括内存72,内设有零矩阵m8,所述零矩阵m8为6*6矩阵。所述零矩阵m8中用于存放所述待处理数据矩阵m7的区域起始于第二行第二列的矩阵元素,其存储地址为0x00220000。未图示的控制模块以该存储地址作为起始地址,将所述待处理数据矩阵m7的第一个分块矩阵置入矩形虚线框r3中。
所述控制模块依照所述初始地址以及所述分块矩阵的尺寸,依次将各个分块矩阵放置于所述零矩阵m8中相应的位置。举例来说,所述控制模块将第一个分块矩阵置入所述零矩阵m8之后,又以存储地址为0x00220004为起始地址,将第二个分块矩阵置入所述零矩阵m8中;以此类推,直至将全部的待处理数据矩阵置入所述零矩阵m8中。
本发明提供的人工智能计算辅助处理方法,通过控制模块从存储模块取出数据,且将待处理数据矩阵分为多个尺寸相同的分块矩阵,从而大幅提升了取出数据的效率,加快了系统的响应速度。
本发明还提供一种人工智能计算辅助处理方法,应用于控制模块,具体包括:
s801:从存储模块中取出待处理数据矩阵;
s802:将所述待处理数据矩阵置于内存中的零矩阵中,以令所述待处理数据矩阵能够以其任意一个第一矩阵元素为中心构成尺寸为w*w的待卷积矩阵,供卷积核矩阵按照预设步长进行卷积计算;其中,w为所述卷积核矩阵的尺寸。
所述人工智能计算辅助处理方法的实施方式与所述人工智能计算辅助处理装置的实施方式类似,故不再赘述。
本领域普通技术人员可以理解:实现上述人工智能计算辅助处理方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
本发明还提供一种人工智能计算辅助处理终端,包括:处理器及存储器。所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述人工智能计算辅助处理方法。
上述提到的存储器可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本发明提供的人工智能计算辅助处理方法及装置,通过硬件结构搭建补零操作体系,且在内存中预设有零矩阵,供待处理数据矩阵置入即可实现补零操作,无需计算补零的数量或者补零的位置等参数,大大降低了系统的计算量,提升了补零操作的效率,加快了图像处理等操作的响应速度。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。