CN112085155A - 数据处理装置和控制方法 - Google Patents
数据处理装置和控制方法 Download PDFInfo
- Publication number
- CN112085155A CN112085155A CN202010529457.7A CN202010529457A CN112085155A CN 112085155 A CN112085155 A CN 112085155A CN 202010529457 A CN202010529457 A CN 202010529457A CN 112085155 A CN112085155 A CN 112085155A
- Authority
- CN
- China
- Prior art keywords
- processing
- data
- layer
- processors
- processor
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 295
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000004364 calculation method Methods 0.000 claims abstract description 62
- 238000013528 artificial neural network Methods 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims description 88
- 239000000872 buffer Substances 0.000 claims description 16
- 238000003672 processing method Methods 0.000 claims description 3
- 239000010410 layer Substances 0.000 description 201
- 238000011176 pooling Methods 0.000 description 48
- 238000013527 convolutional neural network Methods 0.000 description 28
- 238000001994 activation Methods 0.000 description 27
- 238000001914 filtration Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 20
- 230000004913 activation Effects 0.000 description 16
- 238000013500 data storage Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 8
- 238000011282 treatment Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
Images
Classifications
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开一种数据处理装置和控制方法。提供一种实现与包含多个层的神经网络对应的计算的数据处理装置。处理单元包括多个处理器,该多个处理器通过流水线处理顺序地计算各个块的数据,每个块与一个层中的特征面的一部分对应。控制单元基于所述神经网络的结构信息确定所述块的数据的计算次序,并且向所述多个处理器发送控制所述计算次序的命令。
Description
技术领域
本发明涉及数据处理装置和控制方法,尤其涉及使用神经网络的处理,例如,诸如用于识别对象数据中的特定模式的处理等处理。
背景技术
使用神经网络的计算处理被应用于越来越多的领域。例如,深度学习的进步促使图像识别的精度的提高。卷积神经网络(CNN,Convolutional Neural Networks)通常被用于深度学习。
使用诸如CNN等的神经网络的计算处理包括很多积和运算(product-sumoperation),并且存在有效地实现这样的运算的需求。取决于处理的目的,也存在通过使用由各种方式构成的神经网络来实现操作的需求。因此,需要能够通过使用各种神经网络来有效地实现操作的数据处理装置,从而在诸如移动终端、车载设备等嵌入式系统中使用这样的神经网络。
作为用于使用神经网络来有效地实现操作的配置,日本专利申请特开2017-156941披露了并行地实现如下处理:前一层中的池化处理,以及后一层中的归一化处理所需的统计处理。
发明内容
根据本发明的一实施例,一种实现与包含多个层的神经网络对应的计算的数据处理装置,包括:处理单元,其包括多个处理器,该多个处理器通过流水线处理顺序地计算各个块的数据,每个块与一个层中的特征面的一部分对应;以及控制单元,用于基于所述神经网络的结构信息确定所述块的数据的计算次序,并且向所述多个处理器发送控制所述计算次序的命令。
根据本发明的另一实施例,一种用于实现与包含多个层的神经网络对应的计算的控制方法,包括:用多个处理器进行流水线处理以计算各个块的数据,每个块与一个层中的特征面的一部分对应;基于所述神经网络的结构信息确定所述块的数据的计算次序;以及向所述多个处理器发送控制所述计算次序的命令。
根据下面对示例性实施例的描述(参照附图),本发明的其他特征将变得清楚。
附图说明
图1是例示根据一实施例的数据处理器的示例的框图。
图2是例示根据一实施例的数据处理装置的示例的框图。
图3是例示根据一实施例的由数据处理装置实现的处理的流程图。
图4是例示神经网络的结构的示例的图。
图5是例示根据一实施例的由控制器实现的处理的流程图。
图6是例示根据一实施例的由控制器实现的处理的流程图。
图7是例示根据一实施例的控制命令的生成次序的图。
图8A和8B是例示控制命令的格式及系数保持单元中的数据布置的图。
图9A和9B是例示网络信息及各个处理层的处理参数的图。
图10是例示根据一实施例的流水线处理的时序图。
图11是例示根据一实施例的由控制器实现的处理的流程图。
图12是例示根据一实施例的数据处理器的示例的框图。
图13是例示神经网络的结构的示例的图。
具体实施方式
下面将参照附图详细地描述各实施例。应注意,这些实施例决不意图限制本发明请求保护的范围。这些实施例中描述了很多特征,但是并没有一项发明需要包含所有这些特征的限制,并且这些特征可以任意地组合。进一步地,在附图中,相同或相似的配置将被赋予相同的附图标记,且重复的描述将省略。
日本专利申请特开2017-156941所披露的发明被配置,以便从离输入层侧最近的中间层开始、次序地以中间层经由中间层(intermediate layer-by-intermediate layer)为基础实现计算处理。然而,取决于神经网络的类型,通过改变计算处理中的处理次序,存在可更加有效地使用计算资源或存储资源的情形。
根据本发明的一实施例,不论计算次序如何,都能够有效地实现使用神经网络的计算。
<第一实施例>
根据本发明一实施例的数据处理装置可实现与包括多个层的神经网络对应的计算。图2是例示数据处理装置200的硬件配置的框图,其是根据本发明一实施例的数据处理装置的配置的示例。
将在后面详细描述的数据处理器205包括多个处理器和控制器,并且实现与包括多个层的神经网络对应的计算。图2中所示的数据处理装置200使用数据处理器205以对图像实现与神经网络对应的计算。例如,数据处理器205可通过使用由图像处理器209处理的、存储在RAM208中的图像及使用CNN的网络信息来实现如图5所示的流程图的处理,并且可将处理结果输出至数据存储单元202中。然而,数据处理器205可用于除图像处理以外的应用。换句话说,除数据处理器205以外,图2中所示的配置不是本发明绝对需要的。
输入单元201是接受用户的指示或数据的设备。输入单元201例如可以是键盘、定点设备、按钮等。
数据存储单元202可存储诸如图像数据等数据。数据存储单元202例如可以是硬盘、软盘、CD-ROM、CD-R、DVD、存储卡、CF卡、智能媒体卡(SmartMedia)、SD卡、记忆棒、xD图像卡(xD-Picture Card)、USB存储器等。数据存储单元202可存储程序或其它数据。请注意,RAM208(在后面描述)的一部分可用作数据存储单元202。
通信单元203是用于在设备间进行通信地接口(I/F)。数据处理装置200可经由通信单元203与其它设备交换数据。请注意,数据处理装置200可将经由通信单元203连接的存储设备用作数据存储单元202。
显示单元204是向用户等显示信息的设备。显示单元204例如可显示图像处理前或图像处理后的图像,或可显示诸如GUI等的其它图像。显示单元204例如可以是CRT或液晶显示器。显示单元204可以是通过线缆等连接至数据处理装置200的外部设备。请注意,输入单元201和显示单元204可以是相同的设备,例如,输入单元201和显示单元204可以是触摸屏设备。在这种情况下,触摸屏上的输入对应于输入单元201中的输入。
CPU 206整体地控制数据处理装置200的操作。另外,CPU 206基于由数据处理器205生成的且存储在数据存储单元202中的处理结果实现诸如图像处理或图像识别处理等各种类型的处理。CPU 206可将这些处理结果存储在RAM 208中。
ROM 207和RAM 208向CPU 206提供由CPU 206实现的处理所必需的程序、数据、操作区域等。由CPU 206实现的处理所必需的程序可存储在数据存储单元202或ROM 207中,并且可从数据存储单元202或ROM 207加载到RAM 208中。数据处理装置200可经由通信单元203接收程序。在这种情况下,在程序被第一次记录在数据存储单元202后便可加载到RAM208中,或者可从通信单元203将程序直接加载到RAM208中。无论哪种情况,CPU 206可执行加载到RAM 208中的程序。
图像处理器209可对图像数据实现图像处理。例如,响应于CPU 206的指示,图像处理器209可读出写入到数据存储单元202中的图像数据、调整像素值的范围、并将处理结果写入到RAM 208中。
总线210将上述的单元相互连接以便这些单元可相互地交换数据。
图2所示的数据处理装置200在其内部包括上述的单元。然而,例如包括输入单元201、数据存储单元202和显示单元204的各单元可在符合已知的通信方法的通信路径上相互连接。换句话说,根据一实施例的数据处理装置可由多个物理上相互分开的设备构成。
另外,尽管图2所示的数据处理装置200包括单个的CPU 206,但是装置可包括多个CPU。进一步地,数据处理装置200中的至少一部分单元(例如,数据处理器205和图像处理器209)的功能可由CPU 206操作相应的程序来实现。
数据处理装置200也可包括未在图2中示出的各种构成元素,但这些单元将不在此描述。
图3是例示由数据处理装置200实现的处理的示例的流程图。在步骤S301中,响应于CPU 206的命令,图像处理器209对写入到数据存储单元202中的图像实现图像处理,并将处理结果写入到RAM 208中。
在步骤S302中,响应于CPU 206的命令,数据处理器205对在步骤S301中写入到RAM208中的图像实现CNN计算处理。
在步骤S303中,CPU 206使用在步骤S302中获得的计算结果实现诸如用于识别图像中的物体的处理等的后处理。CPU 206也可将识别结果写入到RAM 208中。例如,CPU 206可在在步骤S301中写入到RAM208中的图像上叠置识别处理的结果。
在步骤S304中,显示单元204显示在步骤S303中实现的识别处理的结果。例如,显示单元204可在显示设备中显示在其上叠置有在步骤S303中实现的识别处理的结果的图像。
<神经网络的结构的示例>
根据本实施例的数据处理装置可实现与各种神经网络对应的计算。下面将描述由数据处理装置使用的神经网络的示例。
属于神经网络的一种的CNN具有多个中间层级联连接的结构。在下文中,对前一层的特征面(特征图像)实现与中间层对应的处理所获得的特征面(特征图像),将被称为中间层的特征面(特征图像)。CNN具有作为中间层的卷积层。例如,图4中所示的CNN具有多个块被连接的结构,一个块具有3个中间层,例如按次序连接的卷积层、激活层和池化层。在下文中,块将被称为“处理层”。图4中所示的CNN是具有4个处理层(处理层0至处理层3)的网络。然而,处理层0对应于输入层,因此处理层0不具有卷积层、激活层和池化层。一个处理层中的特征面通过如下方式获得:对前一处理层的特征面实现与卷积层对应的处理、对从卷积层处理所获得的特征面实现与激活层对应的处理、以及对从激活层处理所获得的特征面实现与池化层对应的处理。
与卷积层对应的处理相当于对特征面的过滤处理。换句话说,卷积层的特征面通过使用前一层的特征面的像素值和过滤系数来实现过滤处理而得到。过滤系数例如可通过学习确定。过滤处理是积和运算(卷积运算),包括多个乘法运算和累积加法运算。
卷积层的特征面(Oi,j(n))可通过下面的公式、使用前一层的特征面(Ii,j(m))和与卷积层对应的过滤系数(C0,0(m,n)to CX-1,Y-1(m,n))来计算。
在上面的公式中,i和j表示特征面中的坐标。n表示卷积层中特征面的编号。m是前一层中特征面的编号,并且在前一层中有M个特征面。这样,前一层中的多个特征面可用于计算卷积层中的单个的特征面。此外,为了计算第nth个特征面,在第mth个特征面上应用的过滤系数(C0,0(m,n)~CX-1,Y-1(m,n))的个数是X×Y个,并且不同的特征面个数不同。此处,在坐标(i,j)处,用于计算卷积层中的特征面(Oi,j(n))的值的积和运算的次数是M×X×Y次。
与激活层对应的处理是对前一层的特征面(例如,卷积层中的积和运算结果Oi,j(n))实现的激活处理。诸如使用双弯曲函数(Sigmoid函数)和整流线性单元函数(ReLu函数)的处理等的用于CNN领域的处理可用作激活处理。
与池化层对应的处理是对前一层(例如,激活层)的特征面实现的池化处理。用于CNN领域的处理可用作池化处理。在本实施例中,2×2最大、最小或平均过滤处理和随后的2×2步幅处理被实现作为池化处理。然而,是否有池化层由各处理层确定。换句话说,包括池化层的处理层和不包括池化层的处理层可混合存在。
将进一步详细地描述图4中所示的处理层1~3中实现的处理。在处理层1中,实现如下处理:使用特征面401和过滤系数的、具有核大小为3×3的过滤处理,使用Sigmoid函数的激活处理以及使用平均过滤的池化处理。生成的结果是处理层1的特征面402。在处理层2中,实现如下处理:使用特征面402和过滤系数的、具有核大小为5×5的过滤处理以及使用ReLu函数的激活处理。生成的结果是处理层2的特征面403。在处理层3中,实现如下处理:使用特征面403和过滤系数的、具有核大小为1×1的过滤处理,使用ReLu函数的激活处理以及使用最大过滤的池化处理。生成的结果是处理层3的特征面404。
特征面401是具有大小为24×16的三幅(RGB信道)输入图像。特征面402是具有大小为12×8的四幅特征面。特征面403是具有大小为12×8的七幅特征面。特征面404是具有大小为6×4的七幅特征面。特征面404是图4所示的CNN的输出结果。
用于限定根据CNN实现的处理的此种信息(例如,指示CNN的结构的信息)可事先地创建。在本实施例中,此种信息存储在RAM 208中。指示CNN的结构的信息例如包括指示输入层中的特征面(输入图像)的大小的信息、指示在处理层1~3中的卷积层中使用的过滤器的核大小的信息以及指示在处理层1~3中的特征面的个数的信息。此外,指示CNN的结构的信息可包括指示在处理层1~3中的激活层中应用的激活函数的类型的信息以及指示在处理层1~3中是否有池化层和池化层的类型的信息。
数据处理器205的配置
下面将参照图1描述数据处理器205的配置。数据处理器205包括作为多个处理器的扩展处理器103、计算处理器104、激活处理器105和池化处理器106。多个处理器通过流水线处理顺序地计算与单个层中的特征面的一部分对应的各个块的数据。各处理器可通过重复计算块的数据来计算特征面。下文中,“块”可被称为“瓦片(tile)”。在下面的示例中,单个瓦片的大小是特征面的宽×2行。
扩展处理器103可获得过滤系数并向计算处理器104传送过滤系数。扩展处理器103可获得关于与控制命令(将在后面描述)对应的块的过滤系数。例如,扩展处理器103可通过如下方式来获得关于块的过滤系数:基于控制命令中包括的处理层编号、从系数保持单元107中读出游程编码系数值(run-length coded coefficient value),以及对系数值解码。此外,扩展处理器103可基于控制命令中包括的处理层编号、从参数保持单元102中读出指示关于块的核大小和特征面数的信息,并可基于该信息获得过滤系数。
计算处理器104通过使用从扩展处理器103传送过来的过滤系数,按照逐个瓦片(tile-by-tile)的原则,对前一处理层的特征面实现过滤处理。然后,计算处理器104向激活处理器105输出特征面的数据,其是过滤处理的结果。计算处理器104可从特征量保持单元108获得用于计算在控制命令(将在后面描述)中指示的块的数据的、前一处理层中的特征面。请注意,在处理处理层1时,计算处理器104可从RAM 208获得输入图像。此外,计算处理器104可基于控制命令中包括的处理层编号、从参数保持单元102读出指示过滤处理的核大小的信息,并可基于该信息实现过滤处理。请注意,为了确保在过滤处理前后、特征面的大小保持相同,计算处理器104可在加载的特征面的周围添加空白边缘。
激活处理器105对从计算处理器104传送过来的特征面实现激活处理。然后,激活处理器105向池化处理器106输出特征面的数据,其激活处理的结果。激活处理器105可获得指定关于与控制命令(将在后面描述)对应的块的激活处理的信息。例如,激活处理器105可基于在控制命令中包括的处理层编号、获得存储在参数保持单元102中的指示使用激活函数的信息,并且可根据获得的信息实现激活处理。
池化处理器106对从激活处理器105传送过来的特征面实现池化处理。池化处理器106可获得指定关于与控制命令(将在后面描述)对应的块的池化处理的信息。例如,池化处理器106可基于控制命令中包括的处理层编号、获得存储在参数保持单元102中的指示是否使用池化处理及池化处理方法的信息。然后,池化处理器106可根据获得的信息实现池化处理。池化处理器106将池化处理结果存储到特征量保持单元108中。此处,池化处理器106可将如下结果存储到特征量保持单元108中:在未实现池化处理的情况下关于一个瓦片的处理结果(2行),以及在实现池化处理的情况下通过池化一个瓦片的结果所获得的结果(1行)。
此外,在控制命令指示块是最后处理层中的最后的瓦片的情况下,池化处理器106可向控制器101发送处理完成通知。进一步地,在完成关于单个的瓦片(或单个的控制命令)的处理的情况下,池化处理器106可向控制器101发送指示处理完成的通知。
处理器103~106可具有保持接收到的控制命令的缓冲器。这样的缓冲器可补偿处理器103~106的处理的延迟。缓冲器可被配置为可保持两个或更多个控制命令。
此外,可在多个处理器中的第一处理器和第二处理器之间提供缓冲器,该缓冲器暂时地存储从第一处理器传送至第二处理器的处理结果。例如,计算处理器104可具有保持扩展处理器103的输出的缓冲器,激活处理器105可具有保持计算处理器104的输出的缓冲器,以及池化处理器106可具有激活处理器105的输出的缓冲器。提供这样的缓冲器使得处理器103~106可独立地根据下一个控制命令开始处理,而无须等待前后处理器的处理的完成。
数据处理器205进一步包括控制器101。控制器101基于神经网络的结构信息确定块的数据的计算次序,并向多个处理器发送控制计算次序的控制命令。如将在下面描述的,控制器101可基于CNN网络信息,通过发布控制命令来控制多个处理器。控制器101可整体地控制数据处理器205。
如图1中所示的示例,控制器101向多个处理器同时发送相同的控制命令。在图1中,控制器101直接连接处理器103~106,并且可向处理器103~106发送控制命令而无须经过其它的控制器。另一方面,接收控制命令的处理器103可向处理器104~106传送该控制命令。控制器101可使用这样的配置向多个处理器发送控制命令。
数据处理器205可进一步包括参数保持单元102、系数保持单元107和特征量保持单元108。然而,这些处理器的功能可由诸如RAM 208等的存储器实施。
参数保持单元102可保持由控制器101和处理器103~106共享的参数,并且例如可以是RAM。参数保持单元102可保持指示由关于块的多个处理器使用的处理方法的处理参数。过滤处理的核大小、由过滤处理生成的特征面数、激活处理的类型、是否实现池化处理以及池化处理的类型等可以作为处理参数的示例。参数保持单元102例如可按照逐个处理层(process layer-by-process layer)的原则保持这样的关于各个块的处理参数。如上所述,控制命令可包括指定这种处理参数的信息,例如处理层编号。处理器103~106可根据指示在参数保持单元102中处理参数的存储位置的信息(诸如处理层编号等)、从参数保持单元102获得处理参数,并且可根据处理参数实现处理。
系数保持单元107可保持在各处理层中使用的过滤系数,并且例如可以是RAM。为了减少数据量,过滤系数可以是游程编码。如上所述,扩展处理器103可根据处理层编号获得保持在系数保持单元107中的过滤系数。从而,过滤系数可以处理层为单位进行编码。例如,如图8B所示,系数保持单元107可与处理层编号相对应地保持过滤系数。在本实施例中,可由CPU 206事先地向系数保持单元107写入过滤系数。换句话说,系数保持单元107可以是保持由数据处理器205使用的过滤系数的缓冲器,并且CPU 206可从诸如数据存储单元202等的存储器中读出处理所需的过滤系数,并将这些过滤系数写入到系数保持单元107中。
特征量保持单元108可存储各处理层的特征面的一部分或全部,并且例如可以是RAM。这些特征面是与CNN对应的计算的中间数据。此外,特征量保持单元108也可存储处理层3的特征面(输出层的特征面),其是CNN的最后输出。请注意,系数保持单元107和特征量保持单元108可由相同的存储器(例如,RAM)实现。
控制器101的处理
下面将参照图5描述由控制器101实现的处理的示例。在步骤S501中,控制器101读出存储在RAM 208中的网络信息,并基于网络信息计算各处理层的处理参数。控制器101将计算得到的处理参数存储在参数保持单元102中。
图9A示例性示出指示图4中所示的CNN的配置的网络信息的示例。在图9A中,在右列示出的数值指示关于图4中所示的CNN的参数值。1001指示处理层数,关于图4中所示的CNN为4。1002指示输入图像的宽和高,关于图4中所示的CNN分别为24和16。1003~1006指示关于处理层0~3中的每一个的特征面的个数、核大小、激活函数的类型以及池化的类型。然而,由于处理层0是输入层,除特征面的个数以外的信息为未引用的虚拟信息。
图9B示例性示出基于图9A中示出的网络信息、在步骤S501中生成的处理参数的示例。1101是处理层数,并且与1001具有相同的值。1102~1105指示关于处理层0~3中的每一个的特征面的宽和高、特征面的个数、瓦片数、核大小、激活函数的类型以及池化的类型。关于各处理层的特征面的宽和高可由控制器101基于输入图像的宽和高(1002)以及关于各处理层的池化的类型来计算得到。此外,关于各处理层的瓦片数可由控制器101基于特征面的宽和高以及池化的类型来计算得到。
在步骤S502中,控制器101发布控制命令。控制器101可基于网络信息(图9A)以及关于各处理层的处理参数(图9B)生成控制命令。然后,控制器101可向扩展处理器103、计算处理器104、激活处理器105以及池化处理器106发送生成的控制命令。
在步骤S503中,控制器101待机直至接收到步骤S502发送的关于最后的控制命令的结束通知。例如,控制器101待机直至接收到向池化处理器106发送的关于最后的控制命令的结束通知。接收到关于最后的控制命令的结束通知意味着已完成与CNN对应的计算。在这种情况下,控制器101可向CPU 206通知中断。
下面将参照图6中的流程图描述步骤S502中实现的发布控制命令的详细的处理示例。下面描述在与图4中所示的CNN对应的处理中所实现的、具体的操作示例。在图6所示的程序中,越靠近输出层(处理层3)的处理层被尽可能地优先处理。换句话说,在已计算出用于计算靠近输出层的处理层的瓦片的数据的、前一处理层的瓦片的数据的情况下,将优先计算靠近输出层的处理层的瓦片的数据。控制器101生成控制命令以便根据这样的计算次序计算瓦片的数据。
如日本专利申请特开2018-147182中所述,采用这样的计算次序可减少保持在特征量保持单元108中的中间数据的量(除输出层以外的、处理层1~2中的特征面)。例如,保持在特征量保持单元108中的、但在后面的处理中不被使用的中间数据可被新生成的中间数据覆盖,这将使得特征量保持单元108的存储大小减小。
在步骤S601中,控制器101初始化控制信息。例如,控制器101可将指示当前正在处理的处理层的处理层编号设置为处理层1的编号(1)。下文中,将由该处理层编号指示的处理层称为“当前处理层”。此外,控制器内101可将关于各处理层的已生成的瓦片数设置为0。
在步骤S602~S607中,控制器101生成及发送所有处理层(处理层1~3)中关于所有瓦片的控制命令。首先,在步骤S602中,控制器101判断当前处理层中是否存在可处理的瓦片。在可处理的瓦片存在的情况下,程序移至步骤S603,否则,程序移至步骤S607。
在当前处理层中的瓦片(2行)的数据可通过对当前处理层之前的处理层(下文称为“前一处理层”)中的特征面实现核大小为K(K×K)的过滤处理来计算得到的情况下,该瓦片是可处理的瓦片。换句话说,在已全部计算出用于计算当前处理层中的瓦片的数据的、前一处理层中的瓦片的情况下,该瓦片是可处理的瓦片。例如,在已计算出前一处理层中从第N-(K-1)/2行至第N+1+(K-1)/2行中的特征量的情况下,包括在当前处理层中第N至N+1行中的瓦片是可处理的瓦片。在该示例中,当前处理层为处理层1,并且属于前一处理层的处理层0(输入层)的特征面(输入图像)可被引用,从而可作出“是”的判断。
在步骤S603中,控制器101向处理器103~106发布指示对当前处理层中的、在步骤S602中发现的可处理的瓦片进行处理的控制命令。控制命令可包括指示要进行数据计算的块的信息。图8A示例性示出控制命令的格式的示例。如图8A所示,控制命令可包括要处理的处理层的编号和要处理的瓦片的编号,从而可指定要进行特征面数据计算的瓦片。
其次,在步骤S604中,控制器101在当前处理层的已生成的瓦片数上加1。
其次,在步骤S605中,控制器101判断是否已发送指示对最后处理层中的所有瓦片进行处理的控制命令。该判断可通过参照关于最后处理层的已生成的瓦片数和关于最后处理层的处理参数(例如,图9B)作出。在控制命令已发送的情况下,图6中的程序结束。在控制命令未被发送的情况下,程序移至步骤S606。在该示例中,只有处理层1的瓦片0被处理。从而作出“否”的判断,并且程序移至步骤S606。
在步骤S606中,控制器101在处理层编号上加1。在该示例中,处理层编号变为2,从而当前处理层变为处理层2。然后程序返回至步骤S602。在该示例中,只要程序返回至步骤S602,控制器101将判断当前处理层(处理层2)中是否存在可处理的瓦片。处理层1中的特征面中的行0至行3的数据被需要以处理处理层2的瓦片0。然而,此时,只生成了行0和行1的数据。从而作出“否”的判断,并且程序移至步骤S607。
在步骤S607中,控制器101在处理层编号上减1。然后,程序返回至步骤S602,并且实现关于前一处理层的处理。
在重复上述处理时,按照图7所示出的次序生成和发送指示要处理的各瓦片的控制命令。图7示出处理层0~3的特征面701~704和瓦片的计算次序。在图7中,“瓦片t kth”表示处理层中的第t个瓦片按次序生成第k个。请注意,标记为“虚拟的”的位置705表示为实现过滤处理增加空白行。只要生成和发送处理处理层3的瓦片3的控制命令,之后的步骤S605将立即作出“是”的判断,并且结束控制命令的生成和发送处理。
图10是由图1中所示的数据处理器205实现的、指示与图4中所示的CNN对应的处理的流水线处理的时序图。在图10中,L[k]T[t]表示正在处理处理层k中的瓦片t。取决于参数,例如取决于处理层,各处理的处理时间不同。
在该示例中,处理器(103~106)中的每一个具有存储4个控制命令的缓冲器。从而,替代每次处理器(103~106)中的每一个的处理完成时发布控制命令,控制器101可事先发布4个控制命令。换句话说,控制器101向多个处理器中的至少一个处理器异步地发送与该至少一个处理器的操作相关的控制命令。根据这样的配置,可简化控制器101的配置。例如,独立于扩展处理器103的操作,控制器101向处理器(103~106)依次地发布用于开始L[1]T[0]、L[1]T[1]、L[1]T[2]及L[1]T[3]的处理的控制命令。
请注意,在发布4个控制命令后,在步骤S603中,控制器101在待机直至未被处理的控制命令的个数变为3或更少后,可发布新的控制命令。在图10所示的示例中,在池化处理器106完成L[1]T[0]的处理时,控制器101向处理器(103~106)发布控制命令以开始L[2]T[0]的处理。
如图10所示,处理器(103~106)可通过流水线处理对不同的瓦片进行并行地处理。进一步地,多个处理器中的每一个可开始对这些瓦片进行彼此间异步地处理。请注意,在图10所示的示例中,如1201~1203所指示的,在前一处理层的池化处理完成后,计算处理器104开始对下一处理层进行处理。然而,即使处理层以这种方式改变,在池化处理器106对前一处理层实现池化处理前,扩展处理器103可获得下一处理层的过滤系数。因此,在前一处理层的池化处理完成后,计算处理器104立即对下一处理层开始处理。
将参照图11中的流程图描述步骤S502中实现的处理的另一详细示例。在图11所示的程序中,越靠近输入层(处理层0)的处理层被优先处理。如日本专利申请特开2018-147182中所述,采用这样的计算次序可减少保持在系数保持单元107中的过滤系数数据的量。例如,保持在系数保持单元107中的、关于已处理的处理层的过滤系数数据可被关于后面将要处理的处理层的过滤系数数据覆盖,从而可减小系数保持单元107的存储大小。
步骤S1301的处理与步骤S601的相同。同样地,步骤S1302和步骤S1303的处理与步骤S603和步骤S604的相同。
在步骤S1304中,控制器101判断是否已发送指示对当前处理层中的所有瓦片进行处理的控制命令。在控制命令已发送的情况下,程序移至步骤S1305。在控制命令未被发送的情况下,程序将返回至步骤S1302,并且重复步骤S1302~S1304的处理直至已发送关于当前处理层中的所有瓦片的控制命令。
在步骤S1305中,控制器101判断当前处理层是否是最后处理层。在当前处理层是最后处理层的情况下,图11的程序结束。然而,在当前处理层不是最后处理层的情况下,程序移至步骤S1306。步骤S1306的处理以与步骤S606相同的方式实现。然后程序返回至步骤S1302,并且重复步骤S1302~S1306的处理直至已发送关于所有处理层中的所有瓦片的控制命令。
只要控制器101根据图11中的程序发布控制命令,数据处理器205将按次序处理处理层1的瓦片0至瓦片7、处理层2的瓦片0至瓦片3以及处理层3的瓦片0至瓦片3。
如上所述,在实现与神经网络对应的计算时,不管层或层内的瓦片的处理次序,根据本实施例的数据处理装置很大程度上可有效地实现计算。例如,根据本实施例的数据处理装置可灵活地对与具有各种配置的神经网络对应的计算进行处理。此外,根据一实施例的数据处理装置可按照逐个区域(region-by-region)的原则实现跨越多个处理层的处理,并且可按照逐个处理层的原则实现处理。
参照图6和图11所述,层或层内的瓦片的处理次序可通过从2种或多种确定方法中所选择的方法来确定。如日本专利申请特开2018-147182中所述,可通过根据神经网络切换处理次序来控制保持在系数保持单元107中的过滤系数数据的大小和保持在特征量保持单元108中的中间数据。因此,控制器101可根据系数保持单元107的容量或特征量保持单元108的容量来确定瓦片的处理次序,以便可保持过滤系数数据或中间数据。此外,可通过根据神经网络切换处理次序来控制过滤系数数据和中间数据的总的大小。从而,控制器101可确定瓦片的处理次序以便减小过滤系数数据和中间数据的总的大小。
<第二实施例>
根据第二实施例的数据处理装置包括第一多个处理器和第二多个处理器。第一多个处理器顺序地计算神经网络的第一部分结构的特征面的数据,且第二多个处理器顺序地计算神经网络的第二部分结构的特征面的数据。此处,第二部分结构不同于第一部分结构。例如,第一部分结构的侧输出(side output)可被输入至第二部分结构。利用这样的配置,第二部分结构可实现侧输出计算。
作为根据第二实施例的数据处理装置的示例,将描述实现与侧输出类型神经网络(side output-type neural network)对应的计算的数据处理装置。该数据处理装置的配置和处理与图2和图3中示出的、根据第一实施例的数据处理装置的配置和处理相同,因此下面仅描述与第一实施例不同的部分。
图13示例性示出由数据处理装置使用的侧输出类型CNN的示例。特征面401~404与图4中的相同。特征面1505和1506是分别对特征面401和403实现过滤处理和激活处理后得到的,并且也通过图4所示的处理而生成得到。
特征面1507~1511表示侧输出。特征面1505用作处理层1的侧输出。特征面1509具有24×16大小的2个特征面,其通过对特征面1505实现1×1核的过滤处理而生成得到。特征面1507是处理层2的侧输出,并且是通过放大特征面403而获得的、具有24×16大小的特征面。通过对特征面1507实现1×1核的卷积运算,并且将该运算结果叠加到特征面1508上来获得特征面1510。特征面1508是处理层3的侧输出,并且是通过放大特征面1506而获得的、具有24×16大小的特征面。通过对特征面1508实现1×1核的卷积运算,并且将该运算结果叠加到特征面1510上来获得特征面1511。特征面1511是侧输出计算的最后输出。
在本实施例中,可使用指示如图13中所示的CNN的配置的网络信息。除了如第一实施例中所描述的相同的信息外,该网络信息还可包括指示是否存在侧输出、侧输出的特征面的大小等的侧输出网络的配置的信息。该网络信息可以以与第一实施例相同的方式存储在RAM 208中。
图12示例性示出根据本实施例的数据处理器205的配置。扩展处理器103、计算处理器104、激活处理器105、池化处理器106、系数保持单元107和特征量保持单元108的配置与第一实施例的相同。除了附加地向用于侧输出计算的处理器(1409~1412)发送控制命令以及从叠加处理器1412接收处理完成通知之外,控制器101与第一实施例的相同。此外,除了保持用于侧输出计算的处理参数之外,参数保持单元102与第一实施例的相同。
放大处理器1409、扩展处理器1410、计算处理器1411和叠加处理器1412是用于侧输出计算的处理器。如同第一实施例,为了补偿处理中的延迟,处理器1409~1412可具有保持接收到的控制命令的缓冲器。此外,如同第一实施例,用于保持前一单元的输出的缓冲器可在处理器1409~1412之间提供。系数保持单元1413像系数保持单元107一样,是保持用于侧输出计算的过滤系数的存储器。此外,特征量保持单元1414像特征量保持单元108一样,是保持由侧输出计算而获得的中间数据和最后输出的存储器。
放大处理器1409放大由激活处理器105传送特征面,并向计算处理器1411输出放大的特征面。放大处理器1409可将所传送的特征面放大到与侧输出特征面相同的大小。另一方面,如图13中所示的处理层1,在激活处理后(post-activation process)的特征面与侧输出特征面的大小相同的情况下,放大处理器1409可照原有的样子(as-is)输出所传送的特征面。放大处理器1409可按任意期望的放大率来放大或缩小特征面。具有这样配置的数据处理器205可计算具有各种大小的侧输出。
扩展处理器1410和计算处理器1411可实现与扩展处理器103和计算处理器104相同的计算。换句话说,计算处理器1411通过使用从扩展处理器1410传送过来的过滤系数,按照逐个瓦片的原则,对从放大处理器1409传送过来的特征面实现过滤处理。计算处理器1411将所获得的计算结果传送至叠加处理器1412。叠加处理器1412按照逐个瓦片的原则,将计算处理器1411所传送的特征面叠加到从特征量保持单元1414读出的特征面上,并将结果存储在特征量保持单元1414中。因此,叠加处理器1412可将当前处理层的侧输出叠加到前一处理层的侧输出上。此外,在控制命令指示将要处理的瓦片是最后处理层的最后的瓦片的情况下,叠加处理器1412可向控制器101发送处理完成通知。进一步地,在完成关于单个的瓦片(或单个的控制命令)的处理时,叠加处理器1412可向控制器101发送指示处理完成的通知。
下面将描述根据第二实施例的由控制器101实现的处理。除了步骤S503、S603和S1302之外,控制器101的处理与第一实施例的相同。换句话说,在步骤S603和S1302中,除了处理器(103~106),控制器101也向处理器(1409~1412)发送控制命令。此外,在步骤S503中,控制器101待机直至既从池化处理器106又从叠加处理器1412接收到关于最后的控制命令的结束通知。
控制器101可基于神经网络的结构信息,在是否向第二多个处理器(1409~1412)发送控制命令之间切换。例如,根据第二实施例的数据处理器205包括根据第一实施例的数据处理器205的功能。从而,根据第二实施例的数据处理器205可灵活地处理不具有侧输出的网络(图4)和具有侧输出的网络(图13)两者。例如,控制器101可基于是否存在源自神经网络的侧输出来切换控制。换句话说,在不存在侧输出的情况下,控制器101可通过以与第一实施例相同的方式向处理器(103~106)发送控制命令来控制计算。另一方面,在存在侧输出的情况下,控制器101可通过如同本实施例那样向处理器(103~106和1409~1412)发送控制命令来控制计算。
请注意,在第一和第二实施例中,为了减少控制器101和各处理器之间的配线的数量,控制器101和多个处理器可经由数据总线连接。在这种情况下,控制器101可在数据总线上向多个处理器发送控制命令。
其它实施例子
一些实施例还可以通过读出并执行记录在存储介质(也可以被更完整地称为“非瞬态计算机可读存储介质”)上的计算机可执行指令(例如,一个或多个程序)以执行上述(一个或多个)实施例中的一个或多个实施例的功能和/或包括用于执行上述(一个或多个)实施例中的一个或多个实施例的功能一个或多个电路(例如,专用集成电路(ASIC))的系统或装置的计算机来实现,以及通过由系统或装置的计算机通过例如从存储介质读出并执行计算机可执行指令以执行上述(一个或多个)实施例中的一个或多个实施例的功能和/或控制一个或多个电路执行上述(一个或多个)实施例中的一个或多个实施例的功能而执行的方法来实现。计算机可以包括一个或多个处理器(例如,中央处理单元(CPU)、微处理单元(MPU)),并且可以包括单独计算机或单独处理器的网络,以读出并执行计算机可执行指令。计算机可执行指令可以例如从网络或存储介质提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储装置、光盘(诸如紧凑盘(CD)、数字多功能盘(DVD)或蓝光盘(BD)TM)、闪存设备、存储卡等中的一个或多个。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以便涵盖所有这些变型例以及等同的结构和功能。
Claims (17)
1.一种实现与包含多个层的神经网络对应的计算的数据处理装置,包括:
处理单元,其包括多个处理器,该多个处理器通过流水线处理顺序地计算各个块的数据,每个块与一个层中的特征面的一部分对应;以及
控制单元,用于基于所述神经网络的结构信息确定所述块的数据的计算次序,并且向所述多个处理器发送控制所述计算次序的命令。
2.根据权利要求1所述的数据处理装置,
其中,所述命令包括指示将要为其计算数据的块的信息。
3.根据权利要求2所述的数据处理装置,
其中,所述命令进一步包括指定处理参数的信息,该处理参数指示针对所述块的、由所述多个处理器使用的处理方法。
4.根据权利要求3所述的数据处理装置,
其中,所述指定处理参数的信息包括指定所述神经网络中将要处理的层的信息。
5.根据权利要求1所述的数据处理装置,
其中,所述多个处理器中的每一个具有能够保持两个或更多个所述命令的缓冲器。
6.根据权利要求1所述的数据处理装置,
其中,所述控制单元同时向所述多个处理器中的每一个发送所述命令。
7.根据权利要求1所述的数据处理装置,
其中,所述控制单元与所述多个处理器中的至少一个处理器的操作异步地向该至少一个处理器发送命令。
8.根据权利要求1所述的数据处理装置,
其中,控制单元在总线上向所述多个处理器发送所述命令。
9.根据权利要求1所述的数据处理装置,
其中,所述多个处理器中的每一个彼此异步地开始各个块的处理。
10.根据权利要求1至8中任意一项所述的数据处理装置,进一步包括:
缓冲器,其在所述多个处理器中的第一处理器和第二处理器之间提供,所述第一处理器的处理结果被传送至所述第二处理器,所述缓冲器暂时地存储所述处理结果。
11.根据权利要求1至8中任意一项所述的数据处理装置,
其中,所述神经网络包含多个处理层,并且所述块是所述多个处理层中的一个处理层。
12.根据权利要求11所述的数据处理装置,
其中,所述多个处理层中的一个处理层具有多个包括至少一个卷积层的中间层。
13.根据权利要求11所述的数据处理装置,
其中,所述控制单元在所述多个处理层的可处理的数据中,通过优先处理离输出层最近的处理层的数据来进一步确定所述计算次序。
14.根据权利要求1至8中任意一项所述的数据处理装置,
其中,所述处理单元是第一处理单元,以及
所述装置进一步包括:
第二处理单元,其包括多个处理器,该多个处理器通过流水线处理顺序地计算各个块的数据,每个块与一个层中的特征面的一部分对应,
其中,所述第一处理单元进一步顺序地计算所述神经网络的第一部分结构中的特征面的数据,以及
所述第二处理单元进一步顺序地计算所述神经网络的第二部分结构中的特征面的数据,所述第二部分结构不同于所述第一部分结构。
15.根据权利要求14所述的数据处理装置,
其中,所述第一部分结构的侧输出被输入至所述第二部分结构。
16.根据权利要求1至8中任意一项所述的数据处理装置,
其中,所述处理单元是第一处理单元,以及
所述装置进一步包括:
第二处理单元,其包括多个处理器,该多个处理器通过流水线处理顺序地计算各个块的数据,每个块与一个层中的特征面的一部分对应,
其中,所述控制单元进一步基于所述神经网络的结构信息,切换是否向所述第二处理单元发送所述命令。
17.一种用于实现与包含多个层的神经网络对应的计算的控制方法,包括:
用多个处理器进行流水线处理以计算各个块的数据,每个块与一个层中的特征面的一部分对应;
基于所述神经网络的结构信息确定所述块的数据的计算次序;以及
向所述多个处理器发送控制所述计算次序的命令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019110520A JP2020201883A (ja) | 2019-06-13 | 2019-06-13 | データ処理装置及びその制御方法 |
JP2019-110520 | 2019-06-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112085155A true CN112085155A (zh) | 2020-12-15 |
Family
ID=73735599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010529457.7A Pending CN112085155A (zh) | 2019-06-13 | 2020-06-11 | 数据处理装置和控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11636321B2 (zh) |
JP (1) | JP2020201883A (zh) |
KR (1) | KR20200143274A (zh) |
CN (1) | CN112085155A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020201883A (ja) * | 2019-06-13 | 2020-12-17 | キヤノン株式会社 | データ処理装置及びその制御方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101809597A (zh) * | 2007-09-26 | 2010-08-18 | 佳能株式会社 | 计算处理装置及方法 |
US20180253641A1 (en) * | 2017-03-03 | 2018-09-06 | Canon Kabushiki Kaisha | Arithmetic processing apparatus and control method therefor |
US20190102640A1 (en) * | 2017-09-29 | 2019-04-04 | Infineon Technologies Ag | Accelerating convolutional neural network computation throughput |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2679738B2 (ja) * | 1989-03-01 | 1997-11-19 | 富士通株式会社 | ニューロコンピュータにおける学習処理方式 |
US7539549B1 (en) * | 1999-09-28 | 2009-05-26 | Rockwell Automation Technologies, Inc. | Motorized system integrated control and diagnostics using vibration, pressure, temperature, speed, and/or current analysis |
US8532360B2 (en) * | 2010-04-20 | 2013-09-10 | Atheropoint Llc | Imaging based symptomatic classification using a combination of trace transform, fuzzy technique and multitude of features |
US9072100B2 (en) * | 2011-07-20 | 2015-06-30 | Cisco Technology, Inc. | Sub-slotting to improve packet success rate in carrier sense multiple access networks |
JP6561877B2 (ja) | 2016-03-01 | 2019-08-21 | 株式会社デンソー | 演算処理装置 |
US11327475B2 (en) * | 2016-05-09 | 2022-05-10 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for intelligent collection and analysis of vehicle data |
JP7345262B2 (ja) | 2019-03-11 | 2023-09-15 | キヤノン株式会社 | データ圧縮装置、データ処理装置、データ圧縮方法、プログラム、及び学習済みモデル |
JP2020201883A (ja) * | 2019-06-13 | 2020-12-17 | キヤノン株式会社 | データ処理装置及びその制御方法 |
-
2019
- 2019-06-13 JP JP2019110520A patent/JP2020201883A/ja active Pending
-
2020
- 2020-06-02 US US16/890,183 patent/US11636321B2/en active Active
- 2020-06-10 KR KR1020200070009A patent/KR20200143274A/ko unknown
- 2020-06-11 CN CN202010529457.7A patent/CN112085155A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101809597A (zh) * | 2007-09-26 | 2010-08-18 | 佳能株式会社 | 计算处理装置及方法 |
US20180253641A1 (en) * | 2017-03-03 | 2018-09-06 | Canon Kabushiki Kaisha | Arithmetic processing apparatus and control method therefor |
US20190102640A1 (en) * | 2017-09-29 | 2019-04-04 | Infineon Technologies Ag | Accelerating convolutional neural network computation throughput |
Non-Patent Citations (3)
Title |
---|
SAINING XIE ET AL: "Holistically Nested Edge Detection", ARXIV, 4 October 2015 (2015-10-04), pages 3 - 4 * |
SAINING XIE ET AL: "Holistically Nested Edge Detection", pages 3 - 4, Retrieved from the Internet <URL:https://arxiv.org/abs/1504.06375> * |
SAINING XIE 等: "Holistically Nested Edge Detection", 2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), 18 February 2016 (2016-02-18), pages 3 - 4 * |
Also Published As
Publication number | Publication date |
---|---|
JP2020201883A (ja) | 2020-12-17 |
KR20200143274A (ko) | 2020-12-23 |
US20200394505A1 (en) | 2020-12-17 |
US11636321B2 (en) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180253641A1 (en) | Arithmetic processing apparatus and control method therefor | |
CN111338695B (zh) | 基于流水线技术的数据处理方法及相关产品 | |
CN107909537B (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
EP3633559A1 (en) | Information processing apparatus, information processing method, non-transitory computer-readable storage medium | |
JP6567381B2 (ja) | 演算装置、方法及びプログラム | |
CN115471404A (zh) | 图像缩放方法、处理设备及存储介质 | |
US11900577B2 (en) | Processing apparatus for performing processing using a convolutional neural network | |
US20220188961A1 (en) | Data processing method and sensor device for performing the same | |
CN112085155A (zh) | 数据处理装置和控制方法 | |
CN111653231B (zh) | 显示屏配置方法、装置、系统和显示控制系统 | |
US20080229238A1 (en) | Scalable images using bitmaps and vector images | |
US20210201122A1 (en) | Data processing methods, apparatuses, devices, storage media and program products | |
CN116523951B (zh) | 多层并行光流估计方法和装置 | |
EP3474133B1 (en) | Filter processing apparatus and control method thereof | |
CN111951348A (zh) | 确定框选区域的方法、装置及电子设备 | |
CN116341630A (zh) | 神经网络处理 | |
US20210241105A1 (en) | Inference apparatus, inference method, and storage medium | |
US8373887B2 (en) | Image processing apparatus including an image processing unit, a memory, a determination unit, a dividing unit, and non-transitory computer readable medium | |
KR101688435B1 (ko) | 블록 구조를 이용한 적분 영상 생성 장치 및 그 방법 | |
CN114090466A (zh) | 一种指令处理装置、方法、计算机设备及存储介质 | |
EP4052188A1 (en) | Neural network instruction streaming | |
US11288547B2 (en) | Method for inserting domain information, method and apparatus for learning of generative model | |
CN108322672A (zh) | 图像处理方法及装置 | |
JP7316130B2 (ja) | 画像処理装置、画像処理装置の制御方法、プログラム | |
JP6320652B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム |
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 |