CN108475347A - 神经网络处理的方法、装置、加速器、***和可移动设备 - Google Patents
神经网络处理的方法、装置、加速器、***和可移动设备 Download PDFInfo
- Publication number
- CN108475347A CN108475347A CN201780004648.8A CN201780004648A CN108475347A CN 108475347 A CN108475347 A CN 108475347A CN 201780004648 A CN201780004648 A CN 201780004648A CN 108475347 A CN108475347 A CN 108475347A
- Authority
- CN
- China
- Prior art keywords
- layer
- memory
- configuration
- neural network
- network
- 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
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/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
-
- 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
- G06N3/065—Analogue means
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)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Semiconductor Memories (AREA)
- Memory System (AREA)
- Image Analysis (AREA)
Abstract
公开了一种神经网络处理的方法、装置、加速器、计算机***和可移动设备。该方法包括:在对第一神经网络的第i层的多个分块中的最后一个分块进行处理时,从存储器中读取第二神经网络的第k层的多个分块中的第一个分块的数据,其中,1≤i≤N,N为所述第一神经网络的层数,1≤k≤M,M为所述第二神经网络的层数;在处理完所述第一神经网络的第i层的多个分块中的最后一个分块后,根据所述第二神经网络的第k层的多个分块中的第一个分块的数据对所述第二神经网络的第k层的多个分块中的第一个分块进行处理。本发明实施例的技术方案,能够提高计算资源利用率。
Description
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本发明涉及信息技术领域,并且更具体地,涉及一种神经网络处理的方法、装置、加速器、计算机***和可移动设备。
背景技术
卷积神经网络(Convolutional Neural Network,CNN)是一种复杂且非线性的假设模型,使用的模型参数通过训练学习得到,具有拟合数据的能力。
CNN能够应用在机器视觉和自然语言处理等场景,CNN算法在嵌入式***实现时,需要充分考虑计算资源以及实时性。神经网络的处理对资源的消耗较大。因此,如何提高计算资源利用率,成为神经网络处理中一个亟待解决的技术问题。
发明内容
本发明实施例提供了一种神经网络处理的方法、装置、加速器、计算机***和可移动设备,能够提高计算资源利用率。
第一方面,提供了一种神经网络处理的方法,包括:在对第一神经网络的第i层的多个分块中的最后一个分块进行处理时,从存储器中读取第二神经网络的第k层的多个分块中的第一个分块的数据,其中,1≤i≤N,N为所述第一神经网络的层数,1≤k≤M,M为所述第二神经网络的层数;在处理完所述第一神经网络的第i层的多个分块中的最后一个分块后,根据所述第二神经网络的第k层的多个分块中的第一个分块的数据对所述第二神经网络的第k层的多个分块中的第一个分块进行处理。
第二方面,提供了一种神经网络处理的方法,包括:接收处理器发送的配置描述表地址信息和启动命令,其中,所述配置描述表地址信息用于指示神经网络的第1层的配置描述表在存储器中的地址,所述存储器中存储有所述神经网络的所有层的配置描述表,所述神经网络的第i层的配置描述表包括用于对所述第i层进行处理的配置参数,所述启动命令用于指示启动对所述神经网络的处理,1≤i≤N,N为所述神经网络的层数;根据所述配置描述表地址信息,从所述存储器中读取所述神经网络的第1层的配置描述表;根据所述神经网络的第1层的配置描述表,对所述神经网络的第1层进行处理;根据预设地址偏置确定所述神经网络的第j层的配置描述表在所述存储器中的地址,2≤j≤N;根据所述第j层的配置描述表在所述存储器中的地址,从所述存储器中读取所述第j层的配置描述表;根据所述第j层的配置描述表,对所述第j层进行处理;在处理完所述神经网络的第N层后,向所述处理器发送中断请求。
第三方面,提供了一种神经网络处理的装置,包括:加速器和存储器;其中,所述加速器用于:在对第一神经网络的第i层的多个分块中的最后一个分块进行处理时,从所述存储器中读取第二神经网络的第k层的多个分块中的第一个分块的数据,其中,1≤i≤N,N为所述第一神经网络的层数,1≤k≤M,M为所述第二神经网络的层数;在处理完所述第一神经网络的第i层的多个分块中的最后一个分块后,根据所述第二神经网络的第k层的多个分块中的第一个分块的数据对所述第二神经网络的第k层的多个分块中的第一个分块进行处理。
第四方面,提供了一种神经网络处理的装置,包括:加速器、处理器和存储器;其中,所述加速器用于:接收所述处理器发送的配置描述表地址信息和启动命令,其中,所述配置描述表地址信息用于指示神经网络的第1层的配置描述表在所述存储器中的地址,所述存储器中存储有所述神经网络的所有层的配置描述表,所述神经网络的第i层的配置描述表包括用于对所述第i层进行处理的配置参数,所述启动命令用于指示启动对所述神经网络的处理,1≤i≤N,N为所述神经网络的层数;根据所述配置描述表地址信息,从所述存储器中读取所述神经网络的第1层的配置描述表;根据所述神经网络的第1层的配置描述表,对所述神经网络的第1层进行处理;根据预设地址偏置确定所述神经网络的第j层的配置描述表在所述存储器中的地址,2≤j≤N;根据所述第j层的配置描述表在所述存储器中的地址,从所述存储器中读取所述第j层的配置描述表;根据所述第j层的配置描述表,对所述第j层进行处理;在处理完所述神经网络的第N层后,向所述处理器发送中断请求。
第五方面,提供了一种加速器,其特征在于,包括执行上述第一方面或第二方面的方法的模块。
第六方面,提供了一种计算机***,包括:存储器,用于存储计算机可执行指令;处理器,用于访问所述存储器,并执行所述计算机可执行指令,以进行上述第一方面或第二方面的方法中的操作。
第七方面,提供了一种移动设备,包括:上述第三方面或第四方面的神经网络处理的装置;或者上述第五方面的加速器;或者,上述第六方面的计算机***。
第八方面,提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述第一或第二方面的方法。
本发明实施例的技术方案,通过在处理第一神经网络的第i层的最后一个分块时读取第二神经网络的第k层的第一个分块的数据,在第一神经网络的第i层的最后一个分块处理完后,根据已经读取的数据处理第二神经网络的第k层的第一个分块,可以减少处理过程中的等待时间,从而能够提高计算资源利用率。
附图说明
图1是神经网络的示意图。
图2是应用本发明实施例的技术方案的架构图。
图3是本发明实施例的可移动设备的示意性架构图。
图4是本发明实一个施例的神经网络处理的方法的示意性流程图。
图5是本发明实施例的神经网络分块的示意图。
图6是本发明实施例的多个神经网络交织处理的流程图。
图7是本发明另一个实施例的神经网络处理的方法的示意性流程图。。
图8是本发明一个实施例的神经网络处理的装置的示意性框图。
图9是本发明另一个实施例的神经网络处理的装置的示意性框图。
图10是本发明实施例的计算机***的示意性框图。
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行描述。
应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
还应理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
还应理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本发明实施例对此并不限定。
本发明实施例的技术方案可以应用于各种神经网络中,例如CNN,但本发明实施例对此并不限定。
图1示出了神经网络的示意图。如图1所示,神经网络可以包括多层,即,输入层,一个或多个隐含层,输出层。神经网络中的隐含层可以全为全连接层,也可以包括卷积层和全连接层,后者称为卷积神经网络。
图2是应用本发明实施例的技术方案的架构图。
如图2所示,***200可以包括加速器210,处理器220,互联230和片外存储器240。加速器210和处理器220设置于片内,并可以通过互联230访问片外存储器240。
片外存储器240用于存储数据。处理器220,例如可以为嵌入式处理器,用于加速器210的配置和中断响应。
加速器210用于实现数据处理。具体地,加速器210可以从存储器240中读取输入数据(例如,输入特征图和权重),例如,读取到加速器210中的片上存储器(片上缓存)中,对输入数据进行处理,例如,对输入数据进行卷积,以及偏置、激活和池化(BiasActivationPooling,BAP)操作,得到输出数据,并将输出数据存储到存储器240中。
在一些实施例中,***200可以设置于是可移动设备中。该可移动设备可以是无人机、无人驾驶船、自动驾驶车辆或机器人等,本发明实施例对此并不限定。
图3是本发明实施例的可移动设备300的示意性架构图。
如图3所示,可移动设备300可以包括动力***310、控制***320、传感***330和处理***340。
动力***310用于为该可移动设备300提供动力。
以无人机为例,无人机的动力***可以包括电子调速器(简称为电调)、螺旋桨以及与螺旋桨相对应的电机。电机连接在电子调速器与螺旋桨之间,电机和螺旋桨设置在对应的机臂上;电子调速器用于接收控制***产生的驱动信号,并根据驱动信号提供驱动电流给电机,以控制电机的转速。电机用于驱动螺旋桨旋转,从而为无人机的飞行提供动力。
传感***330可以用于测量可移动设备300的姿态信息,即可移动设备300在空间的位置信息和状态信息,例如,三维位置、三维角度、三维速度、三维加速度和三维角速度等。传感***330例如可以包括陀螺仪、电子罗盘、惯性测量单元(Inertial MeasurementUnit,IMU)、视觉传感器、全球定位***(Global Positioning System,GPS)、气压计、空速计等传感器中的至少一种。
传感***330还可用于采集图像,即传感***330包括用于采集图像的传感器,例如相机等。
控制***320用于控制可移动设备300的移动。控制***320可以按照预先设置的程序指令对可移动设备300进行控制。例如,控制***320可以根据传感***330测量的可移动设备300的姿态信息控制可移动设备300的移动。控制***320也可以根据来自遥控器的控制信号对可移动设备300进行控制。例如,对于无人机,控制***320可以为飞行控制***(飞控),或者为飞控中的控制电路。
处理***340可以处理传感***330采集的图像。例如,处理***340可以为图像信号处理(Image Signal Processing,ISP)类芯片。
处理***340可以为图2中的***200,或者,处理***340可以包括图2中的***200。
应理解,上述对于可移动设备300的各组成部件的划分和命名仅仅是示例性的,并不应理解为对本发明实施例的限制。
还应理解,可移动设备300还可以包括图3中未示出的其他部件,本发明实施例对此并不限定。
神经网络是按层处理的,也就是说,完成一层的计算后,再开始下一层的计算,直至最后一层。
由于片上存储资源有限,在对每一层进行处理时,可能无法将该层的全部数据都读取到片上存储器中。因此,可以对每一层采取分块处理的方式,即,将每一层的输入特征图(Input Feature Map,IF)分为多个分块,每次读取一个分块的数据到片上存储器中。
在某些特定的应用中,一个加速器可能会同时处理多个不同功能的神经网络,目前的方案是依次顺序处理多个神经网络,这可能会造成时间上的等待,造成计算资源的浪费,影响计算资源利用率。
鉴于此,本发明实施例提供了一种技术方案,通过对多个神经网络的交织处理,提高计算资源利用率。下面对本发明实施例的技术方案进行详细描述。
图4示出了本发明一个实施例的神经网络处理的方法400的示意性流程图。该方法400可以由加速器执行,例如,可以由图2中的加速器210执行。
410,在对第一神经网络的第i层的多个分块中的最后一个分块进行处理时,从存储器中读取第二神经网络的第k层的多个分块中的第一个分块的数据,其中,1≤i≤N,N为所述第一神经网络的层数,1≤k≤M,M为所述第二神经网络的层数。
神经网络的前一层的输出特征图(Output Feature Map,OF)可能作为该神经网络的下一层的IF。然而,对神经网络的每层进行分块处理时,该层的OF(即下一层的IF)的一个分块可能会依赖于该层的IF的多个分块。如图5所示,OF的一个分块ob0可能会依赖于该层的IF的多个分块ib0-ibn。这样,同一神经网络的后一层需要等待前一层的分块全部处理完以后才能开始处理。在同时处理多个神经网络的情况下,不同神经网络的层之间没有数据依赖关系。因此,在本发明实施例中,可以在在对第一神经网络的某一层(第i层)的最后一个分块进行处理时,读取第二神经网络的某一层(第k层)的第一个分块的数据。也就是说,第二神经网络的第k层不需要等第一神经网络的第i层的所有分块都处理完,而可以在处理第一神经网络的第i层的最后一个分块时就读取第二神经网络的第k层的第一个分块的数据。
420,在处理完所述第一神经网络的第i层的多个分块中的最后一个分块后,根据所述第二神经网络的第k层的多个分块中的第一个分块的数据对所述第二神经网络的第k层的多个分块中的第一个分块进行处理。
由于已经在处理第一神经网络的第i层的最后一个分块时就读取了第二神经网络的第k层的第一个分块的数据。这样,等第一神经网络的第i层的最后一个分块处理完后,就可以使用已经读取的数据处理第二神经网络的第k层的第一个分块。因此,本发明实施例的技术方案,减少了等待时间,提高了计算资源利用率。
上述对多个神经网络的处理方式可以称为交织处理方式。图6示出了多网络交织处理方式的处理流程图。在图6中,以两个神经网络A和B为例,两个神经网络A和B以交织方式时分复用,相邻两层是不同网络的数据,没有数据依赖关系,所以在A网络当前层的最后一个分块的数据进行处理的时候,就可以开始从外部存储器中读入B网络层的数据,不用等到A网络的当前层处理完成以后才开始下一层数据读入,等A网络当前层处理完成以后,B网络层就可以使用已经读入的数据立即开始处理,从而达到提高计算资源利用率的有益效果。
应理解,尽管以上描述中以两个神经网络为例,但本发明实施例并不限于此。也就是说,本发明实施例的技术方案可以应用于同时处理更多的神经网络。
例如,若还需要同时处理第三神经网络,可以在对所述第二神经网络的第k层的多个分块中的最后一个分块进行处理时,从所述存储器中读取第三神经网络的第l层的多个分块中的第一个分块的数据,其中,1≤l≤P,P为所述第三神经网络的层数;在处理完所述第二神经网络的第k层的多个分块中的最后一个分块后,根据所述第三神经网络的第l层的多个分块中的第一个分块的数据对所述第三神经网络的第l层的多个分块中的第一个分块进行处理。
本发明实施例的技术方案,通过在处理第一神经网络的第i层的最后一个分块时读取第二神经网络的第k层的第一个分块的数据,在第一神经网络的第i层的最后一个分块处理完后,根据已经读取的数据处理第二神经网络的第k层的第一个分块,可以减少处理过程中的等待时间,从而能够提高计算资源利用率。
可选地,在本发明一个实施例中,所述存储器为片外存储器。也就是说,神经网络的数据都存储到片外存储器中。
可选地,在本发明一个实施例中,根据偏上存储器的大小决定所述分块的大小。例如,所述分块的大小可以等于或略小于片上存储器的大小。
在本发明实施例中,可选地,在对神经网络的每一层进行处理时,可以基于配置描述表(Configuration Descriptor Table)进行。
可选地,在本发明一个实施例中,神经网络的所有层的配置描述表可以存储到所述存储器中。所述配置描述表包括用于对神经网络的所有层进行处理的配置参数。
可选地,在本发明一个实施例中,所述配置参数可以包括输入数据在所述存储器中的地址,输出数据在所述存储器中的地址,以及处理指令等。
例如,所述第i层的配置描述包括所述第i层的输入数据在所述存储器中的地址,所述第i层的输出数据在所述存储器中的地址,以及所述第i层的处理指令;所述第k层的配置描述表包括所述第k层的输入数据在所述存储器中的地址,所述第k层的输出数据在所述存储器中的地址,以及所述第k层的处理指令。
可选地,在本发明一个实施例中,可以根据某一层的相应地址确定该层的分块的相应地址。例如,可以根据所述第i层的输入数据在所述存储器中的地址确定所述第i层的每一个分块的输入数据在所述存储器中的地址,根据所述第i层的输出数据在所述存储器中的地址确定所述第i层的每一个分块的输出数据在所述存储器中的地址。换句话说,根据分块的大小,可以确定相应的分块,从而进行相应分块的读和写。
可选地,在本发明一个实施例中,可以根据处理器发送的配置描述表地址信息,从所述存储器中读取配置描述表;根据配置描述表,从所述存储器中读取待处理的分块的数据。可选地,所述配置描述表地址信息用于指示初始层的配置描述表在存储器中的地址,其中,所述初始层可以为每个神经网络的第1层,或者,处理顺序上第一个神经网络的第1层;在这种情况下,可以根据所述配置描述表地址信息,从所述存储器中读取所述初始层的配置描述表;根据所述配置描述表地址信息和预设地址偏置,从所述存储器中读取其他层的配置描述表。
可选地,在本发明一个实施例中,处理器可以给加速器发送配置描述表地址信息和启动命令,所述配置描述表地址信息用于指示神经网络的第1层的配置描述表在存储器中的地址,所述启动命令用于指示启动对所述神经网络的处理;加速器可以根据所述配置描述表地址信息,从所述存储器中读取所述神经网络的第1层的配置描述表,并根据预设地址偏置确定所述神经网络的下一层的配置描述表在所述存储器中的地址,根据每一层的配置描述表,对所述神经网络的每一层进行处理,并在处理完所述神经网络的所有层后,向所述处理器发送中断请求。可选地,所述中断请求中包括所述神经网络的处理结果(即最终的输出数据)在所述存储器中的地址。通过上述技术方案可以减少处理器与加速器的交互,减轻处理器的负载,从而能够降低***资源占用。
可选地,在本发明一个实施例中,在同时处理多个神经网络时,可以在对第一神经网络的第i层的多个分块中的最后一个分块进行处理时,从所述存储器中读取第二神经网络的第k层的配置描述表,根据所述第k层的配置描述表,确定所述第k层的多个分块中的第一个分块的数据在所述存储器中的地址,从所述存储器中读取所述第k层的多个分块中的第一个分块的数据;在处理完所述第一神经网络的第i层的多个分块中的最后一个分块后,根据所述第k层的配置描述表和所述第k层的多个分块中的第一个分块的数据对所述第k层的多个分块中的第一个分块进行处理。
具体而言,在同时处理多个神经网络时,处理器可以将多个神经网络的配置描述表存储到存储器中,并向加速器发送多个神经网络的配置描述表地址信息和启动命令。可选地,每一个神经网络的配置描述表地址信息和启动命令可以在启动该神经网络的处理时发送。加速器接收到第一神经网络的配置描述表地址信息和启动命令后,可以根据第一神经网络的配置描述表地址信息,从存储器中读取第一神经网络的第1层的配置描述表,根据该配置描述表,依次对第一神经网络的第1层的每个分块进行处理。若同时启动了第二神经网络的处理,即,接收到了第二神经网络的配置描述表地址信息和启动命令,则加速器可以在对第一神经网络的第1层的最后一个分块进行处理时,根据第二神经网络的配置描述表地址信息从存储器中读取第二神经网络的第1层的配置描述表,根据该配置描述表,从存储器中读取第二神经网络的第1层的第一个分块的数据,并在处理完第一神经网络的第1层的最后一个分块后,对第二神经网络的第1层的第一个分块进行处理,然后再依次对第二神经网络的第1层的所有分块进行处理。类似地,加速器可以在对第二神经网络的第1层的最后一个分块进行处理时,根据第一神经网络的配置描述表地址信息和预设地址偏置确定第一神经网络的第2层的配置描述表在存储器中的地址,并从存储器中读取第一神经网络的第2层的配置描述表,根据该配置描述表,从存储器中读取第一神经网络的第2层的第一个分块的数据,并在处理完第二神经网络的第1层的最后一个分块后,对第一神经网络的第2层的第一个分块进行处理,以此类推。
应理解,多个神经网络的各层的配置描述表也可以一块配置。例如,可以将各层的配置描述表按照处理顺序存储到存储器中,相互之间间隔预设地址偏置。这样,处理器可以只向加速器发送第一个神经网络的第1层的配置描述表的地址,后续可根据预设地址偏置依次确定下一待处理的层的配置描述表的地址。
本发明实施例的技术方案,通过对多个神经网络的交织处理,可以减少处理过程中的等待时间,从而能够提高计算资源利用率;另外,根据配置描述表地址信息和配置描述表对神经网络进行处理,可以减少处理器与加速器的交互,减轻处理器的负载,从而能够降低***资源占用。
应理解,上述本发明实施例的多个神经网络交织处理的技术方案和利用配置描述表地址信息对神经网络进行处理的技术方案可以联合实施,也可以单独实施。基于此,本发明实施例又提供了另一种神经网络处理的方法,下面结合图7进行描述。应理解,图7所示方法中的一些具体的描述可以参考前述实施例,以下为了简洁,不再赘述。
图7示出了本发明另一个实施例的神经网络处理的方法700的示意性流程图。该方法700可以由加速器执行,例如,可以由图2中的加速器210执行。如图7所示,该方法700包括:
710,接收处理器发送的配置描述表地址信息和启动命令,其中,所述配置描述表地址信息用于指示神经网络的第1层的配置描述表在存储器中的地址,所述存储器中存储有所述神经网络的所有层的配置描述表,所述神经网络的第i层的配置描述表包括用于对所述第i层进行处理的配置参数,所述启动命令用于指示启动对所述神经网络的处理,1≤i≤N,N为所述神经网络的层数;
720,根据所述配置描述表地址信息,从所述存储器中读取所述神经网络的第1层的配置描述表;根据所述神经网络的第1层的配置描述表,对所述神经网络的第1层进行处理;
730,根据预设地址偏置确定所述神经网络的第j层的配置描述表在所述存储器中的地址,2≤j≤N;根据所述第j层的配置描述表在所述存储器中的地址,从所述存储器中读取所述第j层的配置描述表;根据所述第j层的配置描述表,对所述第j层进行处理;
740,在处理完所述神经网络的第N层后,向所述处理器发送中断请求。
在本发明实施例中,神经网络的所有配置文件,包括数据和配置描述表等,都预先存储到存储器(例如片外存储器)中。
可选地,每一层的输入数据可以包括输入特征图、权重和偏置等。
可选地,每一层的配置描述表可以包括该层的输入数据在所述存储器中的地址,该层的输出数据在所述存储器中的地址,以及该层的处理指令。
当有图像输入时,处理器将神经网络的配置描述表地址信息配置给加速器,并配置启动命令。
加速器可根据当前层配置描述表地址从存储器中读取固定长度的配置描述表数据,并解析各个字段的内容,并根据配置描述表的内容从存储器中读取输入数据,对输入数据进行处理,例如,对输入数据进行卷积,以及BAP操作,得到输出数据,并将输出数据存储到所述存储器中,直到完成当前层的全部处理。
加速器完成一层的处理以后,会判断当前层是否是为神经网络的最后一层,如果不是最后一层,则配置描述表地址指针加一个预设地址偏置得到神经网络下一层的配置描述表的地址,然后继续开始下一层的处理;如果当前层是神经网络的最后一层,则表示当前图像的处理已经完成,向处理器发送完成中断请求。所述中断请求中可以包括所述神经网络的处理结果在所述存储器中的地址。
完成当前输入图像的处理以后,进入等待状态,直到有新的输入图像,则重复以上步骤,依此可以完成连续输入的图像处理。
在本发明实施例的技术方案中,所有神经网络处理的配置参数都存储在存储器中,开始工作时,处理器的工作就是配置一个初始的配置描述表地址和启动命令,计算过程中,对处理器没有任何负载,直到当前输入图像计算完成以后,处理器会收到加速器的中断请求,将计算结果用于后续应用。因此,本发明实施例的技术方案的软硬件交互过程极其简单,处理器的负载非常小,极大降低了***资源占用。
可选地,在同时处理多个神经网络的情况下,在对所述神经网络的第i层的多个分块中的最后一个分块进行处理时,从所述存储器中读取另一个神经网络的第k层的配置描述表,根据所述第k层的配置描述表,从所述存储器中读取所述第k层的多个分块中的第一个分块的数据,其中,1≤k≤M,M为所述另一个神经网络的层数;在处理完所述神经网络的第i层的多个分块中的最后一个分块后,根据所述第k层的配置描述表和所述第k层的多个分块中的第一个分块的数据对所述第k层的多个分块中的第一个分块进行处理。关于同时处理多个神经网络的具体描述,可以参考前述各实施例,为了简洁,在此不再赘述。
上文详细描述了本发明实施例的神经网络处理的方法,下面将描述本发明实施例的神经网络处理的装置、加速器、计算机***和可移动设备。应理解,本发明实施例的神经网络处理的装置、加速器、计算机***和可移动设备可以执行前述本发明实施例的各种方法,即以下各种产品的具体工作过程,可以参考前述方法实施例中的对应过程。
图8示出了本发明一个实施例的神经网络处理的装置800的示意性框图。如图8所示,该装置800可以包括:加速器810和存储器820。
所述加速器810用于:
在对第一神经网络的第i层的多个分块中的最后一个分块进行处理时,从所述存储器820中读取第二神经网络的第k层的多个分块中的第一个分块的数据,其中,1≤i≤N,N为所述第一神经网络的层数,1≤k≤M,M为所述第二神经网络的层数;
在处理完所述第一神经网络的第i层的多个分块中的最后一个分块后,根据所述第二神经网络的第k层的多个分块中的第一个分块的数据对所述第二神经网络的第k层的多个分块中的第一个分块进行处理。
可选地,在本发明一个实施例中,所述加速器为片上器件,所述存储器820为片外存储器。
可选地,在本发明一个实施例中,所述加速器810还用于根据所述加速器中的片上存储器的大小决定所述分块的大小。
可选地,在本发明一个实施例中,所述存储器820中存储有所述第一神经网络和所述第二神经网络的所有层的配置描述表,所述配置描述表包括用于对所述第一神经网络和所述第二神经网络的所有层进行处理的配置参数。
可选地,在本发明一个实施例中,所述加速器810还用于:根据处理器发送的配置描述表地址信息,从所述存储器中读取所述配置描述表;根据所述配置描述表,从所述存储器中读取待处理的分块的数据。
可选地,在本发明一个实施例中,所述配置描述表地址信息用于指示初始层的配置描述表在存储器中的地址,其中,所述初始层为每个神经网络的第1层,或者,处理顺序上第一个神经网络的第1层;所述加速器810具体用于:根据所述配置描述表地址信息,从所述存储器中读取所述初始层的配置描述表;根据所述配置描述表地址信息和预设地址偏置,从所述存储器中读取其他层的配置描述表。
可选地,在本发明一个实施例中,所述第i层的配置描述包括所述第i层的输入数据在所述存储器820中的地址,所述第i层的输出数据在所述存储器820中的地址,以及所述第i层的处理指令;
所述第k层的配置描述表包括所述第k层的输入数据在所述存储器820中的地址,所述第k层的输出数据在所述存储器820中的地址,以及所述第k层的处理指令。
可选地,在本发明一个实施例中,所述加速器810还用于:
在对所述第二神经网络的第k层的多个分块中的最后一个分块进行处理时,从所述存储器820中读取第三神经网络的第l层的多个分块中的第一个分块的数据,其中,1≤l≤P,P为所述第三神经网络的层数;在处理完所述第二神经网络的第k层的多个分块中的最后一个分块后,根据所述第三神经网络的第l层的多个分块中的第一个分块的数据对所述第三神经网络的第l层的多个分块中的第一个分块进行处理。
图9示出了本发明另一个实施例的神经网络处理的装置900的示意性框图。如图9所示,该装置900可以包括:加速器910、处理器920和存储器930。
所述加速器910用于:
接收所述处理器920发送的配置描述表地址信息和启动命令,其中,所述配置描述表地址信息用于指示神经网络的第1层的配置描述表在所述存储器930中的地址,所述存储器930中存储有所述神经网络的所有层的配置描述表,所述神经网络的第i层的配置描述表包括用于对所述第i层进行处理的配置参数,所述启动命令用于指示启动对所述神经网络的处理,1≤i≤N,N为所述神经网络的层数;
根据所述配置描述表地址信息,从所述存储器930中读取所述神经网络的第1层的配置描述表;根据所述神经网络的第1层的配置描述表,对所述神经网络的第1层进行处理;
根据预设地址偏置确定所述神经网络的第j层的配置描述表在所述存储器930中的地址,2≤j≤N;根据所述第j层的配置描述表在所述存储器930中的地址,从所述存储器930中读取所述第j层的配置描述表;根据所述第j层的配置描述表,对所述第j层进行处理;
在处理完所述神经网络的第N层后,向所述处理器920发送中断请求。
可选地,在本发明一个实施例中,所述第i层的配置描述表包括所述第i层的输入数据在所述存储器930中的地址,所述第i层的输出数据在所述存储器930中的地址,以及所述第i层的处理指令。
可选地,在本发明一个实施例中,所述加速器910具体用于:
从所述存储器930中读取所述第i层的输入数据;
对所述第i层的输入数据进行处理,得到所述第i层的输出数据;
将所述第i层的输出数据存储到所述存储器930中。
可选地,在本发明一个实施例中,所述加速器910具体用于:
对所述第i层的输入数据进行卷积,以及偏置、激活和池化BAP操作。
可选地,在本发明一个实施例中,所述第i层的输入数据包括所述第i层的输入特征图和权重。
可选地,在本发明一个实施例中,所述中断请求中包括所述神经网络的处理结果在所述存储器930中的地址。
可选地,在本发明一个实施例中,所述加速器910和所述处理器920为片上器件,所述存储器930为片外存储器。
可选地,在本发明一个实施例中,所述加速器910还用于:
在对所述神经网络的第i层的多个分块中的最后一个分块进行处理时,从所述存储器930中读取另一个神经网络的第k层的配置描述表,根据所述第k层的配置描述表,从所述存储器930中读取所述第k层的多个分块中的第一个分块的数据,其中,1≤k≤M,M为所述另一个神经网络的层数;在处理完所述神经网络的第i层的多个分块中的最后一个分块后,根据所述第k层的配置描述表和所述第k层的多个分块中的第一个分块的数据对所述第k层的多个分块中的第一个分块进行处理。
应理解,上述本发明实施例的神经网络处理的装置可以是芯片,其具体可以由电路实现,但本发明实施例对具体的实现形式不做限定。
还应理解,上述本发明实施例的加速器也可以单独实施,即加速器也可以与其他部件分离。
本发明实施例还提供了一种加速器,该加速器可以包括执行上述本发明各种实施例的方法的模块。
图10示出了本发明实施例的计算机***1000的示意性框图。
如图10所示,该计算机***1000可以包括处理器1010和存储器1020。
应理解,该计算机***1000还可以包括其他计算机***中通常所包括的部件,例如,输入输出设备、通信接口等,本发明实施例对此并不限定。
存储器1020用于存储计算机可执行指令。
存储器1020可以是各种种类的存储器,例如可以包括高速随机存取存储器(Random Access Memory,RAM),还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,本发明实施例对此并不限定。
处理器1010用于访问该存储器1020,并执行该计算机可执行指令,以进行上述本发明各种实施例的神经网络处理的方法中的操作。
处理器1010可以包括微处理器,现场可编程门阵列(Field-Programmable GateArray,FPGA),中央处理器(Central Processing unit,CPU),图形处理器(GraphicsProcessing Unit,GPU)等,本发明实施例对此并不限定。
本发明实施例还提供了一种可移动设备,该移动设备可以包括上述本发明各种实施例的神经网络处理的装置、加速器或者计算机***。
本发明实施例的神经网络处理的装置、加速器、计算机***和可移动设备可对应于本发明实施例的神经网络处理的方法的执行主体,并且神经网络处理的装置、加速器、计算机***和可移动设备中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。
本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述本发明实施例的神经网络处理的方法。
应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (35)
1.一种神经网络处理的方法,其特征在于,包括:
在对第一神经网络的第i层的多个分块中的最后一个分块进行处理时,从存储器中读取第二神经网络的第k层的多个分块中的第一个分块的数据,其中,1≤i≤N,N为所述第一神经网络的层数,1≤k≤M,M为所述第二神经网络的层数;
在处理完所述第一神经网络的第i层的多个分块中的最后一个分块后,根据所述第二神经网络的第k层的多个分块中的第一个分块的数据对所述第二神经网络的第k层的多个分块中的第一个分块进行处理。
2.根据权利要求1所述的方法,其特征在于,根据片上存储器的大小决定所述分块的大小。
3.根据权利要求1或2所述的方法,其特征在于,所述存储器中存储有所述第一神经网络和所述第二神经网络的所有层的配置描述表,所述配置描述表包括用于对所述第一神经网络和所述第二神经网络的所有层进行处理的配置参数。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据处理器发送的配置描述表地址信息,从所述存储器中读取所述配置描述表;
根据所述配置描述表,从所述存储器中读取待处理的分块的数据。
5.根据权利要求4所述的方法,其特征在于,所述配置描述表地址信息用于指示初始层的配置描述表在存储器中的地址,其中,所述初始层为每个神经网络的第1层,或者,处理顺序上第一个神经网络的第1层;
所述根据处理器发送的配置描述表地址信息,从所述存储器中读取所述配置描述表,包括:
根据所述配置描述表地址信息,从所述存储器中读取所述初始层的配置描述表;
根据所述配置描述表地址信息和预设地址偏置,从所述存储器中读取其他层的配置描述表。
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述第i层的配置描述包括所述第i层的输入数据在所述存储器中的地址,所述第i层的输出数据在所述存储器中的地址,以及所述第i层的处理指令;
所述第k层的配置描述表包括所述第k层的输入数据在所述存储器中的地址,所述第k层的输出数据在所述存储器中的地址,以及所述第k层的处理指令。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述存储器为片外存储器。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
在对所述第二神经网络的第k层的多个分块中的最后一个分块进行处理时,从所述存储器中读取第三神经网络的第l层的多个分块中的第一个分块的数据,其中,1≤l≤P,P为所述第三神经网络的层数;
在处理完所述第二神经网络的第k层的多个分块中的最后一个分块后,根据所述第三神经网络的第l层的多个分块中的第一个分块的数据对所述第三神经网络的第l层的多个分块中的第一个分块进行处理。
9.一种神经网络处理的方法,其特征在于,包括:
接收处理器发送的配置描述表地址信息和启动命令,其中,所述配置描述表地址信息用于指示神经网络的第1层的配置描述表在存储器中的地址,所述存储器中存储有所述神经网络的所有层的配置描述表,所述神经网络的第i层的配置描述表包括用于对所述第i层进行处理的配置参数,所述启动命令用于指示启动对所述神经网络的处理,1≤i≤N,N为所述神经网络的层数;
根据所述配置描述表地址信息,从所述存储器中读取所述神经网络的第1层的配置描述表;根据所述神经网络的第1层的配置描述表,对所述神经网络的第1层进行处理;
根据预设地址偏置确定所述神经网络的第j层的配置描述表在所述存储器中的地址,2≤j≤N;根据所述第j层的配置描述表在所述存储器中的地址,从所述存储器中读取所述第j层的配置描述表;根据所述第j层的配置描述表,对所述第j层进行处理;
在处理完所述神经网络的第N层后,向所述处理器发送中断请求。
10.根据权利要求9所述的方法,其特征在于,所述第i层的配置描述表包括所述第i层的输入数据在所述存储器中的地址,所述第i层的输出数据在所述存储器中的地址,以及所述第i层的处理指令。
11.根据权利要求9或10所述的方法,其特征在于,对所述神经网络的第i层进行处理,包括:
从所述存储器中读取所述第i层的输入数据;
对所述第i层的输入数据进行处理,得到所述第i层的输出数据;
将所述第i层的输出数据存储到所述存储器中。
12.根据权利要求11所述的方法,其特征在于,对所述第i层的输入数据进行处理,包括:
对所述第i层的输入数据进行卷积,以及偏置、激活和池化BAP操作。
13.根据权利要求10至12中任一项所述的方法,其特征在于,所述第i层的输入数据包括所述第i层的输入特征图和权重。
14.根据权利要求9至13中任一项所述的方法,其特征在于,所述中断请求中包括所述神经网络的处理结果在所述存储器中的地址。
15.根据权利要求9至14中任一项所述的方法,其特征在于,所述存储器为片外存储器。
16.根据权利要求9至15中任一项所述的方法,其特征在于,所述方法还包括:
在对所述神经网络的第i层的多个分块中的最后一个分块进行处理时,从所述存储器中读取另一个神经网络的第k层的配置描述表,根据所述第k层的配置描述表,从所述存储器中读取所述第k层的多个分块中的第一个分块的数据,其中,1≤k≤M,M为所述另一个神经网络的层数;
在处理完所述神经网络的第i层的多个分块中的最后一个分块后,根据所述第k层的配置描述表和所述第k层的多个分块中的第一个分块的数据对所述第k层的多个分块中的第一个分块进行处理。
17.一种神经网络处理的装置,其特征在于,包括:加速器和存储器;
其中,所述加速器用于:
在对第一神经网络的第i层的多个分块中的最后一个分块进行处理时,从所述存储器中读取第二神经网络的第k层的多个分块中的第一个分块的数据,其中,1≤i≤N,N为所述第一神经网络的层数,1≤k≤M,M为所述第二神经网络的层数;
在处理完所述第一神经网络的第i层的多个分块中的最后一个分块后,根据所述第二神经网络的第k层的多个分块中的第一个分块的数据对所述第二神经网络的第k层的多个分块中的第一个分块进行处理。
18.根据权利要求17所述的装置,其特征在于,所述加速器为片上器件,所述存储器为片外存储器。
19.根据权利要求18所述的装置,其特征在于,所述加速器还用于根据片上存储器的大小决定所述分块的大小。
20.根据权利要求17至19中任一项所述的装置,其特征在于,所述存储器中存储有所述第一神经网络和所述第二神经网络的所有层的配置描述表,所述配置描述表包括用于对所述第一神经网络和所述第二神经网络的所有层进行处理的配置参数。
21.根据权利要求20所述的装置,其特征在于,所述加速器还用于:
根据处理器发送的配置描述表地址信息,从所述存储器中读取所述配置描述表;
根据所述配置描述表,从所述存储器中读取待处理的分块的数据。
22.根据权利要求21所述的装置,其特征在于,所述配置描述表地址信息用于指示初始层的配置描述表在存储器中的地址,其中,所述初始层为每个神经网络的第1层,或者,处理顺序上第一个神经网络的第1层;
所述加速器具体用于:
根据所述配置描述表地址信息,从所述存储器中读取所述初始层的配置描述表;
根据所述配置描述表地址信息和预设地址偏置,从所述存储器中读取其他层的配置描述表。
23.根据权利要求20至22中任一项所述的装置,其特征在于,所述第i层的配置描述包括所述第i层的输入数据在所述存储器中的地址,所述第i层的输出数据在所述存储器中的地址,以及所述第i层的处理指令;
所述第k层的配置描述表包括所述第k层的输入数据在所述存储器中的地址,所述第k层的输出数据在所述存储器中的地址,以及所述第k层的处理指令。
24.根据权利要求17至23中任一项所述的装置,其特征在于,所述加速器还用于:
在对所述第二神经网络的第k层的多个分块中的最后一个分块进行处理时,从所述存储器中读取第三神经网络的第l层的多个分块中的第一个分块的数据,其中,1≤l≤P,P为所述第三神经网络的层数;
在处理完所述第二神经网络的第k层的多个分块中的最后一个分块后,根据所述第三神经网络的第l层的多个分块中的第一个分块的数据对所述第三神经网络的第l层的多个分块中的第一个分块进行处理。
25.一种神经网络处理的装置,其特征在于,包括:加速器、处理器和存储器;
其中,所述加速器用于:
接收所述处理器发送的配置描述表地址信息和启动命令,其中,所述配置描述表地址信息用于指示神经网络的第1层的配置描述表在所述存储器中的地址,所述存储器中存储有所述神经网络的所有层的配置描述表,所述神经网络的第i层的配置描述表包括用于对所述第i层进行处理的配置参数,所述启动命令用于指示启动对所述神经网络的处理,1≤i≤N,N为所述神经网络的层数;
根据所述配置描述表地址信息,从所述存储器中读取所述神经网络的第1层的配置描述表;根据所述神经网络的第1层的配置描述表,对所述神经网络的第1层进行处理;
根据预设地址偏置确定所述神经网络的第j层的配置描述表在所述存储器中的地址,2≤j≤N;根据所述第j层的配置描述表在所述存储器中的地址,从所述存储器中读取所述第j层的配置描述表;根据所述第j层的配置描述表,对所述第j层进行处理;
在处理完所述神经网络的第N层后,向所述处理器发送中断请求。
26.根据权利要求25所述的装置,其特征在于,所述第i层的配置描述表包括所述第i层的输入数据在所述存储器中的地址,所述第i层的输出数据在所述存储器中的地址,以及所述第i层的处理指令。
27.根据权利要求25或26所述的装置,其特征在于,所述加速器具体用于:
从所述存储器中读取所述第i层的输入数据;
对所述第i层的输入数据进行处理,得到所述第i层的输出数据;
将所述第i层的输出数据存储到所述存储器中。
28.根据权利要求27所述的装置,其特征在于,所述加速器具体用于:
对所述第i层的输入数据进行卷积,以及偏置、激活和池化BAP操作。
29.根据权利要求26至28中任一项所述的装置,其特征在于,所述第i层的输入数据包括所述第i层的输入特征图和权重。
30.根据权利要求25至29中任一项所述的装置,其特征在于,所述中断请求中包括所述神经网络的处理结果在所述存储器中的地址。
31.根据权利要求25至30中任一项所述的装置,其特征在于,所述加速器和所述处理器为片上器件,所述存储器为片外存储器。
32.根据权利要求25至31中任一项所述的装置,其特征在于,所述加速器还用于:
在对所述神经网络的第i层的多个分块中的最后一个分块进行处理时,从所述存储器中读取另一个神经网络的第k层的配置描述表,根据所述第k层的配置描述表,从所述存储器中读取所述第k层的多个分块中的第一个分块的数据,其中,1≤k≤M,M为所述另一个神经网络的层数;
在处理完所述神经网络的第i层的多个分块中的最后一个分块后,根据所述第k层的配置描述表和所述第k层的多个分块中的第一个分块的数据对所述第k层的多个分块中的第一个分块进行处理。
33.一种加速器,其特征在于,包括执行根据权利要求1至15中任一项所述的方法的模块。
34.一种计算机***,其特征在于,包括:
存储器,用于存储计算机可执行指令;
处理器,用于访问所述存储器,并执行所述计算机可执行指令,以进行根据权利要求1至16中任一项所述的方法中的操作。
35.一种可移动设备,其特征在于,包括:
根据权利要求17至32中任一项所述的神经网络处理的装置;或者,
根据权利要求33所述的加速器;或者,
根据权利要求34所述的计算机***。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/113932 WO2019104638A1 (zh) | 2017-11-30 | 2017-11-30 | 神经网络处理的方法、装置、加速器、***和可移动设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108475347A true CN108475347A (zh) | 2018-08-31 |
Family
ID=63265975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780004648.8A Pending CN108475347A (zh) | 2017-11-30 | 2017-11-30 | 神经网络处理的方法、装置、加速器、***和可移动设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200285942A1 (zh) |
CN (1) | CN108475347A (zh) |
WO (1) | WO2019104638A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109615065A (zh) * | 2018-12-17 | 2019-04-12 | 郑州云海信息技术有限公司 | 一种基于fpga的数据处理方法、设备以及存储介质 |
CN110785779A (zh) * | 2018-11-28 | 2020-02-11 | 深圳市大疆创新科技有限公司 | 神经网络处理装置、控制方法以及计算*** |
WO2020073801A1 (zh) * | 2018-10-10 | 2020-04-16 | 芯原微电子(上海)股份有限公司 | 一种3d图像处理中数据读写方法及***、存储介质及终端 |
EP3674990A1 (en) * | 2018-12-29 | 2020-07-01 | Baidu Online Network Technology (Beijing) Co., Ltd. | Output method and apparatus for multiple neural network, server and computer readable storage medium |
WO2021000281A1 (en) * | 2019-07-03 | 2021-01-07 | Huaxia General Processor Technologies Inc. | Instructions for operating accelerator circuit |
CN112613605A (zh) * | 2020-12-07 | 2021-04-06 | 深兰人工智能(深圳)有限公司 | 神经网络加速控制方法、装置、电子设备及存储介质 |
WO2021179224A1 (zh) * | 2020-03-11 | 2021-09-16 | 深圳市大疆创新科技有限公司 | 数据处理装置、数据处理方法以及加速器 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200053886A (ko) * | 2018-11-09 | 2020-05-19 | 삼성전자주식회사 | 뉴럴 프로세싱 유닛, 뉴럴 프로세싱 시스템, 및 어플리케이션 시스템 |
WO2022040643A1 (en) * | 2020-08-21 | 2022-02-24 | Fu Zhi Sing | Processing unit architectures and techniques for reusable instructions and data |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681450A (zh) * | 2007-06-13 | 2010-03-24 | 佳能株式会社 | 计算处理装置及其控制方法 |
US20140114896A1 (en) * | 2012-10-23 | 2014-04-24 | Numenta, Inc. | Performing multistep prediction using spatial and temporal memory system |
CN104572504A (zh) * | 2015-02-02 | 2015-04-29 | 浪潮(北京)电子信息产业有限公司 | 一种实现数据预读的方法及装置 |
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100456230C (zh) * | 2007-03-19 | 2009-01-28 | 中国人民解放军国防科学技术大学 | 超长指令字与单指令流多数据流融合的计算群单元 |
CN102222316A (zh) * | 2011-06-22 | 2011-10-19 | 北京航天自动控制研究所 | 一种基于dma的双缓冲乒乓并行结构图像处理优化方法 |
FR3045893B1 (fr) * | 2015-12-21 | 2017-12-29 | Commissariat Energie Atomique | Circuit electronique, notamment apte a l'implementation de reseaux de neurones a plusieurs niveaux de precision. |
CN107066239A (zh) * | 2017-03-01 | 2017-08-18 | 智擎信息***(上海)有限公司 | 一种实现卷积神经网络前向计算的硬件结构 |
-
2017
- 2017-11-30 CN CN201780004648.8A patent/CN108475347A/zh active Pending
- 2017-11-30 WO PCT/CN2017/113932 patent/WO2019104638A1/zh active Application Filing
-
2020
- 2020-05-27 US US16/884,729 patent/US20200285942A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681450A (zh) * | 2007-06-13 | 2010-03-24 | 佳能株式会社 | 计算处理装置及其控制方法 |
US20140114896A1 (en) * | 2012-10-23 | 2014-04-24 | Numenta, Inc. | Performing multistep prediction using spatial and temporal memory system |
CN104572504A (zh) * | 2015-02-02 | 2015-04-29 | 浪潮(北京)电子信息产业有限公司 | 一种实现数据预读的方法及装置 |
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020073801A1 (zh) * | 2018-10-10 | 2020-04-16 | 芯原微电子(上海)股份有限公司 | 一种3d图像处理中数据读写方法及***、存储介质及终端 |
US11455781B2 (en) | 2018-10-10 | 2022-09-27 | Verisilicon Microelectronics (Shanghai) Co., Ltd. | Data reading/writing method and system in 3D image processing, storage medium and terminal |
CN110785779A (zh) * | 2018-11-28 | 2020-02-11 | 深圳市大疆创新科技有限公司 | 神经网络处理装置、控制方法以及计算*** |
WO2020107265A1 (zh) * | 2018-11-28 | 2020-06-04 | 深圳市大疆创新科技有限公司 | 神经网络处理装置、控制方法以及计算*** |
CN109615065A (zh) * | 2018-12-17 | 2019-04-12 | 郑州云海信息技术有限公司 | 一种基于fpga的数据处理方法、设备以及存储介质 |
EP3674990A1 (en) * | 2018-12-29 | 2020-07-01 | Baidu Online Network Technology (Beijing) Co., Ltd. | Output method and apparatus for multiple neural network, server and computer readable storage medium |
US11514296B2 (en) * | 2018-12-29 | 2022-11-29 | Baidu Online Network Technology (Beijing) Co., Ltd. | Output method and apparatus for multiple neural network, server and computer readable storage medium |
WO2021000281A1 (en) * | 2019-07-03 | 2021-01-07 | Huaxia General Processor Technologies Inc. | Instructions for operating accelerator circuit |
TWI768383B (zh) * | 2019-07-03 | 2022-06-21 | 大陸商華夏芯(北京)通用處理器技術有限公司 | 用於操作加速器電路的指令 |
WO2021179224A1 (zh) * | 2020-03-11 | 2021-09-16 | 深圳市大疆创新科技有限公司 | 数据处理装置、数据处理方法以及加速器 |
CN112613605A (zh) * | 2020-12-07 | 2021-04-06 | 深兰人工智能(深圳)有限公司 | 神经网络加速控制方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019104638A1 (zh) | 2019-06-06 |
US20200285942A1 (en) | 2020-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108475347A (zh) | 神经网络处理的方法、装置、加速器、***和可移动设备 | |
US20230330848A1 (en) | Reinforcement and imitation learning for a task | |
CN112119409B (zh) | 具有关系存储器的神经网络 | |
JP7338034B2 (ja) | リモートクライアントデバイスからの入力に基づく効率的なロボットの制御 | |
US11741334B2 (en) | Data-efficient reinforcement learning for continuous control tasks | |
CN108510064B (zh) | 包括多个核心处理模块的人工神经网络的处理***及方法 | |
TWI739225B (zh) | 用於執行神經網路運算之方法及電腦儲存媒體、及神經網路系統 | |
JP2022037022A (ja) | ハードウェアにおけるカーネルストライドの実行 | |
WO2018224471A1 (en) | Selecting actions using multi-modal inputs | |
CN108521788A (zh) | 生成模拟航线的方法、模拟飞行的方法、设备及存储介质 | |
CN110020723A (zh) | 神经网络处理单元及包括该神经网络处理单元的片上*** | |
CN112106073A (zh) | 使用网格代码执行导航任务 | |
US20210103815A1 (en) | Domain adaptation for robotic control using self-supervised learning | |
CN114467092A (zh) | 使用后见之明建模来训练动作选择神经网络 | |
CN109903350A (zh) | 图像压缩方法及相关装置 | |
CN107958284A (zh) | 神经网络的训练方法及装置、计算设备 | |
CN112930541A (zh) | 通过最小化妄想影响来确定控制策略 | |
CN108885493A (zh) | 体感控制器控制云台的方法、云台、体感控制器和*** | |
CN108369725A (zh) | 处理图像的方法、芯片、处理器、计算机***和移动设备 | |
CN108571960A (zh) | 一种定位方法和定位设备 | |
CN114075810B (zh) | 面向混凝土3d打印的空间路径拟合方法及*** | |
CN108513670A (zh) | 处理图像的方法、芯片、处理器、***和可移动设备 | |
CN108701348A (zh) | 处理图像的方法、集成电路、处理器、***和可移动设备 | |
CN109840921A (zh) | 无人驾驶任务结果的确定方法、装置及无人驾驶设备 | |
CN111105015A (zh) | 一种通用cnn推理加速器及其控制方法、可读存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180831 |