CN106529669A - 用于处理数据序列的方法和装置 - Google Patents
用于处理数据序列的方法和装置 Download PDFInfo
- Publication number
- CN106529669A CN106529669A CN201610990113.XA CN201610990113A CN106529669A CN 106529669 A CN106529669 A CN 106529669A CN 201610990113 A CN201610990113 A CN 201610990113A CN 106529669 A CN106529669 A CN 106529669A
- Authority
- CN
- China
- Prior art keywords
- weight matrix
- data sequence
- embedded block
- ram
- neural 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/044—Recurrent networks, e.g. Hopfield 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 Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了用于处理数据序列的方法和装置。该方法的一具体实施方式包括:接收输入的待处理数据序列;将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中;利用循环神经网络模型中的激活函数和嵌入式块RAM中存储的权重矩阵依次对待处理数据序列中的各待处理数据进行处理;输出与待处理数据序列对应的处理后的数据序列。该实施方式提高了循环神经网络模型处理数据序列的效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及数据处理技术领域,尤其涉及用于处理数据序列的方法和装置。
背景技术
RNN(Recurrent neural Network,循环神经网络)是一种节点定向连接成环的人工神经网络。网络的内部状态可以展示动态时序行为。不同于前馈神经网络的是,RNN可以利用它内部的记忆来处理任意时序的输入序列,这让它可以更容易处理如不分段的手写识别、语音识别等。目前RNN模型已被广泛应用在视频处理、语音识别、语义理解等业务中。
利用RNN模型处理数据序列时,需要首先将RNN模型的权重矩阵复制到CPU(Central Processing Unit,中央处理器)或GPU(Graphics Processing Unit,图形处理器)的一级缓存中,然后利用RNN模型中的激活函数和一级缓存中存储的权重矩阵对数据序列进行处理。
然而,一级缓存的容量一般较小,不能同时存储RNN模型中的全部权重矩阵,并且,由于存在反馈,RNN模型不能对数据序列中的各个数据同时进行处理。因此,利用RNN模型处理数据序列中的每一个数据时,都需要重新复制权重矩阵到CPU或GPU的一级缓存中,导致RNN模型处理数据序列的效率较低。
发明内容
本申请的目的在于提出一种改进的用于处理数据序列的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于处理数据序列的方法,该方法包括:接收输入的待处理数据序列;将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中;利用循环神经网络模型中的激活函数和嵌入式块RAM中存储的权重矩阵依次对待处理数据序列中的各待处理数据进行处理;输出与待处理数据序列对应的处理后的数据序列。
在一些实施例中,该方法还包括:在输出处理后的数据序列之后,删除嵌入式块RAM中存储的权重矩阵。
在一些实施例中,将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中之前,包括:调用地址分配接口为权重矩阵在嵌入式块RAM中分配存储地址。
在一些实施例中,将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中,包括:调用复制接口将双倍速率同步动态随机存储器中存储的权重矩阵复制到为权重矩阵在嵌入式块RAM中分配的存储地址中。
在一些实施例中,删除嵌入式块RAM中存储的权重矩阵,包括:调用删除接口删除嵌入式块RAM中存储的权重矩阵。
在一些实施例中,嵌入式块RAM为静态随机存取存储器。
第二方面,本申请提供了一种用于处理数据序列的装置,该装置包括:接收单元,配置用于接收输入的待处理数据序列;复制单元,配置用于将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中;处理单元,配置用于利用循环神经网络模型中的激活函数和嵌入式块RAM中存储的权重矩阵依次对待处理数据序列中的各待处理数据进行处理;输出单元,配置用于输出与待处理数据序列对应的处理后数据序列。
在一些实施例中,该装置还包括:删除单元,配置用于在输出处理后的数据序列之后,删除嵌入式块RAM中存储的权重矩阵。
在一些实施例中,该装置还包括:分配单元,配置用于调用地址分配接口为权重矩阵在嵌入式块RAM中分配存储地址。
在一些实施例中,复制单元进一步配置用于:调用复制接口将双倍速率同步动态随机存储器中存储的权重矩阵复制到为权重矩阵在嵌入式块RAM中分配的存储地址中。
在一些实施例中,删除单元进一步配置用于:调用删除接口删除嵌入式块RAM中存储的权重矩阵。
在一些实施例中,嵌入式块RAM为静态随机存取存储器。
本申请提供的用于处理数据序列的方法和装置,当接收到待处理数据序列之后,首先将循环神经网络模型中的权重矩阵复制到FPGA的嵌入式块RAM中,而后利用循环神经网络模型中的激活函数和嵌入式块RAM中存储的权重矩阵依次对待处理数据序列中的各待处理数据进行处理,最后输出处理后的数据序列,在对待处理数据序列进行处理的过程中,循环神经网络模型中的权重矩阵仅被复制一次,且一直存储在FPGA的嵌入式块RAM中,从而提高了循环神经网络模型处理数据序列的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的用于处理数据序列的方法的一个实施例的流程图;
图3是根据本申请的用于处理数据序列的方法的又一个实施例的流程图;
图4是根据本申请的用于处理数据序列的装置的一个实施例的结构示意图;
图5是适于用来实现本申请实施例的服务器的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于处理数据序列的方法或用于处理数据序列的装置的实施例的示例性***架构100。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105,其中,服务器105中内置有FPGA(Field-Programmable Gate Array,现场可编程逻辑门阵列)芯片(图中未示出)。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以发送或接收数据序列等。
终端设备101、102、103可以是支持数据序列输入或输出的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以提供各种服务,例如服务器105首先可以将循环神经网络模型中的权重矩阵复制到FPGA的嵌入式块RAM(random access memory,随机存取存储器)中,然后可以基于循环神经网络模型中的激活函数和嵌入式块RAM中存储的权重矩阵对接收到的数据序列等数据进行分析等处理,并将处理结果(例如处理后的数据序列)反馈给终端设备。
需要说明的是,本申请实施例所提供的用于处理数据序列的方法一般由服务器105执行,相应地,用于处理数据序列的装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于处理数据序列的方法的一个实施例的流程200。该用于处理数据序列的方法,包括以下步骤:
步骤201,接收输入的待处理数据序列。
在本实施例中,用于处理数据序列的方法运行于其上的电子设备(例如图1所示的服务器105)可以通过有线连接方式或者无线连接方式从终端接收待处理数据序列。
在本实施例中,循环神经网络可以利用它内部的记忆来处理任意时序的输入序列。因此,输入的待处理数据序列可以是一段语音信息,还可以是一段待翻译语句,还可以是向量序列。作为示例,待处理数据序列是向量序列:“x(0),x(1),...,x(t)”。
需要说明的是,本实施例对待处理数据序列的格式和内容不进行限定。
步骤202,将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中。
在本实施例中,在接收到待处理数据序列之后,电子设备(例如图1所示的服务器105)可以将循环神经网络模型中的权重矩阵复制到FPGA的嵌入式块随机存取存储器RAM中。
在本实施例中,循环神经网络可以是RNN,还可以是LSTM(Long Short-TermMemory,长短时记忆网络),还可以是GRU(Gated Recurrent Unit,门限循环单元)。循环神经网络模型可以包括输入层、隐藏层和输出层。在循环神经网络模型中,存在一条从输入层到隐藏层的单向流动的信息流,还存在一条从隐藏层到输出层的单向流动的信息流,还存在一条从隐藏层的输出端返回到隐藏层的输入端的信息流,每条信息流都可以对应一个权重矩阵,其中,权重矩阵可以是基于各条信息流的相对重要程度预先设定的参数矩阵。
在本实施例中,FPGA可以是一种可编程器件,其芯片主要包括:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。其中,嵌入块式RAM的存储容量一般较大,可以同时存储循环神经网络模型中的全部权重矩阵。
步骤203,利用循环神经网络模型中的激活函数和嵌入式块RAM中存储的权重矩阵依次对待处理数据序列中的各待处理数据进行处理。
在本实施例中,当循环神经网络模型中的权重矩阵被复制到FPGA的嵌入式块RAM中之后,电子设备(例如图1所示的服务器105)首先可以对FPGA的嵌入式块RAM中存储的权重矩阵和待处理数据序列进行计算,然后通过循环神经网络模型中的激活函数的进一步处理,从而生成处理后的数据序列。
在本实施例中,激活函数可以是非线性函数,其中,激活函数可以是Sigmoid函数、tanh(双曲正切)函数或softmax函数。循环神经网络中的激活函数的主要作用是提供网络的非线性建模能力,循环神经网络中加入激活函数可以使网络具备了分层的非线性映射学习能力。作为示例,在RNN模型中,输入层输入的数据序列为“x(0),x(1),…,x(t)”,隐藏层输出的数据序列是“s(0),s(1),…,s(t)”,输出层输出的数据序列是“y(0),y(1),...,y(t)”,与从输入层到隐藏层的信息流对应的权重矩阵是U,与从隐藏层到输出层的信息流对应的权重矩阵是W,与从隐藏层的输出端返回到隐藏层的输入端的信息流对应的权重矩阵是V,隐藏层的激活函数是f,输出层的激活函数是g,利用循环神经网络模型处理数据序列的公式如下:
s(t)=f(x(t)×U+s(t-1)×V),s(0)=0;
y(t)=g(s(t)×W)。
需要说明的是,利用循环神经网络处理数据序列的方法是目前广泛研究和应用的公知技术,在此不再赘述。
步骤204,输出与待处理数据序列对应的处理后的数据序列。
在本实施例中,在利用循环神经网络模型中的激活函数和嵌入式块RAM中存储的权重矩阵依次对待处理数据序列中的各待处理数据进行处理后,电子设备(例如图1所示的服务器105)可以生成并输出处理后的数据序列。作为示例,若输入的待处理数据序列是一段语音信息,处理后的数据序列可以是对语音信息进行语音识别后生成的与其对应的文字信息;若输入的待处理数据序列是一段待翻译语句,处理后的数据序列可以是对待翻译语句进行语义理解后生成的与其对应的翻译语句。
在本实施例的一些可选的实现方式中,电子设备(例如图1所示的服务器105)可以在输出处理后的数据序列之后,删除嵌入式块RAM中存储的权重矩阵。从而实现了在数据序列处理完成之后,对嵌入式块RAM的内存及时清理。
在本实施例的一些可选的实现方式中,嵌入式块RAM可以为静态随机存取存储器。其中,SRAM(Static Random Access Memory,静态随机存取存储器)是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据,因此,SRAM具有较高的性能和较低的功耗。
本申请的该实施例提供的方法,通过将循环神经网络模型中的权重矩阵复制到FPGA的嵌入式块RAM中,实现了在对待处理数据序列进行处理的过程中,循环神经网络模型中的权重矩阵仅被复制一次,且一直存储在FPGA的嵌入式块RAM中,从而提高了循环神经网络模型处理数据序列的效率。
进一步参考图3,其示出了用于处理数据序列方法的又一个实施例的流程300。该用于处理数据序列方法的流程300,包括以下步骤:
步骤301,接收输入的待处理数据序列。
在本实施例中,用于处理数据序列的方法运行于其上的电子设备(例如图1所示的服务器105)可以通过有线连接方式或者无线连接方式从终端接收待处理数据序列。
步骤302,调用地址分配接口为权重矩阵在嵌入式块RAM中分配存储地址。
在本实施例中,在接收到待处理数据序列之后,电子设备(例如图1所示的服务器105)可以调用软件提供的地址分配接口为权重矩阵在嵌入式块RAM中分配存储地址。
在本实施例中,FPGA芯片中的嵌入块式RAM可以由软件控制,首先软件需要提供一个地址分配接口,电子设备可以调用地址分配接口为权重矩阵分配存储地址。作为示例,软件提供地址分配接口“void*cache_alloc(size_t len)”,电子设备调用该地址分配接口通过“U_addr=cache_alloc(U_size)”、“V_addr=cache_alloc(V_size)”和“W_addr=cache_alloc(W_size)”为权重矩阵U、V和W分配存储地址。
步骤303,调用复制接口将双倍速率同步动态随机存储器中存储的权重矩阵复制到为权重矩阵在嵌入式块RAM中分配的存储地址中。
在本实施例中,在为权重矩阵在嵌入式块RAM中分配存储地址之后,电子设备(例如图1所示的服务器105)可以调用软件提供的复制接口将权重矩阵从DDR(Double DataRate,双倍速率同步动态随机存储器)复制到为权重矩阵在嵌入式块RAM中分配的存储地址中。其中,循环神经网络模型的权重矩阵一般预先存储在CPU的DDR中。
在本实施例中,FPGA芯片中的嵌入块式RAM同样可以由软件控制,首先软件需要提供一个复制接口,电子设备可以调用复制接口将权重矩阵从CPU的DDR中复制到为权重矩阵在嵌入式块RAM中分配的存储地址中。作为示例,软件提供复制接口“copy_to_fpga_cache(void*cpu_addr,void*cache_addr,size_t len)”,电子设备调用该复制接口通过“copy_to_fpga_cache(void*cpu_addr,void*U_addr,U_size)”,“copy_to_fpga_cache(void*cpu_addr,void*V_addr,V_size)”和“copy_to_fpga_cache(void*cpu_addr,void*W_addr,W_size)”,将权重矩阵U、V和W从CPU的DDR中复制到为权重矩阵在嵌入式块RAM中分配的存储地址中。
步骤304,利用循环神经网络模型中的激活函数和嵌入式块RAM中存储的权重矩阵依次对待处理数据序列中的各待处理数据进行处理。
在本实施例中,当循环神经网络模型中的权重矩阵被复制到FPGA的嵌入式块RAM中之后,电子设备(例如图1所示的服务器105)首先可以对FPGA的嵌入式块RAM中存储的权重矩阵和待处理数据序列进行计算,然后通过循环神经网络模型中的激活函数的进一步处理,从而生成处理后的数据序列。
步骤305,输出与待处理数据序列对应的处理后的数据序列。
在本实施例中,在利用循环神经网络模型中的激活函数和嵌入式块RAM中存储的权重矩阵依次对待处理数据序列中的各待处理数据进行处理后,电子设备(例如图1所示的服务器105)可以生成并输出处理后的数据序列。作为示例,若输入的待处理数据序列是一段语音信息,处理后的数据序列可以是对语音信息进行语音识别后生成的与其对应的文字信息;若输入的待处理数据序列是一段待翻译语句,处理后的数据序列可以是对待翻译语句进行语义理解后生成的与其对应的翻译语句。
步骤306,在输出处理后的数据序列之后,调用删除接口删除嵌入式块RAM中存储的权重矩阵。
在本实施例中,在输出处理后的数据序列之后,电子设备(例如图1所示的服务器105)可以调用删除接口删除嵌入式块RAM中存储的权重矩阵。
在本实施例中,FPGA芯片中的嵌入块式RAM同样可以由软件控制,首先软件需要提供一个删除接口,电子设备可以调用删除接口删除嵌入式块RAM中存储的权重矩阵。作为示例,软件提供删除接口“void cache_free(void*addr)”,电子设备调用该删除接口通过“cache_free(U_addr)”,“cache_free(V_addr)”和“cache_free(W_addr)”删除嵌入式块RAM中存储的权重矩阵U、V和W。
从图3中可以看出,与图2对应的实施例相比,本实施例中的用于处理数据序列的方法的流程300突出了通过软件控制FPGA芯片中的嵌入块式RAM的步骤。由此,本实施例描述的方案可以更方便地控制循环神经网络模型中的权重矩阵在嵌入块式RAM中的存储位置和存放时间。
进一步参考图4,作为对各图所示方法的实现,本申请提供了一种用于处理数据序列的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的用于处理数据序列的装置400包括:接收单元401、复制单元402、处理单元403和输出单元404。其中,接收单元401,配置用于接收输入的待处理数据序列;复制单元402,配置用于将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中;处理单元403,配置用于利用循环神经网络模型中的激活函数和嵌入式块RAM中存储的权重矩阵依次对待处理数据序列中的各待处理数据进行处理;输出单元404,配置用于输出与待处理数据序列对应的处理后数据序列。
在本实施例中,用于处理数据序列的装置400中:接收单元401、复制单元402、处理单元403和输出单元404的具体处理及其带来的有益效果可参看图2对应实施例中的步骤201、步骤202、步骤203和步骤204的实现方式的相关描述,在此不再赘述。
在本实施例的一些可选的实现方式中,该装置400还包括:删除单元(图中未示出),配置用于在输出处理后的数据序列之后,删除嵌入式块RAM中存储的权重矩阵。
在本实施例的一些可选的实现方式中,该装置400还包括:分配单元(图中未示出),配置用于调用地址分配接口为权重矩阵在嵌入式块RAM中分配存储地址。
在本实施例的一些可选的实现方式中,复制单元402进一步配置用于:调用复制接口将双倍速率同步动态随机存储器中存储的权重矩阵复制到为权重矩阵在嵌入式块RAM中分配的存储地址中。
在本实施例的一些可选的实现方式中,删除单元进一步配置用于:调用删除接口删除嵌入式块RAM中存储的权重矩阵。
在本实施例的一些可选的实现方式中,嵌入式块RAM为静态随机存取存储器。
下面参考图5,其示出了适于用来实现本申请实施例的服务器的计算机***500的结构示意图。
如图5所示,计算机***500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)503中的程序或者从存储部分509加载到随机访问存储器(RAM)504中的程序而执行各种适当的动作和处理。在RAM 504中,还存储有***500操作所需的各种程序和数据。在现场可编程逻辑门阵列(FPGA)502芯片中,存在有存储容量较大的嵌入块式块RAM,在嵌入块式块RAM中,也可以存储***500操作所需的各种数据。CPU 501、FPGA 502、ROM 503以及RAM 504通过总线505彼此相连。输入/输出(I/O)接口506也连接至总线505。
以下部件连接至I/O接口506:包括键盘、鼠标等的输入部分507;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分508;包括硬盘等的存储部分509;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分510。通信部分510经由诸如因特网的网络执行通信处理。驱动器511也根据需要连接至I/O接口506。可拆卸介质512,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器511上,以便于从其上读出的计算机程序根据需要被安装入存储部分509。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,计算机程序可以通过通信部分510从网络上被下载和安装,和/或从可拆卸介质512被安装。在计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、复制单元、处理单元和输出单元。其中,这些单元的名称在某种情况下并不构成对单元本身的限定,例如,接收单元还可以被描述为“接收输入的待处理数据序列的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,非易失性计算机存储介质可以是实施例中装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。非易失性计算机存储介质存储有一个或者多个程序,当一个或者多个程序被一个设备执行时,使得设备:接收输入的待处理数据序列;将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中;利用循环神经网络模型中的激活函数和嵌入式块RAM中存储的权重矩阵依次对待处理数据序列中的各待处理数据进行处理;输出与待处理数据序列对应的处理后的数据序列。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种用于处理数据序列的方法,其特征在于,所述方法包括:
接收输入的待处理数据序列;
将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中;
利用所述循环神经网络模型中的激活函数和所述嵌入式块RAM中存储的所述权重矩阵依次对所述待处理数据序列中的各待处理数据进行处理;
输出与所述待处理数据序列对应的处理后的数据序列。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在输出所述处理后的数据序列之后,删除所述嵌入式块RAM中存储的所述权重矩阵。
3.根据权利要求1所述的方法,其特征在于,所述将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中之前,包括:
调用地址分配接口为所述权重矩阵在所述嵌入式块RAM中分配存储地址。
4.根据权利要求3所述的方法,其特征在于,所述将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中,包括:
调用复制接口将双倍速率同步动态随机存储器中存储的所述权重矩阵复制到为所述权重矩阵在所述嵌入式块RAM中分配的存储地址中。
5.根据权利要求2所述的方法,其特征在于,所述删除所述嵌入式块RAM中存储的所述权重矩阵,包括:
调用删除接口删除所述嵌入式块RAM中存储的所述权重矩阵。
6.根据权利要求1-5之一所述的方法,其特征在于,所述嵌入式块RAM为静态随机存取存储器。
7.一种用于处理数据序列的装置,其特征在于,所述装置包括:
接收单元,配置用于接收输入的待处理数据序列;
复制单元,配置用于将循环神经网络模型中的权重矩阵复制到现场可编程逻辑门阵列FPGA的嵌入式块随机存取存储器RAM中;
处理单元,配置用于利用所述循环神经网络模型中的激活函数和所述嵌入式块RAM中存储的所述权重矩阵依次对所述待处理数据序列中的各待处理数据进行处理;
输出单元,配置用于输出与所述待处理数据序列对应的处理后数据序列。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
删除单元,配置用于在输出所述处理后的数据序列之后,删除所述嵌入式块RAM中存储的所述权重矩阵。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
分配单元,配置用于调用地址分配接口为所述权重矩阵在所述嵌入式块RAM中分配存储地址。
10.根据权利要求9所述的装置,其特征在于,所述复制单元进一步配置用于:
调用复制接口将双倍速率同步动态随机存储器中存储的所述权重矩阵复制到为所述权重矩阵在所述嵌入式块RAM中分配的存储地址中。
11.根据权利要求8所述的装置,其特征在于,所述删除单元进一步配置用于:
调用删除接口删除所述嵌入式块RAM中存储的所述权重矩阵。
12.根据权利要求7-11之一所述的装置,其特征在于,所述嵌入式块RAM为静态随机存取存储器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610990113.XA CN106529669A (zh) | 2016-11-10 | 2016-11-10 | 用于处理数据序列的方法和装置 |
US15/618,415 US11087203B2 (en) | 2016-11-10 | 2017-06-09 | Method and apparatus for processing data sequence |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610990113.XA CN106529669A (zh) | 2016-11-10 | 2016-11-10 | 用于处理数据序列的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106529669A true CN106529669A (zh) | 2017-03-22 |
Family
ID=58350993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610990113.XA Pending CN106529669A (zh) | 2016-11-10 | 2016-11-10 | 用于处理数据序列的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11087203B2 (zh) |
CN (1) | CN106529669A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019005594A1 (en) * | 2017-06-29 | 2019-01-03 | Amazon Technologies, Inc. | IDENTIFICATION OF IMPROPER ADDRESSES FOR DELIVERY OF PARCELS |
CN109685203A (zh) * | 2018-12-21 | 2019-04-26 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、计算机***及存储介质 |
CN109726797A (zh) * | 2018-12-21 | 2019-05-07 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、计算机***及存储介质 |
CN110018970A (zh) * | 2018-01-08 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 缓存预取方法、装置、设备及计算机可读存储介质 |
CN110825311A (zh) * | 2018-08-10 | 2020-02-21 | 北京百度网讯科技有限公司 | 用于存储数据的方法和装置 |
CN111133453A (zh) * | 2017-08-04 | 2020-05-08 | 诺基亚技术有限公司 | 人工神经网络 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108683749B (zh) * | 2018-05-18 | 2021-07-06 | 携程旅游信息技术(上海)有限公司 | 一种随机邮箱地址的判断方法、设备和介质 |
CN110826706B (zh) * | 2018-08-10 | 2023-10-03 | 北京百度网讯科技有限公司 | 用于神经网络的数据处理方法和装置 |
CN109472031B (zh) * | 2018-11-09 | 2021-05-04 | 电子科技大学 | 一种基于双记忆注意力的方面级别情感分类模型及方法 |
CN111582444B (zh) * | 2020-04-22 | 2023-05-05 | 深圳鲲云信息科技有限公司 | 一种矩阵数据的处理方法、装置、电子设备及存储介质 |
CN111737193B (zh) * | 2020-08-03 | 2020-12-08 | 深圳鲲云信息科技有限公司 | 数据存储方法、装置、设备和存储介质 |
US11886974B1 (en) * | 2023-07-20 | 2024-01-30 | Chromatic Inc. | Neural network chip for ear-worn device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2280980B (en) * | 1993-08-09 | 1997-04-23 | Motorola Inc | Method and apparatus for reducing memory requirements in a reduced line active addressing display system |
US11226840B2 (en) * | 2015-10-08 | 2022-01-18 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Neural network unit that interrupts processing core upon condition |
CN105681628B (zh) | 2016-01-05 | 2018-12-07 | 西安交通大学 | 一种卷积网络运算单元及可重构卷积神经网络处理器和实现图像去噪处理的方法 |
US10698657B2 (en) * | 2016-08-12 | 2020-06-30 | Xilinx, Inc. | Hardware accelerator for compressed RNN on FPGA |
-
2016
- 2016-11-10 CN CN201610990113.XA patent/CN106529669A/zh active Pending
-
2017
- 2017-06-09 US US15/618,415 patent/US11087203B2/en active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019005594A1 (en) * | 2017-06-29 | 2019-01-03 | Amazon Technologies, Inc. | IDENTIFICATION OF IMPROPER ADDRESSES FOR DELIVERY OF PARCELS |
CN110892394A (zh) * | 2017-06-29 | 2020-03-17 | 亚马逊科技公司 | 对包裹交付的不正确地址的标识 |
CN110892394B (zh) * | 2017-06-29 | 2023-11-17 | 亚马逊科技公司 | 对包裹交付的不正确地址的标识 |
CN111133453A (zh) * | 2017-08-04 | 2020-05-08 | 诺基亚技术有限公司 | 人工神经网络 |
CN111133453B (zh) * | 2017-08-04 | 2024-05-14 | 诺基亚技术有限公司 | 人工神经网络 |
CN110018970A (zh) * | 2018-01-08 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 缓存预取方法、装置、设备及计算机可读存储介质 |
CN110018970B (zh) * | 2018-01-08 | 2023-07-21 | 腾讯科技(深圳)有限公司 | 缓存预取方法、装置、设备及计算机可读存储介质 |
CN110825311A (zh) * | 2018-08-10 | 2020-02-21 | 北京百度网讯科技有限公司 | 用于存储数据的方法和装置 |
CN110825311B (zh) * | 2018-08-10 | 2023-04-18 | 昆仑芯(北京)科技有限公司 | 用于存储数据的方法和装置 |
CN109685203A (zh) * | 2018-12-21 | 2019-04-26 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、计算机***及存储介质 |
CN109726797A (zh) * | 2018-12-21 | 2019-05-07 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、计算机***及存储介质 |
CN109726797B (zh) * | 2018-12-21 | 2019-11-19 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、计算机***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11087203B2 (en) | 2021-08-10 |
US20180129933A1 (en) | 2018-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106529669A (zh) | 用于处理数据序列的方法和装置 | |
WO2019114517A1 (zh) | 一种神经网络模型部署方法、预测方法及设备 | |
US11928595B2 (en) | Method of managing data representation for deep learning, method of processing data for deep learning and deep learning system performing the same | |
CN110546611A (zh) | 通过跳过处理操作来减少神经网络处理器中的功耗 | |
CN108958714A (zh) | 业务组件式开发方法、装置、计算机设备及存储介质 | |
CN106951926A (zh) | 一种混合架构的深度学习***方法及装置 | |
CN106843755A (zh) | 用于服务器集群的数据均衡方法与装置 | |
CN107832275A (zh) | 区块链中智能合约标识的生成方法、装置及*** | |
CN107729570A (zh) | 用于服务器的数据迁移方法和装置 | |
CN113642734A (zh) | 一种深度学习模型的分布式训练方法、装置以及计算设备 | |
CN109992542A (zh) | 一种数据搬运方法、相关产品及计算机存储介质 | |
CN105867944A (zh) | Web前端数据操作层及其实现方法 | |
CN107402766A (zh) | 页面布局管理方法及装置 | |
CN111429282B (zh) | 基于反洗钱模型迁移的交易反洗钱方法及装置 | |
CN111464352A (zh) | 调用链路数据处理方法及装置 | |
CN116644804A (zh) | 分布式训练***、神经网络模型训练方法、设备和介质 | |
CN109117291A (zh) | 基于多核处理器的数据调度处理方法、装置和计算机设备 | |
CN106384292A (zh) | 社交网络用户关系采集***及方法 | |
CN104407811B (zh) | 一种基于云计算的合并io装置 | |
CN110750363B (zh) | 计算机存储管理方法和装置、电子设备和存储介质 | |
CN109740302B (zh) | 一种神经网络的仿真方法和装置 | |
CN105677456B (zh) | 一种进程信息的写方法及用户设备 | |
CN116466915A (zh) | 一种基于MVP架构的iOS开发框架构建方法和装置 | |
CN109493037A (zh) | 基于dag结构的资产发行方法、装置及存储介质 | |
CN106598659A (zh) | 数据文件的构建方法、更新应用程序的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170322 |