CN111813721A - 神经网络数据处理方法、装置、设备及存储介质 - Google Patents

神经网络数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111813721A
CN111813721A CN202010679561.4A CN202010679561A CN111813721A CN 111813721 A CN111813721 A CN 111813721A CN 202010679561 A CN202010679561 A CN 202010679561A CN 111813721 A CN111813721 A CN 111813721A
Authority
CN
China
Prior art keywords
neural network
data
current layer
loading
layer
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
Application number
CN202010679561.4A
Other languages
English (en)
Other versions
CN111813721B (zh
Inventor
伍永情
黄炯凯
蔡权雄
牛昕宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Corerain Technologies Co Ltd
Original Assignee
Shenzhen Corerain Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Corerain Technologies Co Ltd filed Critical Shenzhen Corerain Technologies Co Ltd
Priority to CN202010679561.4A priority Critical patent/CN111813721B/zh
Publication of CN111813721A publication Critical patent/CN111813721A/zh
Priority to PCT/CN2021/106147 priority patent/WO2022012563A1/zh
Application granted granted Critical
Publication of CN111813721B publication Critical patent/CN111813721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Abstract

本发明实施例公开了一种神经网络数据处理方法、装置、设备及存储介质,所述方法包括:加载神经网络当前层的第二运算数据;当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。本发明实施例使得神经网络计算引擎的运行与DMA的数据读取并行处理,提高了计算引擎与DMA的并行度,从而减少了计算引擎和数据读取的空闲时间,提高了神经网络运算过程中的数据吞吐率,减少了神经网络运算所需的总体耗时。

Description

神经网络数据处理方法、装置、设备及存储介质
技术领域
本发明实施例涉及深度学习技术领域,尤其涉及一种神经网络数据处理方法、装置、设备及存储介质。
背景技术
深度学习的动机在于建立和模拟人脑进行分析学习的神经网络,由于能快速高效处理大量数据,其应用范围已经越来越广泛。
神经网络的运算通常需要大量的数据,在常见的深度学习神经网络推理芯片设计中,数据都存储在片外存储模块中,那么芯片在进行推理运算时,就需要将数据从片外存储模块搬运到片上存储模块中,计算引擎从片上存储模块读取数据进行深度学习运算。
然而在现有的数据处理方案中,数据搬运与数据运算是串行的,当前计算引擎通常要等待神经网络当前层所需的运算数据都从片外存储模块搬运到片上存储模块后才开始运算,神经网络下一层的数据搬运需要等到神经网络当前层的计算引擎运算完毕才开始,也即,当进行数据搬运时,计算引擎处于空闲状态,当计算引擎进行运算时,数据搬运处于空闲状态,这种数据处理方式的数据吞吐率较低,使得神经网络运算所需时间较长。
发明内容
有鉴于此,本发明实施例提供一种神经网络数据处理方法、装置、设备及存储介质,以减少神经网络运算所需整体时长,提高神经网络的运算效率。
第一方面,本发明实施例提供一种神经网络数据处理方法,包括:
加载神经网络当前层的第二运算数据;
当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。
进一步的,加载神经网络当前层的第二运算数据之后,还包括:
根据预先加载的神经网络当前层的第一运算数据和所述神经网络当前层的第二运算数据进行运算,得到神经网络当前层的运算结果数据;
存储所述神经网络当前层的运算结果数据。
进一步的,存储所述神经网络当前层的运算结果数据之后,还包括:
当所述神经网络当前层的运算结果数据存储完毕,将神经网络下一层作为神经网络当前层,返回加载神经网络当前层的第二运算数据的步骤,直至完成神经网络所有层的第二运算数据的加载。
进一步的,所述神经网络当前层的第二运算数据为神经网络当前层的运算图数据。
进一步的,所述神经网络当前层的第一运算数据为神经网络当前层的权值数据和偏置数据。
进一步的,数据加载方式为DMA传输方式。
第二方面,本发明实施例提供一种神经网络数据处理装置,包括:
第二运算数据加载模块,用于加载神经网络当前层的第二运算数据;
第一运算数据加载模块,用于当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。
进一步的,还包括:
数据运算模块,用于根据预先加载的神经网络当前层的第一运算数据和所述神经网络当前层的第二运算数据进行运算,得到神经网络当前层的运算结果数据;
数据存储模块,用于存储所述神经网络当前层的运算结果数据。
第三方面,本发明实施例提供一种神经网络数据处理设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的神经网络数据处理方法。
第四方面,本发明实施例提供一种运算机可读存储介质,其上存储有运算机程序,该程序被处理器执行时实现本发明任意实施例提供的神经网络数据处理方法。
本发明实施例提供的神经网络数据处理方法通过加载神经网络当前层的第二运算数据;当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据,使得神经网络计算引擎的运行与DMA的数据读取并行处理,提高了计算引擎与DMA的并行度,从而减少了计算引擎和数据读取的空闲时间,提高了神经网络运算过程中的数据吞吐率,减少了神经网络运算所需的总体耗时。
附图说明
图1为本发明实施例一提供的一种神经网络数据处理方法的流程示意图;
图2A为本发明实施例二提供的一种神经网络数据处理方法的流程示意图;
图2B为本发明实施例二提供的神经网络数据处理方法的时序示意图;
图3为本发明实施例三提供的神经网络数据处理装置的结构示意图;
图4为本发明实施例四提供的一种神经网络数据处理设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一运算数据称为第二运算数据,且类似地,可将第二运算数据称为第一运算数据。第一运算数据和第二运算数据两者都是运算数据,但其不是同一运算数据。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”、“批量”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
实施例一
图1为本发明实施例一提供的一种神经网络数据处理方法的流程示意图,本实施例可适用于深度学习神经网络芯片推理过程中的数据处理。如图1所示,本发明实施例一提供的神经网络数据处理方法包括:
S110、加载神经网络当前层的第二运算数据。
具体的,神经网络是一个模拟人脑的神经网络以期能够实现人工智能的算法模型,其通常包括输入层、隐含层和输出层,每一个层都含有大量的运算节点,其中,隐含层的数量较多,在运算时,通常是神经网络的一层运算完成之后再进行神经网络下一层的运算。
神经网络的第二运算数据是指神经网络的运算图数据(feature map data),一般情况下,运算图数据通常根据用户输入神经网络的数据而生成,例如,用户输入一张图片,那么运算图数据是对该图片数据进行相关处理后得到的数据,如图片数据中提取的特征数据等。神经网络每一层的运算图数据都不相同,故神经网络每一层进行运算时,都要加载神经网络当前层的第二运算数据。
本实施例中,数据加载方式为DMA(Direct Memory Access,直接内存存取)传输方式,DMA包括RDMA(Read DMA,DMA读数据)和WDMA(Write DMA,DMA写数据)。加载神经网络当前层的第二运算数据,也就是通过DMA将片外存储模块中的第二运算数据读取到片内缓存模块中,其中,片外存储模块如片外DDR(Double Data Rate双倍速率)存储器(通常简称为片外DDR),片内缓存(Data Buffer)模块如片上RAM(Random Access Memory,随机存取存储器)。本实施例中,可通过RDMA实现加载神经网络当前层的第二运算数据。
S120、当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。
具体的,神经网络的第一运算数据是指神经网络的权值数据(coefficient data)和偏置数据(bias data),神经网络的每一层都有其对应的第一运算数据。神经网络每一层的运算由神经网络计算引擎(engine)完成,当加载神经网络当前层的第二运算数据时(通过RDMA加载),计算引擎会同步开始对神经网络当前层进行运算,但是神经网络当前层运算所需时间通常大于加载神经网络当前层的第二运算数据所需时间,因此,当神经网络当前层的第二运算数据加载完毕,此时计算引擎仍在运算,而此时立即加载神经网络下一层的第一运算数据(通过RDMA加载),使得数据加载不处于空闲状态,即,神经网络当前层的数据运算与神经网络下一层的第一运算数据的加载同步进行,也即,神经网络计算引擎的运行与DMA的数据读取并行处理,从而减少了计算引擎和数据读取的空闲时间,提高了神经网络运算过程中的数据吞吐率。
本发明实施例一提供的神经网络数据处理方法通过加载神经网络当前层的第二运算数据;当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据,使得神经网络计算引擎的运行与DMA的数据读取并行处理,提高了计算引擎与DMA的并行度,从而减少了计算引擎和数据读取的空闲时间,提高了神经网络运算过程中的数据吞吐率,减少了神经网络运算所需的总体耗时。
实施例二
图2A为本发明实施例二提供的一种神经网络数据处理方法的流程示意图,本实施例是对上述实施例的进一步优化。如图2A所示,本发明实施例二提供的神经网络数据处理方法包括:
S210、加载神经网络当前层的第二运算数据。
S220、当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。
S230、根据预先加载的神经网络当前层的第一运算数据和所述神经网络当前层的第二运算数据进行运算,得到神经网络当前层的运算结果数据。
具体的,神经网络每一层的运算是神经网络计算引擎(Engine)对神经网络每一层的第一运算数据和第二运算数据进行运算。神经网络在进行数据加载以及运算时,通常是先加载神经网络当前层的第一运算数据,当神经网络当前层的第一运算数据加载完毕之后,再加载神经网络当前层的第二运算数据,并且,在加载神经网络当前层的第二运算数据的过程中,计算引擎同步运行,其根据已经加载的神经网络当前层的第一运算数据和第二运算数据进行运算,并输出神经网络当前层的运算结果数据,由计算引擎输出的运算结果数据缓存在片上RAM中。
本实施例中,若神经网络当前层为神经网络的第一层,那么预先加载的神经网络当前层的第一运算数据是在计算引擎处于空闲(idle)状态(即计算引擎没有进行推理运算)时,由RDMA读取到片上RAM中。若神经网络当前层不是神经网络的第一层,那么预先加载的神经网络当前层的第一运算数据是在神经网络上一层的第二运算数据加载完毕,且计算引擎处于运行状态(即计算引擎正在对神经网络上一层的数据进行推理运算)时,由RDMA读取到片上RAM中。
由于神经网络计算引擎运算所需时间通常大于加载神经网络当前层的第二运算数据所需时间,因此,当神经网络当前层的第二运算数据加载完毕后,加载神经网络下一层的第一运算数据,和,根据预先加载的神经网络当前层的第一运算数据和神经网络当前层的第二运算数据进行运算,同时进行,即步骤S220和S230同步进行,也即,RDMA与计算引擎同步运行。
S240、存储所述神经网络当前层的运算结果数据。
具体的,当计算引擎将神经网络当前层的运算结果数据输出至片上RAM后,需要通过WDMA将片上RAM中的运算结果数据存储至片外DDR。
S250、当所述神经网络当前层的运算结果数据存储完毕,将神经网络下一层作为神经网络当前层,返回步骤S210,直至完成神经网络所有层的第二运算数据的加载。
具体的,当神经网络当前层的运算结果数据存储完毕,则说明神经网络当前层的数据运算完毕,需要进行神经网络下一层的运算,此时将神经网络下一层作为神经网络当前层,返回步骤S210,即加载神经网络下一层的第二运算数据,直至神经网络所有层的第二运算数据的加载完毕,即直至神经网络运算完毕。由于神经网络下一层的第一运算数据已经在计算引擎的运算过程中加载完毕,因此,当神经网络当前层的数据运算完毕时,计算引擎可快速根据加载后的神经网络下一层的第二运算数据和已经加载的神经网络下一层的第一运算数据进行运算,即计算引擎不需要等待神经网络下一层的第一运算数据的加载,从而减少了计算引擎处于空闲状态的时间。
示例性的,图2B为本发明实施例二提供的神经网络数据处理方法的时序示意图,如图2B所示,神经网络当前层为神经网络第一层,RDMA先加载神经网络当前层的第一计算数据(第一偏置数据(1-bias)21_1和第一权值数据(1-coeff)22_1),然后加载神经网络当前层的第二计算数据(第一计算图数据(1-feature map data)23_1),计算引擎(Engine)根据加载的神经网络当前层的第一计算数据和第二计算数据进行运算(第一计算(1-compute)24_1),输出神经网络当前层的运算结果数据,同时WDMA将神经网络当前层的运算结果数据存储到片外DDR中(第一数据存储(1-output)25_1)。当神经网络当前层的第二计算数据加载完毕后,RDMA立即加载神经网络下一层的第一计算数据(第二偏置数据(2-bias)21_2和第二权值数据(2-coeff)22_2),由图2B可知,此时RDMA、计算引擎与WDMA都处于运行状态,也即三者并行运行。当WDMA将神经网络当前层的运算结果数据存储完毕,那么表示神经网络当前层的数据运算完毕,需要进行神经网络下一层的数据运算,而神经网络下一层的第一运算数据已经预先加载,此时可直接加载神经网络下一层的第二运算数据(第二计算图数据(2-feature map data)23_2),那么计算引擎可快速根据已加载的神经网络下一层的第一运算数据和第二运算数据进行运算(第二计算(2-compute)24_2),同时WDMA将神经网络下一层的运算结果数据存储到片外DDR中(第二数据存储(2-output)25_2)。而当神经网络下一层的第二运算数据加载完毕,可立即加载神经网络第三层的第一运算数据(第三偏置数据(3-bias)21_3和第三权值数据(3-coeff)22_3),后续的数据加载皆如此循环,直至神经网络所有层的数据都加载完毕。这样大大减少了计算引擎处于空闲状态的时间,从而减少了神经网络运算的总体耗时。
本发明实施例二提供的神经网络数据处理方法使得神经网络计算引擎的运行与DMA的数据读取并行处理,提高了计算引擎与DMA的并行度,从而减少了计算引擎和DMA的空闲时间,提高了神经网络运算过程中的数据吞吐率,减少了神经网络运算所需的总体耗时,提高了神经网络的运算效率。
实施例三
图3为本发明实施例三提供的神经网络数据处理装置的结构示意图,本发明实施例可适用于深度学习神经网络芯片推理过程中的数据处理。本发明实施例提供的神经网络数据处理装置可实现本发明任意实施例提供的神经网络数据处理方法,具备实现方法的相应功能结构和有益效果,本实施例中未详尽描述的内容可参考本发明任意方法实施例的描述。
如图3所示,本发明实施例三提供的神经网络数据处理装置包括:第二运算数据加载模块和第一运算数据加载模块,其中:
第二运算数据加载模块用于加载神经网络当前层的第二运算数据;
第一运算数据加载模块用于当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。
进一步的,还包括:
数据运算模块,用于根据预先加载的神经网络当前层的第一运算数据和所述神经网络当前层的第二运算数据进行运算,得到神经网络当前层的运算结果数据;
数据存储模块,用于存储所述神经网络当前层的运算结果数据。
进一步的,还包括:
循环模块,用于当所述神经网络当前层的运算结果数据存储完毕,将神经网络下一层作为神经网络当前层,返回加载神经网络当前层的第二运算数据的步骤,直至完成神经网络所有层的第二运算数据的加载。
进一步的,所述神经网络当前层的第二运算数据为神经网络当前层的运算图数据。
进一步的,所述神经网络当前层的第一运算数据为神经网络当前层的权值数据和偏置数据。
进一步的,数据加载方式为DMA传输方式。
本发明实施例三提供的神经网络数据处理方法通过第二运算数据加载模块和第一运算数据加载模块,使得神经网络计算引擎的运行与DMA的数据读取并行处理,提高了计算引擎与DMA的并行度,从而减少了计算引擎和数据读取的空闲时间,提高了神经网络运算过程中的数据吞吐率,减少了神经网络运算所需的总体耗时。
实施例四
图4为本发明实施例四提供的一种神经网络数据处理设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性神经网络数据处理设备412(以下简称设备412)的框图。图4显示的设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,设备412以通用设备的形式表现。设备412的组件可以包括但不限于:一个或者多个处理器416,存储装置428,连接不同系统组件(包括存储装置428和处理器416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储装置总线或者存储装置控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry SubversiveAlliance,ISA)总线,微通道体系结构(Micro Channel Architecture,MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)430和/或高速缓存存储器432。设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘,例如只读光盘(Compact Disc Read-Only Memory,CD-ROM), 数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储装置428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储装置428中,这样的程序模块442包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。
设备412也可以与一个或多个外部设备414(例如键盘、指向终端、显示器424等)通信,还可与一个或者多个使得用户能与该设备412交互的终端通信,和/或与使得该设备412能与一个或多个其它计算终端进行通信的任何终端(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器420通过总线418与设备412的其它模块通信。应当明白,尽管图中未示出,可以结合设备412使用其它硬件和/或软件模块,包括但不限于:微代码、终端驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器416通过运行存储在存储装置428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明任意实施例所提供的神经网络数据处理方法,该方法可以包括:
加载神经网络当前层的第二运算数据;
当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。
实施例五
本发明实施例五还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的神经网络数据处理方法,该方法可以包括:
加载神经网络当前层的第二运算数据;
当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种神经网络数据处理方法,其特征在于,包括:
加载神经网络当前层的第二运算数据;
当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。
2.如权利要求1所述的方法,其特征在于,加载神经网络当前层的第二运算数据之后,还包括:
根据预先加载的神经网络当前层的第一运算数据和所述神经网络当前层的第二运算数据进行运算,得到神经网络当前层的运算结果数据;
存储所述神经网络当前层的运算结果数据。
3.如权利要求2所述的方法,其特征在于,存储所述神经网络当前层的运算结果数据之后,还包括:
当所述神经网络当前层的运算结果数据存储完毕,将神经网络下一层作为神经网络当前层,返回加载神经网络当前层的第二运算数据的步骤,直至完成神经网络所有层的第二运算数据的加载。
4.如权利要求1-3任一项所述的方法,其特征在于,所述神经网络当前层的第二运算数据为神经网络当前层的运算图数据。
5.如权利要求1-3任一项所述的方法,其特征在于,所述神经网络当前层的第一运算数据为神经网络当前层的权值数据和偏置数据。
6.如权利要求1-3任一项所述的方法,其特征在于,数据加载方式为DMA传输方式。
7.一种神经网络数据处理装置,其特征在于,包括:
第二运算数据加载模块,用于加载神经网络当前层的第二运算数据;
第一运算数据加载模块,用于当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。
8.如权利要求7所述的装置,其特征在于,还包括:
数据运算模块,用于根据预先加载的神经网络当前层的第一运算数据和所述神经网络当前层的第二运算数据进行运算,得到神经网络当前层的运算结果数据;
数据存储模块,用于存储所述神经网络当前层的运算结果数据。
9.一种神经网络数据处理设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的神经网络数据处理方法。
10.一种运算机可读存储介质,其上存储有运算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的神经网络数据处理方法。
CN202010679561.4A 2020-07-15 2020-07-15 神经网络数据处理方法、装置、设备及存储介质 Active CN111813721B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010679561.4A CN111813721B (zh) 2020-07-15 2020-07-15 神经网络数据处理方法、装置、设备及存储介质
PCT/CN2021/106147 WO2022012563A1 (zh) 2020-07-15 2021-07-14 神经网络数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010679561.4A CN111813721B (zh) 2020-07-15 2020-07-15 神经网络数据处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111813721A true CN111813721A (zh) 2020-10-23
CN111813721B CN111813721B (zh) 2022-09-09

Family

ID=72866108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010679561.4A Active CN111813721B (zh) 2020-07-15 2020-07-15 神经网络数据处理方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN111813721B (zh)
WO (1) WO2022012563A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022012563A1 (zh) * 2020-07-15 2022-01-20 深圳鲲云信息科技有限公司 神经网络数据处理方法、装置、设备及存储介质
CN114118389A (zh) * 2022-01-28 2022-03-01 深圳鲲云信息科技有限公司 神经网络数据处理方法、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109564638A (zh) * 2018-01-15 2019-04-02 深圳鲲云信息科技有限公司 人工智能处理器、及其所应用的处理方法
CN109844774A (zh) * 2018-08-28 2019-06-04 深圳鲲云信息科技有限公司 一种并行反卷积计算方法、单引擎计算方法及相关产品
CN110036404A (zh) * 2016-10-07 2019-07-19 世界线公司 用于检测数据流中的欺诈的系统
CN110659069A (zh) * 2018-06-28 2020-01-07 赛灵思公司 用于执行神经网络计算的指令调度方法及相应计算系统
CN110675309A (zh) * 2019-08-28 2020-01-10 江苏大学 一种基于卷积神经网络和VGGNet16模型的图像风格转换方法
CN111066058A (zh) * 2018-06-29 2020-04-24 百度时代网络技术(北京)有限公司 用于低功率实时对象检测的系统和方法
CN111401532A (zh) * 2020-04-28 2020-07-10 南京宁麒智能计算芯片研究院有限公司 一种卷积神经网络推理加速器及加速方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813721B (zh) * 2020-07-15 2022-09-09 深圳鲲云信息科技有限公司 神经网络数据处理方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110036404A (zh) * 2016-10-07 2019-07-19 世界线公司 用于检测数据流中的欺诈的系统
CN109564638A (zh) * 2018-01-15 2019-04-02 深圳鲲云信息科技有限公司 人工智能处理器、及其所应用的处理方法
CN110659069A (zh) * 2018-06-28 2020-01-07 赛灵思公司 用于执行神经网络计算的指令调度方法及相应计算系统
CN111066058A (zh) * 2018-06-29 2020-04-24 百度时代网络技术(北京)有限公司 用于低功率实时对象检测的系统和方法
CN109844774A (zh) * 2018-08-28 2019-06-04 深圳鲲云信息科技有限公司 一种并行反卷积计算方法、单引擎计算方法及相关产品
CN110675309A (zh) * 2019-08-28 2020-01-10 江苏大学 一种基于卷积神经网络和VGGNet16模型的图像风格转换方法
CN111401532A (zh) * 2020-04-28 2020-07-10 南京宁麒智能计算芯片研究院有限公司 一种卷积神经网络推理加速器及加速方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022012563A1 (zh) * 2020-07-15 2022-01-20 深圳鲲云信息科技有限公司 神经网络数据处理方法、装置、设备及存储介质
CN114118389A (zh) * 2022-01-28 2022-03-01 深圳鲲云信息科技有限公司 神经网络数据处理方法、设备及存储介质

Also Published As

Publication number Publication date
CN111813721B (zh) 2022-09-09
WO2022012563A1 (zh) 2022-01-20

Similar Documents

Publication Publication Date Title
CN112699991A (zh) 用于加速神经网络训练的信息处理的方法、电子设备和计算机可读介质
CN111145076B (zh) 数据并行化处理方法、系统、设备及存储介质
US20190325298A1 (en) Apparatus for executing lstm neural network operation, and operational method
CN111190741B (zh) 基于深度学习节点计算的调度方法、设备及存储介质
CN111813721B (zh) 神经网络数据处理方法、装置、设备及存储介质
CN107315716B (zh) 一种用于执行向量外积运算的装置和方法
US11809953B1 (en) Dynamic code loading for multiple executions on a sequential processor
US20210158131A1 (en) Hierarchical partitioning of operators
US20230196113A1 (en) Neural network training under memory restraint
CN110825514B (zh) 人工智能芯片以及用于人工智能芯片的指令执行方法
CN112799599A (zh) 一种数据存储方法、计算核、芯片和电子设备
CN111124685A (zh) 大数据处理方法、装置、电子设备和存储介质
CN111709531B (zh) 量子态的构建方法、装置、量子计算机设备和存储介质
CN112200310B (zh) 智能处理器、数据处理方法及存储介质
US11748250B2 (en) Method and electronic device for data processing, and storage medium
CN111860814A (zh) 一种用于执行batch normalization运算的装置和方法
US11748622B1 (en) Saving intermediate outputs of a neural network
CN114036085A (zh) 基于ddr4的多任务读写调度方法、计算机设备及存储介质
CN110825311B (zh) 用于存储数据的方法和装置
CN113469326A (zh) 在神经网络模型中执行剪枝优化的集成电路装置及板卡
CN113238975A (zh) 优化深度神经网络的参数的内存、集成电路及板卡
CN111552652A (zh) 基于人工智能芯片的数据处理方法、装置和存储介质
CN112596881A (zh) 存储部件及人工智能处理器
CN114365151A (zh) 神经网络模型转化方法、装置、服务器及存储介质
CN110347506B (zh) 基于lstm的数据处理方法、装置、存储介质与电子设备

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