CN111626914A - 执行层级计算处理的数据处理装置及其方法 - Google Patents
执行层级计算处理的数据处理装置及其方法 Download PDFInfo
- Publication number
- CN111626914A CN111626914A CN202010127920.5A CN202010127920A CN111626914A CN 111626914 A CN111626914 A CN 111626914A CN 202010127920 A CN202010127920 A CN 202010127920A CN 111626914 A CN111626914 A CN 111626914A
- Authority
- CN
- China
- Prior art keywords
- processing
- data
- unit
- calculation
- processing unit
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 231
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004364 calculation method Methods 0.000 claims abstract description 119
- 238000013528 artificial neural network Methods 0.000 claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 67
- 230000008569 process Effects 0.000 claims description 29
- 238000003672 processing method Methods 0.000 claims 2
- 238000013527 convolutional neural network Methods 0.000 description 41
- 238000012546 transfer Methods 0.000 description 25
- 238000006243 chemical reaction Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000003909 pattern recognition Methods 0.000 description 7
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
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 Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明提供了一种执行层级计算处理的数据处理装置及其方法。该数据处理装置被构造为对输入数据执行与神经网络相对应的层级计算处理,所述数据处理装置包括:存储单元,其被构造为存储多个控制数据集,所述多个控制数据集中的各个用于将与神经网络相对应的层级计算处理划分而成的多个处理单位中的一个;传输单元,其被构造为从存储单元依次传输所述多个控制数据集;以及计算处理单元,其被构造为使用由传输单元传输的一个控制数据集来进行与所述一个控制数据集相对应的处理单位的计算处理。
Description
技术领域
本发明涉及一种被构造为执行与神经网络对应的层级计算处理的数据处理装置及其方法。
背景技术
诸如卷积神经网络(在下文中,简称为CNN)的层级计算方法作为能够针对识别目标的变化进行鲁棒图案识别的方法引起了人们的关注。例如,Yann LeCun,KorayKavukvuoglu,and Clement Farabet,"Convolutional Networks and Applications inVision,"Proc.International Symposium on Circuits and Systems(ISCAS’10),IEEE,2010.讨论了各种应用示例和实施方式示例。
图9是例示简单CNN的示例的网络构造图。在要对图像数据进行CNN处理的情况下,输入层901输入预定大小的图像数据。第一层级908包括特征面903a至903d。第二层级909包括特征面905a至905d。第三层级910包括特征面907。
术语“特征面(feature surface)”是指与预定特征提取计算(卷积计算和非线性处理)处理的结果对应的数据面。特征面与用于在更高层级中识别预定目标的特征提取的结果相对应,并且是对图像数据的处理的结果,使得处理结果也被表达为面。通过对输入层901的卷积运算和非线性处理来生成特征面903a至903d。例如,特征面903a通过使用示意性例示的二维卷积核(权重系数)9021a的计算以及计算结果的非线性转换来计算。
例如,使用大小为columnSize×rowSize的核(系数矩阵)的二维卷积计算通过由式(1)表示的乘法累积运算进行处理:
其中,input(x,y)表示坐标(x,y)处的参照像素值,output(x,y)表示坐标(x,y)处的计算结果,weigh(column,row)表示在output(x,y)的运算中使用的权重系数,columnSize(列大小)和rowSize(行大小)表示卷积核大小。
在CNN处理中,在使用多个卷积核按像素单位扫描图像数据的同时重复乘法累积运算,并且对最终的乘法累积运算结果进行非线性转换以由此计算特征面。在计算特征面903a的情况下,由于与前一层级的连接数量为一,因此卷积核的数量为一。卷积核9021b、9021c和9021d分别用于计算特征面903b、903c和903d。
图10例示了计算特征面905a的情况的示例。特征面905a与前一层级908的四个特征面903a至903d连接。在计算特征面905a的数据的情况下,使用示意性地例示的核(权重系数)9041a对特征面903a进行滤波器操作,并且将滤波器操作结果存储在累积加法器1002中。
类似地,卷积计算处理单元1001分别使用核9042a、9043a和9044a对特征面903b、903c和904c进行卷积计算,并将卷积计算结果存储在累积加法器1002中。在完成四种类型的卷积计算之后,非线性转换处理单元1003使用逻辑函数或双曲正切函数(tanh函数)进行非线性转换处理。
在对整个图像进行逐像素扫描的同时进行上述处理,由此计算特征面905a。类似地,通过使用四个卷积核9041b、9042b、9043b和9044b对前一层级908的特征面903a至903d进行卷积计算,来计算特征面905b。此外,通过使用四个卷积核9061、9062、9063和9064对前一层级909的特征面905a至905d进行卷积计算,来计算特征面907。通过使用诸如感知器学习或反向传播学习等的通常使用的方法进行学习来预确定各个核系数。
在最近的被称为深层网络的大规模网络中,在生成一个特征面时要参照的数据面的数量增加了,即,连接的数量也增加了。因此,增加了计算所需的权重系数的数量。此外,为了增加识别精度,层级的数量增加了,并且各个层级的操作参数大小也增加了。
在嵌入式系统中实现被构造为进行CNN计算的CNN处理硬件并进行网络处理的情况下,CNN处理硬件对各个层级进行输入数据和权重系数的计算。然后,将计算结果用作下一层级的输入数据,并且进行下一层级的输入数据和权重系数的计算。重复此过程以由此获得最终的图案识别结果。
例如,日本未经审查的专利申请公开(PCT申请的译本)第2018-521374号讨论了如下方法:将CNN处理所需的各个层级的权重系数和关于各个层级的信息传输到内部存储器中,并且在权重系数和信息从内部存储器有效地传输到计算单元的同时进行计算。
在嵌入式系统中实现CNN处理硬件的情况下,从成本的角度来看,不期望将处理所有层级所需的所有权重系数和操作参数存储在内部大容量存储器中并在计算中使用存储的权重系数和操作参数。因此,所有层级的权重系数和操作参数都存储在廉价的外部存储器(例如只读存储器(ROM)或动态随机存取存储器(DRAM))中,而只有用于处理一个层级的权重系数和操作参数存储在内部存储器和内部寄存器中并被使用。
此时,在将数据量大的权重系数和操作参数从外部存储器传输到CNN处理硬件之后,开始对各个层级的处理。在嵌入式系统中,通常,外部存储器和内部总线也共享并使用CNN处理硬件以外的功能块,使得从CNN处理硬件发出数据读取请求时到读取数据到达时的存储器延迟增加。因此,在切换层级时需要花费时间为处理做准备。
同时,存在对高速处理各种神经网络的需求,使得需要高速、灵活的处理控制。在控制CNN处理硬件的控制处理器基于神经网络进行处理控制的情况下,如果改变了处理目标神经网络,则还需要改变固件。这增加了固件的开发成本。
发明内容
根据本发明的方面,一种数据处理装置被构造为对输入数据执行与神经网络相对应的层级计算处理,所述数据处理装置包括:存储单元,其被构造为存储多个控制数据集,所述多个控制数据集中的各个用于将与神经网络相对应的层级计算处理划分而成的多个处理单位中的一个;传输单元,其被构造为从存储单元依次传输所述多个控制数据集;以及计算处理单元,其被构造为使用由传输单元传输的一个控制数据集来进行与所述一个控制数据集相对应的处理单位的计算处理。
通过以下参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。
附图说明
图1是例示根据示例性实施例的卷积神经网络(CNN)计算处理单元的框图。
图2是例示由数据分配单元接收的数据格式的图。
图3是例示操作设置寄存器的图。
图4是例示由CNN计算处理单元生成特征面的处理的流程图。
图5是例示用于使CNN计算处理单元操作的数据集的图。
图6是例示使用图案识别装置的图像处理系统的构造的示例的框图。
图7是例示对网络进行处理所需的存储器的量以及处理单元的图。
图8A、图8B和图8C是例示图像处理系统的序列图。
图9是例示CNN的示例的网络构造的图。
图10是例示计算特征面的情况的示例的图。
具体实施方式
下面将参照附图描述本发明的示例性实施例。
下面将参照图1至图8描述本发明的第一示例性实施例。
图6例示了使用根据本示例性实施例的图案识别装置的图像处理系统的构造的示例。该系统具有从图像数据检测特定对象的区域的功能。在图6中,图像输入单元600包括光学系统和光电转换器件,例如电荷耦合器件(CCD)传感器或互补金属氧化物半导体(CMOS)传感器。图像输入单元600还包括控制传感器的驱动器电路、模数转换器、进行各种类型的图像校正的信号处理电路、以及帧缓冲器。
卷积神经网络(CNN)计算处理单元601包括根据本示例性实施例的计算装置。直接存储器存取控制器(DMAC)605是在图像总线602上的处理单元与中央处理单元(CPU)总线609之间进行数据传输的数据传输单元。桥603提供桥功能,以桥接图像总线602和CPU总线609。预处理单元604进行各种类型的预处理,以有效执行图案识别处理。更具体地,预处理单元604通过硬件进行图像数据转换处理,例如颜色转换处理和对比度校正处理。CPU 606控制整个图像处理系统的操作。
只读存储器(ROM)607是被构造为存储指明CPU 606的操作的命令和操作参数数据以及用于使CNN计算处理单元601进行操作的控制数据集的数据存储单元。控制数据集(以下也简称为数据集)包括用于要处理的神经网络的权重系数和操作参数。数据集经由DMAC605输入到图案识别处理单元。在CPU 606的操作中使用随机存取存储器(RAM)608。
从图像输入单元600输入的图像数据由预处理单元604处理,并且处理后的图像数据被临时存储在RAM 608上。然后,所存储的图像数据经由DMAC 605从RAM 608输入到CNN计算处理单元601。CNN计算处理单元601基于该数据集,对输入的预处理后的图像数据以像素为单位进行预定的确定处理,并确定输入图像中的预定对象的区域。确定的结果经由DMAC605存储在RAM 608中。
图1是例示CNN计算处理单元601的框图。下面将描述各个块的功能。数据分配单元101接收从DMAC 605发送的数据,参照添加到数据的头部的目的地指示符和传输长度,并将数据发送到对应的内部块。使用标准的两行握手协议(有效/就绪(Valid/Ready))进行数据发送和接收。
图2例示了由数据分配单元101接收的数据格式,下面将描述数据分配单元101的操作。输入数据宽度为32位。数据包含头部201和数据主体202。头部201的低八位的DST字段指明目的地,而高24位的LENGTH字段指明数据主体202的传输长度(字节的数量)。预先将唯一标识符(ID)添加到各个内部块,并将对应于LENGTH的数据主体202发送到与DST字段的值匹配的ID的块。例如,在接收到图2中所示的数据的情况下,第一数据的头部201包含DST=0并且LENGTH=N,使得N字节的数据主体202被发送到ID为0的内部块。下一数据的头部201包含DST=1和LENGTH=M,使得M字节的数据主体202被发送到ID为1的内部块。指明目的地的ID可以是地址。
控制单元102控制整个CNN计算处理单元601,并且包括操作设置寄存器。操作设置寄存器包括多个操作设置寄存器组,并且用于生成一个特征面的信息存储在各个操作设置寄存器组中。控制单元102的操作设置寄存器包括八个操作设置寄存器组。将要设置的值作为操作参数存储在ROM 607中。控制单元102经由DMAC 605和数据分配单元101接收该值,并将接收到的值设置给内部操作设置寄存器组。控制单元102的ID是0。
所设置的寄存器值作为处理控制信号被分配给权重系数存储单元103、特征面存储单元104和卷积计算单元105。处理控制信号除了寄存器值之外还包含处理开始指令信号,并且当设置一个或更多个操作设置寄存器组时发出开始处理的指令。
图3例示操作设置寄存器组。“最终层指定”寄存器是指定要由操作设置寄存器组生成的特征面是否是最终层的寄存器。在最终层指定寄存器是1的情况下,当结束生成特征面的处理时,向外输出检测处理结果。“参照特征面的数量”寄存器是指定前一层级的要与生成的特征面连接的特征面的数量的寄存器。例如,在计算图9中的特征面905a至905d的情况下,设置4。“非线性转换”寄存器是指定是否进行非线性转换的寄存器。在设置1的情况下,进行非线性转换处理,而在设置0的情况下,不进行非线性转换处理。
“计算结果存储目的地指针”寄存器是指定地址的寄存器,该地址指明了存储如下所述的生成的特征面的计算结果的特征面存储单元104的头部指针。使用作为头部指针的指针的值,以光栅扫描的顺序存储计算结果。“水平滤波器核大小”寄存器和“垂直滤波器核大小”寄存器是指定要在对生成的特征面的计算中使用的滤波器核的大小的寄存器。
“权重系数存储目的地指针”寄存器是将权重系数存储单元103的存储目的地地址指明为要在对生成的特征面的计算中使用的权重系数的存储目的地的寄存器。例如,权重系数数据包含与“参照特征面的数量”寄存器相同数量的系数组合,并且权重系数从“权重系数存储目的地指针”寄存器指定的地址起以光栅扫描的顺序存储。更具体地,权重系数存储单元103中存储的系数数据的组合数量与“水平滤波器核大小”ד垂直滤波器核大小”ד参照特征面的数量”相同。
“水平参照特征面大小”寄存器和“垂直参照特征面大小”寄存器是分别指明参照特征面的水平像素的数量和参照特征面的垂直线的数量的寄存器。“参照特征面存储目的地指针”寄存器是指定地址的寄存器,该地址指明了存储参照特征面的特征面存储单元104的头部指针。使用作为头部指针的指针的值,以光栅扫描的顺序存储参照特征面。更具体地,特征面存储单元104中存储的特征面数据的数量与“水平参照特征面大小”ד垂直参照特征面大小”ד参照特征面的数量”相同。
上述的多个寄存器以特征面为单位配设。在所生成的特征面的“参照特征面存储目的地指针”寄存器的内容是要连接的前一层级的特征面的“计算结果存储目的地指针”的情况下,连接前一层级的特征面和生成的特征面。因此,仅通过寄存器设置,就可以以特征面为单位构造期望的层级连接关系。ROM 607中的各个操作参数具有包含与生成的特征面的数量相对应的一系列上述寄存器组的数据构造。控制单元102将操作参数依次地设置给八个操作设置寄存器组。当控制单元102将操作参数设置给全部八个组时,两线握手信号Ready被取反,并且不接收随后的操作参数数据。如果对先前设置的操作设置寄存器组的处理完成,则释放处理后的操作设置寄存器组,并接收下一操作参数数据并进行设置。
权重系数存储单元103包括被配置为存储权重系数数据的存储器和存储器控制单元。权重系数存储单元103包括读取指针和写入指针。读取指针指明存储器的读取地址,写入指针指明写入地址。存储器用作环形缓冲器。在普通的环形缓冲器的情况下,通过写入指针和读取指针来管理存储器中的空闲空间,但是根据下面描述的图4中的流程图,多次读取相同的权重系数并使用。当完成最后读取时,释放权重系数的存储器区域,并基于与写入指针之间的差来管理存储器的空闲空间。在存储器中没有空闲空间的情况下,两行握手信号Ready被取反,并且不接收数据。权重系数存储单元103的ID为1。
如果权重系数存储单元103从控制单元102接收到处理开始指令,则权重系数存储单元103参照“权重系数存储目的地指针”寄存器、“水平滤波器核大小”寄存器、“垂直滤波器核大小”寄存器和“参照特征面的数量”寄存器的值。权重系数存储单元103用“权重系数存储目的地指针”寄存器的值更新读取指针,读取“水平滤波器核大小”ד垂直滤波器核大小”ד参照特征面的数量”的权重系数,并将读取的权重系数发送到下述的卷积计算单元105。此外,在初始化时,用存储器的头部地址更新写入指针。如果权重系数存储单元103从数据分配单元101接收到权重系数,则权重系数存储单元103将数据存储到由写入指针指明的地址,并使写入指针递增。如果写入指针到达存储器的最终地址,则写入指针返回到存储器的头部地址。
特征面存储单元104存储特征面数据,并且包括存储器和存储器控制单元。特征面存储单元104包括读取指针和写入指针。读取指针指明存储器的读取地址,写入指针指明写入地址。特征面存储单元104的ID为2。
特征面存储单元104从控制单元102接收处理开始指令。然后,特征面存储单元104参照“参照特征面存储目的地指针”寄存器、“水平参照特征面大小”寄存器、“垂直参照特征面大小”寄存器、“参照特征面的数量”寄存器、“水平滤波器核大小”寄存器和“垂直滤波器核大小”寄存器的值。然后,特征面存储单元104读取由式(1)表示的参照像素值,并且将读取的参照像素值发送到下述的卷积计算单元105。更具体地,特征面存储单元104用“参照特征面存储目的地指针”寄存器的值来更新读取指针。特征面存储单元104基于“水平滤波器核大小”(=columnSize)和“垂直滤波器核大小”(=rowSize)来确定第一参照特征面坐标(0,0)。然后,特征面存储单元104读取所确定的坐标处的参照像素值(-columnSize/2,-rowSize/2)至(columnSize/2,rowSize/2),并发送所读取的值。接下来,第二参照特征面坐标(0,0)处的参照像素值、第三参照特征面坐标(0,0)处的参照像素值、…、以及第n参照特征面坐标(0,0)处的参照像素值以此顺序来读取,并且发送读取的参照像素值,其中n是“参照特征面的数量”。然后,各个参照特征面水平偏移一个像素,并且类似地发送与“参照特征面的数量”相等的数量的在参照特征面坐标(1,0)处的参照像素值((1-columnSize)/2,-rowSize/2)到((1+columnSize)/2,rowSize/2)。以这种方式,发送水平偏移了“水平参照特征面大小”的参照特征面。接下来,类似地发送垂直偏移了一行的参照特征面坐标(0,1)处的参照像素值(-columnSize/2,(1-rowSize)/2)至(columnSize/2,(1+rowSize)/2)。发送了在行方向上偏移了“垂直参照特征面大小”的参照特征面之后,处理完成。
如果特征面存储单元104从控制单元102接收到处理开始指令,则特征面存储单元104读取参照特征面并发送读取的参照特征面,同时接收作为下述的卷积计算单元105的计算结果的生成的特征面,并将接收到的所生成的特征面写入存储器。此处理参照“最终层指定”寄存器、“计算结果存储目的地指针”寄存器、“水平参照特征面大小”寄存器和“垂直参照特征面大小”寄存器的值。更具体地,用“计算结果存储目的地指针”寄存器的值来更新写入指针。在“最终层指定”寄存器的值为0的情况下,接收生成的特征面,并将数据存储在写入指针的地址中。写入指针递增。接收到“水平参照特征面大小”ד垂直参照特征面大小”的计算结果之后,处理完成。在“最终层指定”寄存器的值为1的情况下,不接收任何生成的特征面。
在初始化时,用存储器的头部地址更新写入指针。如果从数据分配单元101接收到图像数据,则将数据存储在由写入指针指明的地址处,并且使写入指针递增。仅在输入层处理期间接收图像数据。
如果卷积计算单元105从控制单元102接收到处理开始指令,则卷积计算单元105从权重系数存储单元103和特征面存储单元104接收权重系数和数据,并进行卷积计算。如果卷积计算单元105接收到“水平滤波器核大小”ד垂直滤波器核大小”的权重系数和参照像素值,则卷积计算单元105进行卷积计算。卷积计算单元105将计算结果存储在内部累积加法器中并累积计算结果。在“非线性转换”寄存器的值为1的情况下,卷积计算单元105对与“参照特征面的数量”相等数量的计算结果的累积相加结果进行非线性转换处理,并将计算结果发送到特征面存储单元104。在“非线性转换”寄存器的值为0的情况下,不进行非线性转换处理,并且将计算结果发送到特征面存储单元104。此外,在“最终层指定”寄存器的值为1的情况下,计算结果向外部发送并经由DMAC605存储在RAM 608中。
图4是例示通过CNN计算处理单元601生成特征面的处理的流程图。如果在控制单元102的操作设置寄存器当中设置了一个或更多个寄存器组,则CNN计算处理单元601开始图4的流程图中所示的处理。在步骤S401中,控制单元102向权重系数存储单元103、特征面存储单元104和卷积计算单元105发出处理开始指令。步骤S402是“垂直参照特征面大小”循环,是最外侧的循环。步骤S403是“水平参照特征面大小”循环。更具体地,以光栅顺序扫描参照特征面,并且以光栅顺序生成特征面。
接下来,步骤S404是“参照特征面的数量”循环,步骤S405是“垂直滤波器核大小”循环,步骤S406是“水平滤波器核大小”循环。更具体地,针对各个参照特征面,以光栅顺序处理参照像素范围内的参照像素值。步骤S407是通过权重系数存储单元103读取各个参照特征面的权重系数的步骤,并且基于步骤S404和S405的循环变量来确定要读取的权重系数的坐标。步骤S408是通过特征面存储单元104读取各个参照特征面的像素值的步骤,并且基于步骤S402、S403、S405和S406的循环变量来确定要读取的像素值的坐标。
在步骤S409中,卷积计算单元105对在步骤S407和S408中读取的像素值和权重系数进行卷积计算,并累积卷积计算结果。如果步骤S404的循环结束,则在步骤S410中,卷积计算单元105参照“非线性转换”寄存器。在寄存器值为1的情况下(步骤S410中为“是”),处理进入步骤S411,并进行非线性转换处理。在寄存器值为0的情况下(步骤S410中为“否”),跳过步骤S411。在步骤S412中,卷积计算单元105参照“最终层指定”寄存器。在寄存器值为1的情况下(步骤S412中为“是”),处理进入步骤S413,并且将检测处理结果向外部发送。在寄存器值为0的情况下(步骤S412中为“否”),处理进入步骤S414,并将计算结果发送到特征面存储单元104。特征面存储单元104基于写入指针存储计算结果。
如果生成一个特征面的处理完成,则流程图中所示的处理完成。释放存储了处理后的权重系数的存储器区域和寄存器组。
图5例示处理存储在RAM 608中并由预处理单元604处理的目标图像数据的示例以及存储在ROM 607中并用于使CNN计算处理单元601进行操作的数据集的示例。该数据集用于处理图7所示的网络构造。使用图像数据作为输入来依次生成第一层级908的特征面903a至903d,然后使用生成的第一层级908的特征面903a至903d作为输入来依次生成第二层级909的特征面905a至905d。然后,使用第二层级909的特征面905a至905d作为输入来生成第三层级910的特征面907。数据集用于进行上述一系列处理。
数据501是存储在RAM 608中的图像数据,数据502至数据507是存储在ROM 607中的数据集。DMAC 605将数据501至数据507以该顺序依次发送至CNN计算处理单元601。数据501是处理目标图像数据。数据501的头部包含指明目的地的指示符DST=2,以及传输长度LENGTH=图像数据。更具体地,数据501的数据部分(数据主体)经由数据分配单元101被发送到特征面存储单元104。
数据502是第一层级908的权重系数9021a至9021d,并且数据502的头部包含指明目的地的指示符DST=1,以及传输长度LENGTH=权重系数。更具体地,数据502的数据部分经由数据分配单元101被发送到权重系数存储单元103。数据部分包含权重系数9021a至9021d。权重系数9021a至9021d按计算中使用的顺序排列。
数据503是用于生成第一层级908的特征面903a至903d的操作参数,并且数据503的头部包含指明目的地的指示符DST=0,以及传输长度LENGTH=寄存器组。更具体地,数据503的数据部分(操作参数)经由数据分配单元101被发送到控制单元102。操作参数是被设置给操作设置寄存器组的值,以生成图3所示的第一层级908的特征面903a至903d。“水平参照特征面大小”寄存器的设置值是输入层901的水平大小。“垂直参照特征面大小”寄存器的设置值是输入层901的垂直大小。“参照特征面存储目的地指针”寄存器的设置值是特征面存储单元104的存储器的头部地址。操作参数按处理的顺序排列,在本示例性实施例中,处理的顺序是特征面903a至903d的顺序。
数据504和数据505是第二层级909的权重系数9041a至9041d、9042a至9042d、9043a至9043d和9044a至9044d以及用于生成第二层级909的特征面905a至905d的操作参数。权重系数9041a至9041d、9042a至9042d、9043a至9043d和9044a至9044d按计算中使用的顺序排列,即,权重系数9041a至9044a、9041b至9044b、9041c至9044c和9041d至9044d按此顺序排列。操作参数中包含的“水平参照特征面大小”寄存器和“垂直参照特征面大小”寄存器的设置值是第一层级908的特征面903a至903d的水平大小和垂直大小。此外,“参照特征面存储目的地指针”寄存器的设置值是在数据503中指定的计算结果存储目的地指针的地址。
数据506和数据507是第三层级910的权重系数9061至9064,以及用于生成第三层级910的特征面907的操作参数。操作参数中包含的“最终层指定”寄存器的设置值为1。“水平参照特征面大小”寄存器和“垂直参照特征面大小”寄存器的设置值是第二层级909的特征面905a至905d的水平大小和垂直大小,“参照特征面存储目的地指针”寄存器的设置值是数据505中指定的计算结果存储目的地指针的地址。尽管在本示例性实施例中,控制单元102将数据503、数据505和数据507的操作参数的值设置给寄存器组,但是控制单元102可以根据操作参数来计算值并将计算的值设置给寄存器组。
如图5所示,用于使CNN计算处理单元601进行操作的数据集包括处理单位的一对权重系数和操作参数(要生成的寄存器组的设置值)。基于处理目标网络信息和图1所示的硬件构造来确定处理单位。在处理单位的确定中起作用的硬件构造具体是权重系数存储单元103的存储器大小和特征面存储单元104的存储器大小。对处理单位进行确定,使得每单位的处理所需的权重系数的存储器量不超过权重系数存储单元103的存储器大小。此外,对处理单位进行确定,使得每单位的处理所需的特征面的存储器的量不超过特征面存储单元104的存储器大小。换句话说,对处理单位进行确定,使得处理目标可由硬件处理。
存储对层级进行处理所需的权重系数所需的存储器Wl的量和存储特征面所需的存储器Sl的量表示为:
Wl=Wx(l,f,f’)×Wy(l,f,f’)×(Fl×Fl-1),并且
Sl=(IX×IY)×(Fl+Fl-1),其中,
l:生成目标层级编号(1,2,…),
f:生成的特征面编号,
f’:参照特征面编号,
Wx(l,f,f’):水平核大小,
Wy(l,f,f’):垂直核大小,
Ft:生成的特征面的数量,
Ft-1:参照特征面的数量,并且
IX,IY:输入图像大小(水平方向,垂直方向)。
由图7中的配置701指明以层级单位处理图9中所示的网络所需的存储器的量。图9中网络的输入图像大小为32×32。第一层级908的参照特征面的数量为1,并且第一层级908的生成的特征面的数量为4。在核滤波器大小为3×3的情况下,当系数矩阵的每元素的数据为1字节时,用于生成四个特征面的权重系数9021a至9021d的大小为3×3×4=36字节。特征面的数据量为32×32×5=5120字节。
在第二层级909的核滤波器大小为5×5的情况下,类似地将用于生成四个特征面的权重系数9041a至9041d、9042a至9042d、9043a至9043d和9044a至9044d的大小计算为400字节。此外,特征面的数据量为8192字节。在第三层级910的核滤波器大小为7×7的情况下,类似地计算用于生成四个特征面的权重系数9061至9064的大小为196字节,并且特征面的数据量是5120字节。
在本示例性实施例中,权重系数存储单元103的存储器大小为436字节,特征面存储单元104的存储器大小为16千字节。处理各个层级所需的权重系数的存储器的量小于或等于权重系数存储单元103的存储器大小,并且所需的特征面的存储器的量小于或等于特征面存储单元104的存储器大小,使得将层级单位确定为处理单位,并采用图5所示的数据集。下面将描述如何确定处理单位的另一示例。在图9所示的网络的第二层级909的特征面的数量为八的情况下,以层级单位进行处理所需的存储器量如配置702中所指明的。具体地,第二层级909的权重系数的数据量为800字节,特征面的数据量为12288字节。由于数据量超过了权重系数存储单元103的存储器大小,因此不能以层级单位进行处理,使得各个层级通过多次处理来处理。如配置703中所指明的,第二层级909的处理被划分为两个,使得在权重系数存储单元103中的存储成为可能,并且因此有处理1至处理4。有四个数据集。
下面将描述特征面存储单元104是具有8千字节的存储器大小的硬件并且处理由配置702指明的网络的情况作为另一示例。第二层级909的特征面的数据量为12288字节,其超过了特征面存储单元104的存储器大小。在这种情况下,输入图像被划分并被处理多次。在配置704中,将32×32的块划分为两个32×16的块,使得处理单位可存储在特征面存储单元104中。有六个数据集。可选地,可以有三个数据集,各个数据集可以使用两次。此外,如果所有层级的权重系数都是可存储的,则无需二次传输权重系数。如果所有层级的操作参数都是可存储的,则无需二次传输操作参数。
下面将参照图8A、图8B和图8C所示的序列图来描述由图6所示的图像处理系统进行以使用图5所示的数据集处理一页的图像数据的操作。图8A、图8B和图8C例示了由CPU606、DMAC 605、控制单元102、权重系数存储单元103、特征面存储单元104和卷积计算单元105按时间顺序进行的操作及其之间的相互作用。
如果图像输入单元600接收到图像数据,则预处理单元604处理接收到的图像数据并将处理后的图像数据存储在RAM 608中。在步骤S801中,如果完成了一页的图像数据的处理,则向CPU 606通知处理完成。CPU 606指示CNN计算处理单元601进行初始化,并且在步骤S802中,权重系数存储单元103和特征面存储单元104分别用存储器的头部地址来更新权重系数存储单元103和特征面存储单元104的写入指针。在步骤S803中,CPU 606将图像数据501的LENGTH和DST(=2)添加到RAM 608的图像数据区域的前一地址。
之后,将图像数据501的头部地址设置为DMAC 605的数据传输源,将CNN计算处理单元601设置为数据传输目的地,并且将图像数据501的大小设置为传输长度,并且如果激活了DMAC 605,则在步骤S804中,DMAC 605将图像数据501从RAM 608传输到CNN计算处理单元601。在步骤S805中,由于头部的DST为2,因此图8A、图8B和图8C中未示出的数据分配单元101将图像数据501传输到特征面存储单元104,并且特征面存储单元104根据由写入指针指明的存储器的头部地址来存储图像数据501。在所有数据的传输完成之后,DMAC 605向CPU606通知传输完成。
如果CPU 606接收到传输完成的通知,则CPU 606将数据502的头部地址设置为DMAC 605的数据传输源,将CNN计算处理单元601设置为传输目的地,并将数据502至数据507的总大小设置为传输长度。然后,在步骤S806中,如果DMAC 605被激活,则DMAC 605将数据502从ROM 607传输到CNN计算处理单元601。由于头部的DST是1,因此数据分配单元101将数据502传输到权重系数存储单元103。在步骤S807中,如果存储器具有空闲空间,则权重系数存储单元103接收数据502,并根据由存储器的写入指针指明的存储器的头部地址存储权重系数。在步骤S808中,在完成数据502的传输之后,DMAC 605传输数据503。在步骤S809中,由于头部的DST为0,因此数据分配单元101将数据503发送给控制单元102,并且控制单元102将第一层级908的特征面903a至903d的四个寄存器组设置给操作设置寄存器。
由于将值设置给一个或更多个操作设置寄存器组,因此根据图4所示的流程图开始生成特征面的处理。首先,处理用于生成第一层级908的特征面903a的寄存器组。在步骤S401中,控制单元102向权重系数存储单元103、特征面存储单元104和卷积计算单元105发出处理开始指令。权重系数存储单元103、特征面存储单元104和卷积计算单元105参照特征面903a的寄存器组的各个寄存器值。以这种方式,在步骤S810中,将步骤S407至S409重复执行等于“水平滤波器核大小”ד垂直滤波器核大小”ד参照特征面的数量”的次数。
在步骤S811中,参照特征面903a的寄存器组的各个寄存器值,并将步骤S810、S410和S414重复执行等于“水平参照特征面大小”ד垂直参照特征面大小”的次数,第一层级908的特征面903a的生成完成。在完成时,释放存储了处理后的权重系数的存储器区域和寄存器组。在步骤S812中,在完成了数据503的传输之后,DMAC 605与在步骤S811中生成第一层级908的特征面903a的处理并行地传输数据504。
由于头部的DST为1,因此数据分配单元101将数据504发送到权重系数存储单元103。权重系数存储单元103存储包含第一层级908的权重系数9021a至9021d的数据502,并且存储器仍然具有空闲区域,使得在步骤S813中,权重系数存储单元103接收数据504,并且将数据504存储在存储器中。在步骤S814中,在完成了数据504的传输之后,DMAC605传输数据505。由于头部的DST为0,因此数据分配单元101将数据505发送到控制单元102。在步骤S815中,设置第一层级908的四个寄存器组,并且仍然有用于寄存器组的空闲区域,使得控制单元102接收数据505并将第二层级909的特征面905a至905d的四个寄存器组设置给操作设置寄存器。
在步骤S816中,在完成了数据505的传输之后,DMAC 605传输数据506。由于头部的DST是1,因此数据分配单元101将数据506发送到权重系数存储单元103。权重系数存储单元103存储包含第一层级908的权重系数9021a至9021d的数据502和包含第二层级909的权重系数9041a至9041d、9042a至9042d、9043a至9043d以及9044a至9044d的数据504,并且存储器没有空闲区域,使得在步骤S817中,控制两行握手信号,并且不接收数据506。在步骤S818中,在完成了第一层级908的特征面903a的生成且释放存储了处理后的权重系数9021a的存储器区域之后,将数据506存储在权重系数存储单元103中。
在第一层级908的特征面903a的生成完成之后,释放特征面903a的寄存器组。在步骤S809中设置四个寄存器组,并且类似地处理特征面903b至903d的寄存器组。直到作为第一层级908的最后特征面的特征面903d的生成完成时,在步骤S813中已经存储了第二层级909的权重系数9041a至9041d、9042a至9042d、9043a至9043d和9044a至9044d。此外,在步骤S815中已经存储了第二层级909的操作设置寄存器。因此,在步骤S819中,控制单元102立即发出处理开始指令以开始生成第二层级909的特征面905a。
在步骤S820中,在完成数据506的传输之后,DMAC 605传输数据507。由于头部的DST为0,因此数据分配单元101将数据507发送到控制单元102。此时,释放控制单元102的第一层级908的四个寄存器组,而设置第二层级909的四个寄存器组。在步骤S821中,由于存在用于寄存器组的空闲空间,所以控制单元102接收数据507,并将第三层级910的特征面907的一个寄存器组设置给操作设置寄存器。在所有数据502到数据507的传输完成之后,DMAC605向CPU 606通知传输完成。如果CPU 606接收到传输完成的通知,则CPU 606将CNN计算处理单元601设置为DMAC 605的数据传输源,将RAM 608设置为传输目的地,并且将检测处理结果的大小设置为传输长度并激活DMAC 605。
同时,CNN计算处理单元601继续生成特征面,并且在第三层级910的特征面907的生成中,由于“最终层指定”寄存器的值为1,因此卷积计算单元105向外输出检测处理结果。在步骤S822中,DMAC 605将输出的检测处理结果传输到RAM 608。
如上所述,利用根据本示例性实施例的处理装置,当完成层级的特征面的生成时,在权重系数存储单元103中已经存储了处理下一层级所需的权重系数,此外,至少一个下一层级的寄存器组被设置给操作设置寄存器。这减少了在切换层级时数据准备所需的时间,并且可以立即开始计算处理,使得提高了图案识别装置的处理性能。
在要改变处理目标神经网络的情况下,如配置703和704中,确定可由硬件处理装置执行的处理单位,并使用相应的数据集进行操作。
此时,除了由CPU 606设置给DMAC 605的数据集的传输长度不同之外,控制过程与图8A、图8B和图8C所示的控制过程并无不同。
当要改变处理目标神经网络时,根据本示例性实施例的处理装置基于被划分为可由硬件处理装置执行的处理单位的数据集来操作。这使得可以改变神经网络而无需改变神经网络的控制处理器的处理控制。
尽管在上述示例性实施例中将CNN计算处理描述为特征提取处理,但是本发明不限于上述描述处理,还可以应用于诸如感知器等的各种其他类型的层级处理。
尽管在上述示例性实施例中描述了通过硬件执行卷积计算的构造,但是本发明不限于上述构造。本发明还适用于使用通用处理器通过软件完全执行处理的构造。
根据上述示例性实施例,当对一层进行CNN处理的同时,传输下一层级的CNN处理所需的权重系数和操作参数,使得在切换层时的数据传输的时间减少,层级计算处理的处理性能提高。
此外,当要改变处理目标神经网络时,生成被划分为处理单位的操作参数和权重系数的数据集,并且读取并执行所生成的数据集,使得可以改变神经网络而不改变神经网络的控制处理器的处理控制。
其他实施例
还可以通过读出并执行记录在存储介质(也可更完整地称为“非暂时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或更多个程序)以执行上述实施例中的一个或更多个的功能、并且/或者包括用于执行上述实施例中的一个或更多个的功能的一个或更多个电路(例如,专用集成电路(ASIC))的系统或装置的计算机,来实现本发明的实施例,并且,可以利用通过由系统或装置的计算机例如读出并执行来自存储介质的计算机可执行指令以执行上述实施例中的一个或更多个的功能、并且/或者控制一个或更多个电路执行上述实施例中的一个或更多个的功能的方法,来实现本发明的实施例。计算机可以包括一个或更多个处理器(例如,中央处理单元(CPU),微处理单元(MPU)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行计算机可执行指令。计算机可执行指令可以例如从网络或存储介质被提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储器、光盘(诸如压缩光盘(CD)、数字通用光盘(DVD)或蓝光光盘(BD)TM)、闪存设备以及存储卡等中的一个或更多个。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明不限于所公开的示例性实施例。应当对权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。
Claims (20)
1.一种数据处理装置,其被构造为对输入数据执行与神经网络相对应的层级计算处理,所述数据处理装置包括:
存储单元,其被构造为存储多个控制数据集,所述多个控制数据集中的各个用于将与神经网络相对应的层级计算处理划分而成的多个处理单位中的一个;
传输单元,其被构造为从存储单元依次传输所述多个控制数据集;以及
计算处理单元,其被构造为使用由传输单元传输的一个控制数据集来进行与所述一个控制数据集相对应的处理单位的计算处理。
2.根据权利要求1所述的数据处理装置,其中,所述传输单元被构造为在计算处理单元进行一个处理单位的计算处理的同时,传输在下一处理单位的计算处理中使用的控制数据集。
3.根据权利要求1所述的数据处理装置,其中,处理单位是神经网络的层级单位。
4.根据权利要求1所述的数据处理装置,其中,处理单位是神经网络的特征面单位。
5.根据权利要求1所述的数据处理装置,其中,控制数据包含计算处理的权重系数。
6.根据权利要求5所述的数据处理装置,其中,计算处理单元所参照的存储器包括被构造为存储权重系数的权重系数存储区域。
7.根据权利要求6所述的数据处理装置,其中,对处理单位进行确定,使得处理单位的处理所需的权重系数的存储器的量不超过权重系数存储区域的存储器大小。
8.根据权利要求6所述的数据处理装置,其中,所述计算处理单元被构造为与上一处理单位的计算处理的执行并行地将一个处理单位的计算处理中使用的权重系数进行存储。
9.根据权利要求4所述的数据处理装置,其中,计算处理单元被构造为使用权重系数对输入数据进行卷积计算。
10.根据权利要求1所述的数据处理装置,其中,控制数据包含计算处理的操作参数。
11.根据权利要求10所述的数据处理装置,所述数据处理装置还包括控制单元,所述控制单元包括寄存器并被构造为控制计算处理单元,
其中,控制单元被构造为将操作参数设置给寄存器。
12.根据权利要求11所述的数据处理装置,其中,控制单元被构造为与由计算处理单元执行的当前处理单位的计算处理并行地,将下一处理单位的计算处理中使用的操作参数设置给寄存器。
13.根据权利要求10所述的数据处理装置,其中,操作参数包含在处理单位的处理中所要参照的特征面的数量。
14.根据权利要求10所述的数据处理装置,其中,操作参数包含在处理单位的处理中所要参照的特征面的位置和大小。
15.根据权利要求10所述的数据处理装置,其中,操作参数包含在处理单位的处理中使用的核的大小。
16.根据权利要求10所述的数据处理装置,
其中,操作参数指明处理单位的处理是否是神经网络中的最终层的处理,并且
其中,在操作参数指明所述处理是最终层的处理的情况下,计算处理单元被构造为向外输出处理结果。
17.根据权利要求1所述的数据处理装置,其中,对处理单位进行确定,使得用于存储该处理单位的处理所需的特征面的存储器的量不超过计算处理单元所参照的存储器中的特征面存储区域的存储器大小。
18.根据权利要求1所述的数据处理装置,其中,传输单元被构造为传输多个数据集。
19.根据权利要求1所述的数据处理装置,其中,传输单元被构造为基于数据的头部中所包含的目的地和传输长度来传输数据。
20.一种数据处理方法,其对输入数据执行与神经网络相对应的层级计算处理,所述数据处理方法包括:
存储步骤,在存储单元中存储多个控制数据集,所述多个控制数据集中的各个用于将与神经网络相对应的层级计算处理划分而成的多个处理单位中的一个;
传输步骤,从存储单元依次传输所述多个控制数据集;以及
计算处理步骤,使用传输的一个控制数据集来进行与所述传输的一个控制数据集相对应的处理单位的计算处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-036705 | 2019-02-28 | ||
JP2019036705A JP7297468B2 (ja) | 2019-02-28 | 2019-02-28 | データ処理装置及びその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111626914A true CN111626914A (zh) | 2020-09-04 |
CN111626914B CN111626914B (zh) | 2023-10-31 |
Family
ID=69779770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010127920.5A Active CN111626914B (zh) | 2019-02-28 | 2020-02-28 | 执行层级计算处理的数据处理装置及其方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11790225B2 (zh) |
EP (1) | EP3702973A1 (zh) |
JP (1) | JP7297468B2 (zh) |
CN (1) | CN111626914B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112021004853T5 (de) | 2020-11-16 | 2023-07-13 | Hitachi Astemo, Ltd. | Dnn-kontraktionsvorrichtung und bordrechenvorrichtung |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5524175A (en) * | 1992-10-29 | 1996-06-04 | Hitachi, Ltd. | Neuro-computer system for executing a plurality of controlling algorithms |
CN101681450A (zh) * | 2007-06-13 | 2010-03-24 | 佳能株式会社 | 计算处理装置及其控制方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5368687B2 (ja) * | 2007-09-26 | 2013-12-18 | キヤノン株式会社 | 演算処理装置および方法 |
US10049322B2 (en) | 2015-05-21 | 2018-08-14 | Google Llc | Prefetching weights for use in a neural network processor |
JP5816771B1 (ja) * | 2015-06-08 | 2015-11-18 | 株式会社Preferred Networks | 学習装置ユニット |
JP6945986B2 (ja) * | 2016-10-28 | 2021-10-06 | キヤノン株式会社 | 演算回路、その制御方法及びプログラム |
JP6936592B2 (ja) * | 2017-03-03 | 2021-09-15 | キヤノン株式会社 | 演算処理装置およびその制御方法 |
US10402995B2 (en) * | 2017-07-27 | 2019-09-03 | Here Global B.V. | Method, apparatus, and system for real-time object detection using a cursor recurrent neural network |
EP4009183A1 (en) * | 2018-10-18 | 2022-06-08 | Shanghai Cambricon Information Technology Co., Ltd | Network-on-chip data processing method and device |
-
2019
- 2019-02-28 JP JP2019036705A patent/JP7297468B2/ja active Active
-
2020
- 2020-02-20 US US16/796,442 patent/US11790225B2/en active Active
- 2020-02-24 EP EP20159080.9A patent/EP3702973A1/en active Pending
- 2020-02-28 CN CN202010127920.5A patent/CN111626914B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5524175A (en) * | 1992-10-29 | 1996-06-04 | Hitachi, Ltd. | Neuro-computer system for executing a plurality of controlling algorithms |
CN101681450A (zh) * | 2007-06-13 | 2010-03-24 | 佳能株式会社 | 计算处理装置及其控制方法 |
Non-Patent Citations (2)
Title |
---|
ALESSANDRO AIMAR ET AL: "Nullhop: A plexible convolutional neural network accelerator based on sparse representations of feature maps", 《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS》 * |
MAURICE PEEMEN ET AL: "Memory-centric accelerator design for convolutional neural networks", 《2013 IEEE 31ST INTERNATIONAL CONFERENCE ON COMPUTER DESIGN(ICCD)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111626914B (zh) | 2023-10-31 |
JP7297468B2 (ja) | 2023-06-26 |
EP3702973A1 (en) | 2020-09-02 |
US20200279168A1 (en) | 2020-09-03 |
JP2020140546A (ja) | 2020-09-03 |
US11790225B2 (en) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11699067B2 (en) | Arithmetic processing apparatus and control method therefor | |
CN112005251B (zh) | 运算处理装置 | |
CN111984189B (zh) | 神经网络计算装置和数据读取、数据存储方法及相关设备 | |
JP2001101396A (ja) | 画像歪み補正処理装置および方法、並びに画像歪み補正処理を行うプログラムを格納した媒体 | |
CN111626914B (zh) | 执行层级计算处理的数据处理装置及其方法 | |
US11347430B2 (en) | Operation processing apparatus that executes hierarchical calculation, operation processing method, and non-transitory computer-readable storage medium | |
US11704546B2 (en) | Operation processing apparatus that calculates addresses of feature planes in layers of a neutral network and operation processing method | |
CN114090466A (zh) | 一种指令处理装置、方法、计算机设备及存储介质 | |
US11775809B2 (en) | Image processing apparatus, imaging apparatus, image processing method, non-transitory computer-readable storage medium | |
US12050988B2 (en) | Storage device and method of operating the same | |
WO2021179289A1 (zh) | 卷积神经网络的运算方法、装置、设备和存储介质 | |
JP5327482B2 (ja) | 画像処理装置及び画像処理方法 | |
CN110502975B (zh) | 一种行人重识别的批量处理系统 | |
US11341066B2 (en) | Cache for artificial intelligence processor | |
CN111782562B (zh) | 数据传输方法、dma控制器、npu芯片及计算机设备 | |
US11663453B2 (en) | Information processing apparatus and memory control method | |
US20100030978A1 (en) | Memory controller, memory control method, and image processing device | |
US9978424B2 (en) | Image processing apparatus | |
CN111027682A (zh) | 神经网络处理器、电子设备及数据处理方法 | |
JP2017228849A (ja) | 画像処理装置、撮像装置、制御方法及びプログラム | |
JP4835872B2 (ja) | 画像処理装置 | |
US20210182656A1 (en) | Arithmetic processing device | |
CN116756071B (zh) | 数据传输方法、装置、设备、存储介质和计算机程序产品 | |
CN115601436A (zh) | 一种目标姿态参数的确定方法、装置和电子设备 | |
CN115640065A (zh) | 一种数据加载方法、装置、电子设备及存储介质 |
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 |