CN111542818B - 一种网络模型数据存取方法、装置及电子设备 - Google Patents

一种网络模型数据存取方法、装置及电子设备 Download PDF

Info

Publication number
CN111542818B
CN111542818B CN201880083680.4A CN201880083680A CN111542818B CN 111542818 B CN111542818 B CN 111542818B CN 201880083680 A CN201880083680 A CN 201880083680A CN 111542818 B CN111542818 B CN 111542818B
Authority
CN
China
Prior art keywords
configuration parameters
calculation
input data
calculation result
memory
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.)
Active
Application number
CN201880083680.4A
Other languages
English (en)
Other versions
CN111542818A (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
Publication of CN111542818A publication Critical patent/CN111542818A/zh
Application granted granted Critical
Publication of CN111542818B publication Critical patent/CN111542818B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Pure & Applied Mathematics (AREA)
  • Biophysics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种网络模型数据存取方法、装置及电子设备,所述方法包括:获取输入数据与配置参数,所述配置参数包括各网络层的配置参数(101);将所述输入数据及配置参数存入模拟存储器中,所述模拟存储器包括数组及数组索引(102);从所述模拟存储器中读取对应网络层的配置参数,根据所述配置参数配置对应网络层的计算引擎(103);将所述模拟存储器中的输入数据读取到所述计算引擎进行计算,得到计算结果(104);将所述计算结果存入所述模拟存储器中(105)。通过将输入数据及计算结果存入模拟存储器中,在模拟存储器中,通过索引到数组方式,可以提高数据读取的命中率,从而提高数据读取的速度,进而提高整个网络模型的数据处理速度。

Description

一种网络模型数据存取方法、装置及电子设备
技术领域
本发明涉及数据处理领域,更具体的说,是涉及一种网络模型数据存取方法、装置及电子设备。
背景技术
随着AI技术的发展,对复杂的深度学习网络模型要求更高,在深度学习网络模型中,一层网络的数据传输量非常大,为了保证硬件上板测试的正确率,通过需要对很多或者全部的网络层都进行仿真,包括读取数据和将计算结果存入在存储器中,由于每层网络的数据量非常大,所以每层网络在仿真的过程中,都需要传输大量的数据,在回归测试中的传输数据量甚至达到上亿个数据,因此存在数据读取速度慢,使得验证测试的时间非常的长的问题。
发明内容
本发明的目的是针对上述现有技术存在的缺陷,提供一种网络模型数据存取方法、装置及电子设备,解决了网络模型数据读取速度慢的问题。
本发明的目的是通过以下技术方案来实现的:
第一方面,提供一种网络模型数据存取方法,所述方法包括:
获取输入数据与配置参数,所述配置参数包括各网络层的配置参数;
将所述输入数据及配置参数以索引数组的形式存入模拟存储器中;
从所述模拟存储器中读取对应网络层的配置参数,根据所述配置参数配置对应网络层的计算引擎;
将所述模拟存储器中的输入数据读取到所述计算引擎进行计算,得到计算结果;
将所述计算结果存入所述模拟存储器中。
可选的,在所述将所述计算结果存入所述模拟存储器中之后,所述方法还包括:
读取所述模拟存储器中的计算结果与数据库中对应所述输入数据及配置参数的历史计算结果进行对比验证,得到验证结果。
可选的,所述输入数据包括外设获取到的图像数据,所述模拟存储器中的输入数据包括外设获取到的图像数据或对应于上一网络层的计算结果。
可选的,所述读取所述模拟存储器中的计算结果与数据库中对应所述输入数据及配置参数的历史计算结果进行对比验证,得到验证结果,包括:
获取数据库中对应每层网络层的输入数据与配置参数的历史计算结果对每一网络层的计算结果分别进行对比验证;或
获取数据库中对应整个网络模型的输入数据与配置参数的历史计算结果对所有网络层的最终计算结果进行对比验证。
可选的,在所述计算引擎包括以下任一项:
基于现场可编程门阵列FPGA的计算引擎;
基于专用集成电路ASIC的计算引擎;
基于图形处理器GPU的计算引擎。
可选的,在所述将所述计算结果存入所述模拟存储器中之后,所述方法还包括:
从所述模拟存储器中读取新网络层对应的配置参数,根据所述配置参数更新对应网络层的计算引擎;
将所述模拟存储器中的上一网络层的计算结果做为输入数据读取到更新后的计算引擎进行计算,得到新的计算结果;
将所述新的计算结果存入所述模拟存储器中;
将重复上述步骤直到计算完所有网络层得到的最终计算结果存储到模拟存储器中。
第二方面,提供一种网络模型数据存取装置,所述装置包括:
获取模块,用于获取输入数据与配置参数,所述配置参数包括各网络层的配置参数;
模拟存储模块,用于将所述输入数据及配置参数以索引数组的形式存入模拟存储器中;
模拟配置模块,用于从所述模拟存储器中读取对应网络层的配置参数,根据所述配置参数配置对应网络层的计算引擎;
计算模块,用于将所述模拟存储器中的输入数据读取到所述计算引擎进行计算,得到计算结果;
结果存储模块,用于将所述计算结果存入所述模拟存储器中。
第三方面,提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的网络模型数据存取方法中的步骤。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的网络模型数据存取方法中的步骤。
本发明带来的有益效果:获取输入数据与配置参数,所述配置参数包括各网络层的配置参数;将所述输入数据及配置参数存入模拟存储器中,所述模拟存储器包括数组及数组索引;从所述模拟存储器中读取对应网络层的配置参数,根据所述配置参数配置对应网络层的计算引擎;将所述模拟存储器中的输入数据读取到所述计算引擎进行计算,得到计算结果;将所述计算结果存入所述模拟存储器中。通过将输入数据及计算结果存入模拟存储器中,在模拟存储器中,通过索引到数组方式,可以提高数据读取的命中率,从而提高数据读取的速度,进而提高整个网络模型的数据处理速度。
附图说明
图1为本发明实施例的一种网络模型数据存取方法流程示意图;
图2为本发明实施例的另一种网络模型数据存取方法流程示意图;
图3为本发明实施例的验证网络层的数据存取示意图;
图4为本发明实施例的一种网络模型数据存取装置结构示意图;
图5为本发明实施例的另一种网络模型数据存取装置结构示意图;
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
模拟人类实际神经网络的数学方法问世以来,人们已慢慢习惯了把这种人工神经网络直接称为神经网络。神经网络在系统辨识、模式识别、智能控制等领域有着广泛而吸引人的前景,特别在智能控制中,人们对神经网络的自学习功能尤其感兴趣,并且把神经网络这一重要特点看作是解决自动控制中控制器适应能力这个难题的关键钥匙之一
神经网络(Neural Networks,NN)是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。神经网络的发展与神经科学、数理科学、认知科学、计算机科学、人工智能、信息科学、控制论、机器人学、微电子学、心理学、光计算、分子生物学等有关,是一门新兴的边缘交叉学科。
神经网络的基础在于神经元。
神经元是以生物神经系统的神经细胞为基础的生物模型。在人们对生物神经系统进行研究,以探讨人工智能的机制时,把神经元数学化,从而产生了神经元数学模型。
大量的形式相同的神经元连结在—起就组成了神经网络。神经网络是一个高度非线性动力学系统。虽然,每个神经元的结构和功能都不复杂,但是神经网络的动态行为则是十分复杂的;因此,用神经网络可以表达实际物理世界的各种现象。
神经网络模型是以神经元的数学模型为基础来描述的。人工神经网络(Artificial Neural Network)是对人类大脑系统的一阶特性的一种描述。简单地讲,它是一个数学模型。神经网络模型由网络拓扑节点特点和学习规则来表示。神经网络对人们的巨大吸引力主要包括:并行分布处理、高度鲁棒性和容错能力、分布存储及学习能力、能充分逼近复杂的非线性关系。
在控制领域的研究课题中,不确定性系统的控制问题长期以来都是控制理论研究的中心主题之一,但是这个问题一直没有得到有效的解决。利用神经网络的学习能力,使它在对不确定性系统的控制过程中自动学习系统的特性,从而自动适应系统随时间的特性变异,以求达到对系统的最优控制;显然这是一种十分振奋人心的意向和方法。
人工神经网络的模型现在有数十种之多,应用较多的典型的神经网络模型包括BP神经网络、Hopfield网络、ART网络和Kohonen网络。
本发明提供了一种网络模型数据存取方法、装置及电子设备。
本发明的目的是通过以下技术方案来实现的:
第一方面,请参见图1,图1是本发明实施例提供的一种网络模型数据存取方法的流程示意图,如图1所示,所述方法包括以下步骤:
101、获取输入数据与配置参数,所述配置参数包括各网络层的配置参数。
上述的输入数据可以是由外部设备进行获取,上述的输入数据可以是图像数据,上述的外部设备可以是传感器,比如摄像头,也可以是存储有图像数据的存储设备,比如移动硬盘或数据库服务器;上述的输入数据也可以是由内部生成,比如图像软件。上述的配置参数包括每层网络的配置参数,上述的每层网络指的是网络模型中的每层网络,上述的配置参数可以是由对网络模型进行训练时使用的配置参数,比如卷积层的权值参数、卷积核参数、步长参数等参数。上述的网络模型指是预先训练过的网络模型,训练数据可以通过在各个数据库中获取,并经过数据处理后得到,数据处理可以是裁剪、压缩、数据清洗等处理。
102、将所述输入数据及配置参数存入模拟存储器中,所述模拟存储器包括数组及数组索引。
上述的模拟存储器可以是虚拟存储器,将所述输入数据及配置参数存入模拟存储器中,可以在各网络层读取输入数据或写入计算数据的时候,提高读写的速度。上述的数组用于存入数据,上述的数组索引用于索引到数组,从而提高数据的读取速度。通过模拟存储器对输入数据及计算数据进行存取,可以提高数据读取的命中率,进而提高数据的存取速度。在一些可能的实施例中,上述的输入数据也可以是基于与上一层网络具有相同配置参数的网络对相同输入数据进行计算得到的计算结果,比如:假设需要验证测试的网络模型01中的一层的配置参数为A,输入数据为B,计算得到的计算结果为C1,假设有与该层网络具有相同配置参数A的网络层,属于一个成熟网络模型02中的一层,这层网络对输入数据B的计算结果为C2(可以认为C2为期望的计算结果),将该层网络的计算结果C2与输入数据B一同做为输入数据读取到上述模拟存储器中,可以理解为,输入数据B为待验证测试的网络模型01中的初始输入数据,在第一层网络中计算得到C1,而第一层网络的下一层网络,即是第二层网络,可以读取C1进行计算,也可以读取C2进行计算。这样,可以防止在验证测试中因某层的计算偏差导致后面的计算偏差过大,进而找不到最开始出现偏差的层或者说找不出所有出现偏差的层的问题。
103、从所述模拟存储器中读取对应网络层的配置参数,根据所述配置参数配置对应网络层的计算引擎。
上述的配置参数可以是预先设置好的参数,上述的配置参数对应于各网络层,在网络模型中,每层网络的算法可以是不一样的,对输入数据的要求以及处理方式也可以是不一样的,因此,每层网络可以配置不同的参数以实现各层网络的算法,具体需要配置的参数可以根据模型的不同或者是算法的不同来进行具体的设置。上述的计算引擎用于根据配置参数对输入数据进行计算。
104、将所述模拟存储器中的输入数据读取到所述计算引擎进行计算,得到计算结果。
上述的输入数据可以理解为每一层网络需要的输入数据,可以是网络模型的第一层网络的输入数据,也可以是上一层网络的计算结果数据。在上述模拟存储器中对输入数据进行存储时,可以将不同层的输入数据存储到不同的存储区域,即可以将不同层的输入数据存储到不同的一个数组或不同数组中进行存储,并对该些数组建立对应的索引。输入数据的读取可以是通过对应网络层的计算引擎在模拟存储器中进行读取。
105、将所述计算结果存入所述模拟存储器中。
在步骤104中,对输入数据进行计算后,得到计算结果,可以将得到的计算结果返回到模拟存储器中,存入新的存储区域中,并建立新的索引以索引到该计算结果的数据。上述新的存储区域可以是新的数组,也可以是一个数组中的新的下标范围。这样,在下一网络层准备好后,可以通过模拟存储器快速读取计算结果进行计算,从而提高整个网络模型的数据存取速度,进而提高仿真的速度。
在本实施例中,获取输入数据与配置参数,所述配置参数包括各网络层的配置参数;将所述输入数据及配置参数存入模拟存储器中,所述模拟存储器包括数组及数组索引;从所述模拟存储器中读取对应网络层的配置参数,根据所述配置参数配置对应网络层的计算引擎;将所述模拟存储器中的输入数据读取到所述计算引擎进行计算,得到计算结果;将所述计算结果存入所述模拟存储器中。通过将输入数据及计算结果存入模拟存储器中,在模拟存储器中,通过索引到数组方式,可以提高数据读取的命中率,从而提高数据读取的速度,进而提高整个网络模型的数据处理速度。
需要说明的是,上述的计算结果可以称作仿真结果,本发明实施例提供的网络模型数据存取方法可以应用于需要进行数据存取设备,例如:计算机、服务器、手机等可以进行网络模型数据存取的设备。
请参见图2,图2是本发明实施例提供的另一种网络模型数据存取方法的流程示意图,如图2所示,所述方法包括以下步骤:
201、获取输入数据与配置参数,所述配置参数包括各网络层的配置参数;
202、将所述输入数据及配置参数存入模拟存储器中,所述模拟存储器包括数组及数组索引;
203、从所述模拟存储器中读取对应网络层的配置参数,根据所述配置参数配置对应网络层的计算引擎;
204、将所述模拟存储器中的输入数据读取到所述计算引擎进行计算,得到计算结果;
205、将所述计算结果存入所述模拟存储器中;
206、读取所述模拟存储器中的计算结果与数据库中对应所述输入数据及配置参数的历史计算结果进行对比验证,得到验证结果。
在步骤205中,将计算结果存入模拟存储器,便于下一层网络在读取该计算结果做为输入数据时,提高读取速度。在步骤206中,上述的计算结果可以是某一层网络的计算结果,也可以是整个网络模型的最终计算结果,可以理解的是,数据库中的历史计算结果指的是将相同的输入数据在相同配置参数下输入网络模型中的得到的结果,可以认为是在该配置参数与输入数据下的期望结果,比如,通过输入数据A与配置参数B在某一层网络进行计算得到的计算结果为C,上述的历史计算结果可以是通过输入数据A与配置参数B在一层网络进行计算得到的计算结果,假设为C1,上述的对比验证即是将计算结果C与计算结果C1进行比较;又如,通过输入数据A与配置参数B在整个网络模型中计算得到的计算结果为D,上述的历史计算结果则可以是通过输入数据A与配置参数B在一个成熟的网络模型中计算得到的计算结果,假设为D1,则上述的对比验证是将计算结果D与计算结果D1进行比较。上述的历史计算结果用于对网络模型进行验证,上述的对比验证结果包括相同可不相同,可以理解的是如果计算结果与数据库中对应的历史计算结果不相同,则说明该网络模型的硬件上板测试不通过,如果计算结果与数据库中对应的历史计算结果相同,则说明该网络模型的硬件上板测试通过。需要说明的是,上述的数据库可以是远程数据库,也可以是本地数据库,数据库中的计算结果可以是基于成熟的网络模型得到的计算结果,用于对比数据仿真检测的计算结果。上述的对比验证可以通过CPU处理器进行对比。在一些可能的实施例中,对每层网络的计算结果进行对比验证的情况下,如果一层网络的计算结果与历史计算结果不相同,可以将该历史计算结果存储进入上述的模拟存储器中,在下一层网络开始计算时,将该历史计算结果做为输入数据读取到该下一层网络中进行计算,这样,可以保证每一层的输入数据都是期望输入数据,进而提高验证测试的精准度。
在本实施例中,通过将存储在模拟存储器中的计算结果读取到处理器中与数据库中历史数据结果进行对比,实现对硬件上板的测试,由于计算结果是模拟存储器中读取到处理器中进行对比,数据读取速度快,减少了仿真时间,进而减少验证测试的时间。
可选的,所述输入数据包括外设获取到的图像数据,所述模拟存储器中的输入数据包括外设获取到的图像数据或对应于上一网络层的计算结果。
上述的外设可以是设置有存储器的数据采集设备,比如摄像机、手机、平板电脑等,也可以是用于存储数据的硬盘、云端数据库等提供输入数据的设备,将上述设备中的数据读取到模拟存储器中,在验证测试时,通过模拟存储器对输入数据进行读取,可以提高数据的读取速度。上述的图像数据数据可以是用于人脸识别的图像数据,可以是用于车辆识别的图像数据,可以是用于物体识别的图像数据等。上述模拟存储器从外设获取输入数据以及配置参数,在进行仿真时,网络模型从模拟存储器中读取输入数据以及配置参数,在一些可能这的实施例中,上述模拟存储器还可以从数据库中获取历史计算结果做为输入数据进行存储。从外设获取到的输入数据,可以看成初始输入数据,该初始输入数据经过一层网络进行计算后,得到的计算结果可以做为输入数据输入到下一层网络中进行计算。
可选的,所述读取所述模拟存储器中的计算结果与数据库中对应所述输入数据及配置参数的历史计算结果进行对比验证,得到验证结果,包括:
获取数据库中对应每层网络层的输入数据与配置参数的历史计算结果对每一网络层的计算结果分别进行对比验证;或
获取数据库中对应整个网络模型的输入数据与配置参数的历史计算结果对所有网络层的最终计算结果进行对比验证。
在该实施方式中,请结合图3,当需要对网络模型中的每层网络层的计算结果都进行验证时,上述数据库中可以存储有对应于每层网络层的历史计算结果(期望计算结果),在对网络模型的验证测试中,可以每计算完一层,将计算结果存入模拟存储器中,再将计算结果从模拟存储器中读取出来放入处理器中,处理器获取到数据库中对于该层网络的历史计算结果(期望计算结果)进行对比。每层网络计算一次,执行一次对比,这样,对每一层网络进行验证测试,可以提高验证测试的精准度。当需要对网络模型最终计算结果进行验证时,上述数据库中可以存储有对应于整个网络模型的历史计算结果(期望计算结果),可以等待网络模型中的所有的网络层计算完毕,再将计算结果与数据库中的历史计算结果(期望计算结果)读取到处理器中进行对比。
可选的,在所述计算引擎包括以下任一项:
基于现场可编程门阵列FPGA的计算引擎;
基于专用集成电路ASIC的计算引擎;
基于图形处理器GPU的计算引擎。
上述的现场可编程门阵列使数字电路系统的设计非常灵活,并且显著缩短了系统研制的周期,缩小了数字电路系统的体积和所用芯片的种类,可以用于图像获取或图像识别。上述的专用集成电路具有专用性强的特点,可以在经过设计后专用于网络模型硬件上板验证测试。上述图形处理器具有图形加速功能,可以处理复杂图像的计算,将CPU处理从计算中解放,提高图像数据计算的同时,也提高CPU处理器对计算结果的对比速度。当然,上述的计算引擎只是本实施例中较优的选择,不应理解为是对本实施例的限定。
在所述将所述计算结果存入所述模拟存储器中之后,所述方法还包括:
从所述模拟存储器中读取新网络层对应的配置参数,根据所述配置参数更新对应网络层的计算引擎;
将所述模拟存储器中的上一网络层的计算结果做为输入数据读取到更新后的计算引擎进行计算,得到新的计算结果;
将所述新的计算结果存入所述模拟存储器中;
将重复上述步骤直到计算完所有网络层得到的最终计算结果存储到模拟存储器中。
在一层网络计算完毕后,会进行下一层网络的计算,上述的新网络层指的下一网络层,网络模型中的网络层配置参数可以是一次性配置完成,也可以是在计算开始前进行配置,比如,可以是在一层网络计算完成后,开始配置下一层网络的参数,可以理解的是,每一层网络的参数存储于上述模拟存储器中的不同数组中,可在模拟存储器中的进行相应的索引得到。重复计算的过程,对网络模型中所有的网络层进行计算,直到最后一层网络的计算,得到最终的计算结果并存入模拟存储器中,便于取出与数据库中的历史计算结果(期望计算结果)进行对比。
第二方面,如图4所示,提供一种网络模型数据存取装置,所述装置包括:
获取模块301,用于获取输入数据与配置参数,所述配置参数包括各网络层的配置参数;
模拟存储模块302,用于将所述输入数据及配置参数以索引数组的形式存入模拟存储器中;
模拟配置模块303,用于从所述模拟存储器中读取对应网络层的配置参数,根据所述配置参数配置对应网络层的计算引擎;
计算模块304,用于将所述模拟存储器中的输入数据读取到所述计算引擎进行计算,得到计算结果;
结果存储模块305,用于将所述计算结果存入所述模拟存储器中。
可选的,如图5所示,所述装置还包括:
验证模块306,用于读取所述模拟存储器中的计算结果与数据库中对应所述输入数据及配置参数的历史计算结果进行对比验证,得到验证结果。
可选的,所述输入数据包括外设获取到的图像数据,所述模拟存储器中的输入数据包括外设获取到的图像数据或对应于上一网络层的计算结果。
可选的,所述验证模块306还用于获取数据库中对应每层网络层的输入数据与配置参数的历史计算结果对每一网络层的计算结果分别进行对比验证;或
所述验证模块306还用于获取数据库中对应整个网络模型的输入数据与配置参数的历史计算结果对所有网络层的最终计算结果进行对比验证。
可选的,所述计算引擎包括以下任一项:
基于现场可编程门阵列FPGA的计算引擎;
基于专用集成电路ASIC的计算引擎;
基于图形处理器GPU的计算引擎。
可选的,所述模拟配置模块303还用于从所述模拟存储器中读取新网络层对应的配置参数,根据所述配置参数更新对应网络层的计算引擎;
所述计算模块304还用于将所述模拟存储器中的上一网络层的计算结果做为输入数据读取到更新后的计算引擎进行计算,得到新的计算结果;
所述结果存储模块305还用于将所述新的计算结果存入所述模拟存储器中;
所述结果存储模块305还用于将重复上述步骤直到计算完所有网络层得到的最终计算结果存储到模拟存储器中。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的网络模型数据存取的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的网络模型数据存取的步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种网络模型数据存取方法,其特征在于,所述方法包括:
获取输入数据与配置参数,所述配置参数包括各网络层的配置参数;
将所述输入数据及配置参数存入模拟存储器中,所述模拟存储器包括数组及数组索引;
从所述模拟存储器中读取对应网络层的配置参数,根据所述配置参数配置对应网络层的计算引擎;
将所述模拟存储器中的输入数据读取到所述计算引擎进行计算,得到计算结果;
将所述计算结果存入所述模拟存储器中。
2.如权利要求1所述的方法,其特征在于,在所述将所述计算结果存入所述模拟存储器中之后,所述方法还包括:
读取所述模拟存储器中的计算结果与数据库中对应所述输入数据及配置参数的历史计算结果进行对比验证,得到验证结果。
3.如权利要求2所述的方法,其特征在于,所述输入数据包括外设获取到的图像数据,所述模拟存储器中的输入数据包括外设获取到的图像数据或对应于上一网络层的计算结果。
4.如权利要求3所述的方法,其特征在于,所述读取所述模拟存储器中的计算结果与数据库中对应所述输入数据及配置参数的历史计算结果进行对比验证,得到验证结果,包括:
获取数据库中对应每层网络层的输入数据与配置参数的历史计算结果对每一网络层的计算结果分别进行对比验证;或
获取数据库中对应整个网络模型的输入数据与配置参数的历史计算结果对所有网络层的最终计算结果进行对比验证。
5.如权利要求1至4中任一所述的方法,其特征在于,所述计算引擎包括以下任一项:
基于现场可编程门阵列FPGA的计算引擎;
基于专用集成电路ASIC的计算引擎;
基于图形处理器GPU的计算引擎。
6.如权利要求2所述的方法,其特征在于,在所述将所述计算结果存入所述模拟存储器中之后,所述方法还包括:
从所述模拟存储器中读取新网络层对应的配置参数,根据所述配置参数更新对应网络层的计算引擎;
将所述模拟存储器中的上一网络层的计算结果做为输入数据读取到更新后的计算引擎进行计算,得到新的计算结果;
将所述新的计算结果存入所述模拟存储器中;
将重复上述步骤直到计算完所有网络层得到的最终计算结果存储到模拟存储器中。
7.一种网络模型数据存取装置,其特征在于,所述装置包括:
获取模块,用于获取输入数据与配置参数,所述配置参数包括各网络层的配置参数;
模拟存储模块,用于将所述输入数据及配置参数以索引数组的形式存入模拟存储器中;
模拟配置模块,用于从所述模拟存储器中读取对应网络层的配置参数,根据所述配置参数配置对应网络层的计算引擎;
计算模块,用于将所述模拟存储器中的输入数据读取到所述计算引擎进行计算,得到计算结果;
结果存储模块,用于将所述计算结果存入所述模拟存储器中。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
对比验证模块,用于读取所述模拟存储器中的计算结果与数据库中对应所述输入数据及配置参数的历史计算结果进行对比验证,得到验证结果。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的网络模型数据存取方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的网络模型数据存取方法中的步骤。
CN201880083680.4A 2018-12-12 2018-12-12 一种网络模型数据存取方法、装置及电子设备 Active CN111542818B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/120563 WO2020118555A1 (zh) 2018-12-12 2018-12-12 一种网络模型数据存取方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN111542818A CN111542818A (zh) 2020-08-14
CN111542818B true CN111542818B (zh) 2023-06-06

Family

ID=71075272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880083680.4A Active CN111542818B (zh) 2018-12-12 2018-12-12 一种网络模型数据存取方法、装置及电子设备

Country Status (2)

Country Link
CN (1) CN111542818B (zh)
WO (1) WO2020118555A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363877B (zh) * 2020-11-10 2023-04-21 海光信息技术股份有限公司 芯片验证方法及平台
CN116150563B (zh) * 2023-02-24 2024-01-05 之江实验室 一种业务执行方法、装置、存储介质及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108718296A (zh) * 2018-04-27 2018-10-30 广州西麦科技股份有限公司 基于sdn网络的网络管控方法、装置与计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126481B (zh) * 2016-06-29 2019-04-12 华为技术有限公司 一种计算系统和电子设备
CN107229967B (zh) * 2016-08-22 2021-06-15 赛灵思公司 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法
CN106650922B (zh) * 2016-09-29 2019-05-03 清华大学 硬件神经网络转换方法、计算装置、软硬件协作系统
JP6852365B2 (ja) * 2016-11-25 2021-03-31 富士通株式会社 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法
US11023807B2 (en) * 2016-12-30 2021-06-01 Microsoft Technology Licensing, Llc Neural network processor
CN107016175B (zh) * 2017-03-23 2018-08-31 中国科学院计算技术研究所 适用神经网络处理器的自动化设计方法、装置及优化方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108718296A (zh) * 2018-04-27 2018-10-30 广州西麦科技股份有限公司 基于sdn网络的网络管控方法、装置与计算机可读存储介质

Also Published As

Publication number Publication date
CN111542818A (zh) 2020-08-14
WO2020118555A1 (zh) 2020-06-18

Similar Documents

Publication Publication Date Title
KR102450374B1 (ko) 데이터 인식 및 트레이닝 장치 및 방법
US9886663B2 (en) Compiling network descriptions to multiple platforms
US9558442B2 (en) Monitoring neural networks with shadow networks
US20150242741A1 (en) In situ neural network co-processing
Valentine et al. Typicality in categorization, recognition and identification: Evidence from face recognition
CN110991633A (zh) 一种基于忆阻网络的残差神经网络模型及其应用方法
CN111176758B (zh) 配置参数的推荐方法、装置、终端及存储介质
CN106982359A (zh) 一种双目视频监控方法、系统和计算机可读存储介质
CN108073917A (zh) 一种基于卷积神经网络的人脸识别方法
CN105224986A (zh) 基于忆阻器件的深度神经网络系统
CN111542818B (zh) 一种网络模型数据存取方法、装置及电子设备
CN112163671A (zh) 一种新能源场景生成方法及系统
Du et al. Efficient network construction through structural plasticity
CN114065806B (zh) 基于脉冲神经网络的机械手触觉数据分类方法
CN106407932B (zh) 基于分数阶微积分与广义逆神经网络的手写数字识别方法
KR101855360B1 (ko) 신경망의 학습 최적화를 위한 신경망 구성 방법 및 장치
CN109359542A (zh) 基于神经网络的车辆损伤级别的确定方法及终端设备
Oshima et al. Storage capacity and retrieval time of small-world neural networks
CN111602145A (zh) 卷积神经网络的优化方法及相关产品
US20150213356A1 (en) Method for converting values into spikes
CN112044082B (zh) 一种信息检测方法、装置及计算机可读存储介质
CN109313673A (zh) 网络模型的运行方法及相关产品
CN110826726B (zh) 目标处理方法、目标处理装置、目标处理设备及介质
Rodet et al. Towards a dynamic model of associative semantic memory
Farcas et al. A hardware prototype targeting distributed deep learning for on-device inference

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