CN115454627A - 一种神经网络模型的计算方法、计算机设备和存储介质 - Google Patents

一种神经网络模型的计算方法、计算机设备和存储介质 Download PDF

Info

Publication number
CN115454627A
CN115454627A CN202211052493.4A CN202211052493A CN115454627A CN 115454627 A CN115454627 A CN 115454627A CN 202211052493 A CN202211052493 A CN 202211052493A CN 115454627 A CN115454627 A CN 115454627A
Authority
CN
China
Prior art keywords
data
heterogeneous
neural network
instruction
network model
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
Application number
CN202211052493.4A
Other languages
English (en)
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 CN202211052493.4A priority Critical patent/CN115454627A/zh
Publication of CN115454627A publication Critical patent/CN115454627A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种神经网络模型的计算方法、计算机设备和存储介质。该方法应用于计算***,计算***包括能够相互通信的主机设备和异构设备,主机设备上存储有神经网络模型;包括如下步骤:监测所述神经网络模型与所述异构设备进行异构计算中指令转换的第一数据,从所述第一数据中确定出不会被再次使用的数据作为第二数据;删除与所述第二数据对应的原始数据和/或用于将所述原始数据部署至所述异构设备上的配置指令。本发明能够及时清理主机内存,有效提升算法应用的运行效率,能够支持更多个算法模型的同时运行。

Description

一种神经网络模型的计算方法、计算机设备和存储介质
技术领域
本发明涉及神经网络技术领域,尤其涉及一种神经网络模型的计算方法、计算机设备和存储介质。
背景技术
卷积神经网络的算法复杂度及计算量在传统的CPU指令集上计算时间过长,难以满足实际场景需求,阻碍了卷积神经网络在日常应用中的部署。为了解决此问题,可以通过设置与主机设备相互通信的异构设备与主机设备进行异构计算以提升神经网络的处理效率。
进行异构计算时,需要将传统的算子计算描述为异构设备能够识别的数据流计算指令,同时也需要将至少部分神经网络的参数数据转化为有利于异构设备加速读取的格式。上述的转换过程会涉及到大量的数据复制,这些复制的数据以及数据流计算指令会一直存在于主机设备的内存中。
进一步地,在实际人工智能应用中,通常需要加载多个神经网络模型来协同完成一个实际的算法任务,例如安全生产监控领域中,需要安全帽识别、工服识别、烟雾报警识别等功能,同时加载多个神经网络模型并进行异构计算,将会有大量的数据和指令存在主机设备的内存中,这会迅速消耗主机设备的内存,导致算法应用的运行效率下降。
发明内容
基于此,有必要针对主机内存被快速消耗,算法运行效率低的问题,提出了一种神经网络模型的计算方法、计算机设备和存储介质,能够及时清理主机内存,从而能够支持更多个算法模型的同时运行,有效提升算法应用的运行效率。
一种神经网络模型的计算方法,应用于计算***,所述计算***包括能够相互通信的主机设备和异构设备,所述主机设备上存储有神经网络模型;
所述神经网络模型的计算方法包括如下步骤:
监测所述神经网络模型与所述异构设备进行异构计算中指令转换的第一数据,从所述第一数据中确定出不会被再次使用的数据作为第二数据;
删除与所述第二数据对应的原始数据和/或用于将所述原始数据部署至所述异构设备上的配置指令。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上所述方法的步骤。
一种智能设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述方法的步骤。
采用本发明实施例,具有如下有益效果:
本发明通过及时清理异构计算中指令转换产生的冗余数据,以降低算法任务的内存占用和运行效率,从而在同一个计算***中支持加载更多的算法模型。
进一步地,当主机设备和异构设备针对一个神经网络模型要进行异构计算时,获取该神经网络模型待部署至异构设备上的原始数据和用于将原始数据部署至异构设备上的配置指令,将配置指令和原始数据传输至异构设备上,根据配置指令将原始数据部署至异构设备上之后,根据原始数据和配置指令的传输状态删除主机设备上的配置指令和原始数据,从而能够及时删除主机设备内存中不再被需要的配置指令和原始数据,清理出内存的空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1是本发明提供的神经网络模型的计算方法的第一实施例的流程示意图;
图2是本发明提供的神经网络模型的计算方法的应用场景示意图;
图3是本发明提供的神经网络模型的计算方法的第二实施例的流程示意图;
图4是本发明提供的神经网络模型的计算方法的第三实施例的流程示意图;
图5是本发明提供的智能设备的一实施例的结构示意图;
图6是本发明提供的计算机可读存储介质的一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
进行异构计算时,需要将传统的算子计算描述为异构设备能够识别的数据流计算指令,根据需要部署在异构设备上的模型参数生成DMA寄存器配置指令,DMA寄存器配置指令用于配置异构设备的寄存器,指示模型参数的存储位置。一旦完成异构设备的寄存器的配置,这些传统的算子、数据流计算指令、DMA寄存器配置指令以及模型参数在后续的推理过程中并不会被再次使用,如果不及时删除就会一直占用主机设备的内存空间,主机设备的内存空间是有限的,当多个神经网络模型同时进行运算时,主机设备可能会由于内存空间被大量占用而出现内存空间不足和运行效率较低的情况,这将严重影响用户使用体验。
为解决这个问题,在本发明中将在推理过程中并不会被再次使用传统的算子、数据流计算指令、DMA寄存器配置指令以及模型参数及时删除,清理出内存的空间,以降低算法任务的内存占用和运行效率,在同一个计算***中支持加载更多的算法模型。
请结合参阅图1和图2,图1是本发明提供的神经网络模型的计算方法的第一实施例的流程示意图。图2是本发明提供的神经网络模型的计算方法的应用场景示意图。本发明提供的神经网络模型的计算方法应用于计算***100,计算***100包括能够相互通信的主机设备101和异构设备102,在本实施场景中,异构设备102为CAISA设备。主机设备101上存储有神经网络模型,具体的说,是主机设备101从原始模型文件加载运行所需的数据到主机设备101的内存中。
本发明提供的神经网络模型的计算方法包括如下步骤:
S101:监测神经网络模型与异构设备进行异构计算中指令转换的第一数据,从第一数据中确定出不会被再次使用的数据作为第二数据。
在一个具体的实施场景中,主机设备与异构设备进行异构计算时,需要将神经网络模型的原始数据传输至异构设备中,由异构设备根据原始数据完成推理运算,主机设备则根据神经网络的另一部分数据进行同步运算,这样能够有效提升运算的效率。
在一个实施场景中,第一数据包括神经网络模型需要待部署至异构设备上的原始数据和用于将原始数据部署至异构设备上的配置指令。原始数据包括神经网络的算子和模型参数,这些需要传输至异构设备中的原始数据在传输之前需要进行指令转换,例如,算子需要描述为异构设备能够识别的数据流计算指令,才能被异构设备所使用,部分模型参数也需要通过顺序调换的处理,转化为有利于异构设备加速读取的格式。模型参数需要使用配置指令,例如DMA寄存器配置指令,存储于异构设备的寄存器中。
第一数据存储于主机设备的内存中,在根据第一数据完成异构设备的寄存器的配置时,至少部分第一数据在推理过程中不再会被使用,因此可以从第一数据中确定出不会被再次使用的数据作为第二数据,以在主机设备的内存中根据第二数据及时进行清理,避免内存空间被过度消耗。例如,可以间隔预设周期获取第一数据中当前已经成功传输至异构设备中的部分作为第二数据。还可以待第一数据全部都已经成功传输至异构设备中时,将全部成功传输的第一数据作为第二数据。
在一个实施场景中,将配置指令和原始数据传输部署至异构设备上,例如将配置指令和原始数据发送至异构设备,将原始数据存储至异构设备接收配置指令和原始数据并根据配置指令将原始数据部署于异构设备的寄存器中,当配置指令和原始数据部署至异构设备后,异构设备能够根据配置指令和原始数据进行推理运算,从而实现异构设备和主机设备的异构计算。具体地说,异构设备能够根据配置指令读取存储于异构设备中的神经网络模型的各层的模型参数,根据配置指令获取神经网络模型的运算指令,根据模型参数和运算指令进行推理运算。
在一种实施例中,接收异构设备的反馈信息,该反馈信息是异构设备接收到原始数据和配置指令后生成的,基于反馈信息从第一数据中确定出不会被再次使用的数据作为第二数据,反馈信息可以是一个标记,标记当前传输的原始数据或配置指令是否是完整的,如果是完整的,后续异构设备上进行推理就不需要再从主机设备获取相关信息,即对主机设备没有其它依赖了。因此可以及时对主机设备的内存进行清理,防止出现过载的情况。反馈信息中包括了接收到的配置指令和原始数据的标识,主机设备能够根据接收到的反馈信息获取哪些原始数据和配置指令已经传输成功,可以作为不再被使用的第二数据。
S102:删除与第二数据对应的原始数据和/或用于将原始数据部署至异构设备上的配置指令。
在一个具体的实施场景中,删除与第二数据对应的原始数据和/或用于将原始数据部署至异构设备上的配置指令。将主机设备的内存中与第二数据对应的原始数据,例如,传统的算子、未更改顺序的模型参数等数据以及根据传统的算子转换的数据流计算指令,更改顺序后的模型参数进行删除,还可以将第二数据对应的用于将原始数据部署至异构设备上的配置指令,例如用于配置异构设备的寄存器,指示模型参数的存储位置的DMA寄存器配置指令,进行删除。
用户可以根据实际需求选择第二数据对应的原始数据和用于将原始数据部署至异构设备上的配置指令中的至少一者进行删除,如果将两者全部删除,可以在主机设备上清理出最大程度的内存空间。
异构设备进行推理运算时,主机设备使用其CPU进行处理计算,例如对输入图片的裁剪、将输入数据进行转换到8bit的操作、以及将硬件返回的8bit数据反量化成float的操作等,删除原始数据和配置指令的操作不会影响神经网络的运算效率。由于主机设备的内存大小是有限的,原始数据和配置指令占用的内存相当于算法模型文件的大小,如果不对主机设备内存中的配置指令和原始数据进行删除,当多个算法模型进行运算时会导致主机设备的内存被过多的占用,当内存被占用的空间过多时,主机设备自身的运算效率会受到影响,且无法再添加更多的算法模型进行运算,因此,及时清理主机设备的内存空间,不仅能够确保主机设备运行效率不受影响,还能够使得计算***能够同时支持更多个算法模型的运算,有效提升了算法应用的运行效率。
通过上述描述可知,在本实施例中监测神经网络模型与异构设备进行异构计算中指令转换的第一数据,从第一数据中确定出不会被再次使用的数据作为第二数据,删除与第二数据对应的原始数据和/或用于将原始数据部署至异构设备上的配置指令,能够及时清理异构计算中指令转换产生的冗余数据,以降低算法任务的内存占用和运行效率,从而在同一个计算***中支持加载更多的算法模型。
请参阅图3,图3是本发明提供的神经网络模型的计算方法的第二实施例的流程示意图。本发明提供的神经网络模型的计算方法包括如下步骤:
S201:根据参数数据生成直接存储器访问指令,将参数数据按照直接存储器访问指令的指示位置存储于异构设备的寄存器中。
在一个具体的实施场景中,原始数据包括神经网络模型的参数数据和算子。神经网络模型的模型参数需要部署至异构设备上,还可以通过顺序调换的处理,转化为有利于异构设备加速读取的格式,以供异构设备进行推理运算。模型参数包括神经网络模型各层的权值和偏置之类的参数。可以通过DMA(Direct Memory Access,直接存储器访问)指令配置异构设备的寄存器的空间,指示各个模型参数对应的存储位置,从而神经网络模型的模型参数存储于寄存器中各自对应的存储位置。异构设备可以根据DMA指令获取各个模型参数对应的存储位置,在推理运算时能够根据DMA指令获取所需的模型参数以顺利进行推理运算。
S202:根据多个算子之间的关系对多个算子进行融合,将融合后的算子进行组合变换获取引擎计算指令,将引擎计算指令发送至异构设备。
在一个具体的实施场景中,神经网络的算子需要描述为为异构设备能够识别的引擎计算指令。一个神经网络模型中包括多个算法指令,每个算法指令中包括多个算子,获取神经网络模型的所有算子的信息,包括运算符号、运算参数、多个算子之间的连接关系等等。根据预先设定的融合规则对至少两个算子进行融合操作,获取融合后的算子。将融合后的算子组合变换以生成异构设备能够快速读取的引擎计算指令,将引擎计算指令发送至异构设备,从而异构设备能够根据引擎计算指令在主机设备进行计算的同时进行推理运算,实现高效率的异构计算。
S203:当引擎计算指令、参数数据和直接存储器访问指令传输至异构设备后,删除主机设备上的参数数据、算子、引擎计算指令和直接存储器访问指令。
在一个具体的实施场景中,当引擎计算指令、参数数据和直接存储器访问指令传输至异构设备后,异构设备能够根据引擎计算指令和参数数据进行推理运算,主机设备上的参数数据和算子,以及引擎计算指令和直接存储器访问指令都不再被需要,因此可以删除,从而清理出内存的空间。
在本实施场景中,将直接存储器访问指令与其对应的参数数据或算子或引擎计算指令对应标记,在传输时将一个直接存储器访问指令与其对应的参数数据、或引擎计算指令一起传输,传输完成后将该直接存储器访问指令与其对应的参数数据或引擎计算指令和算子一起删除。
通过上述描述可知,在本实施例中当引擎计算指令、参数数据和直接存储器访问指令传输至异构设备后,删除主机设备上的参数数据、算子、引擎计算指令和直接存储器访问指令,能够及时清理出主机设备的内存空间,降低算法任务的内存占用和运行效率,从而在同一个计算***中支持加载更多的算法模型。
请参阅图4,图4是本发明提供的神经网络模型的计算方法的第三实施例的流程示意图。本发明提供的神经网络模型的计算方法包括如下步骤:
S301:获取神经网络模型需要部署至异构设备上的原始数据和用于将原始数据部署至异构设备上的配置指令。
S302:将配置指令和原始数据传输并部署至异构设备上,以使得异构设备能够根据配置指令获取原始数据,并根据原始数据进行推理运算。
在一个具体的实施场景中,步骤S301-S302与本发明提供的神经网络模型的计算方法的第一实施例中的步骤S101已经进行相关描述,此处不再进行赘述。
S303:当反馈信息显示异构设备接收到的神经网络模型的所有配置指令和/或原始数据完整时,删除神经网络的所有配置指令和原始数据。
在一个具体的实施场景中,神经网络模型需要部署到异构设备的配置指令和原始数据较多,而主机设备和异构设备之间的通信连接的传输速率有限,因此配置指令和原始数据无法一次性全部传输。可以在当反馈信息显示异构设备接收到的神经网络模型的所有配置指令和/或原始数据完整时,确保所有的所有配置指令和/或原始数据都不会在需要使用了,删除该神经网络的所有配置指令和/或原始数据。例如,需要将配置指令和原始数据A、B、C、D传输至异构设备上,当A、B、C、D全部传输至异构设备上之后,删除主机设备上的A、B、C、D。
S304:获取当前接收到的反馈信息对应的已被异构设备接收的原始数据和配置指令,删除当前接收到的反馈信息对应的已被异构设备接收的原始数据和配置指令。
在一个具体的实施场景中,也可以边传输配置指令和原始数据,边删除传输成功的配置指令和原始数据。获取当前传输至异构设备的当前配置指令和当前原始数据,删除主机设备上的当前配置指令和当前原始数据,这样可以有效提升删除的效率。例如,需要将配置指令和原始数据A、B、C、D传输至异构设备上,当传输至异构设备的配置指令和原始数据为A和B,则删除主机设备上的A和B,并不删除C和D,待C和D也传输至异构设备上后,再删除主机设备上的C和D。可以实时检测或者按照预设周期检测接收到的反馈信息对应的原始数据和配置指令,删除当前接收到的反馈信息对应的已被异构设备接收的原始数据和配置指令
在本实施场景中,需要传输的配置指令和原始数据是已知的,将需要传输的配置指令和原始数据组成至少一个队列,例如组成一个队列(A、B、C、D),按照接收到的异构设备发送的反馈信息,将该反馈信息对应的配置指令和原始数据从该队列中删除,直至该队列为空。
在一个实施场景中,由于神经网络是按层进行计算的,因此配置指令和原始数据也可以按层进行传输,从而异构设备可以先根据接收到的较低层次的配置指令和原始数据进行推理运算,待当前的较低层次推理运算完成后,再接收较高层次的配置指令和原始数据进行下一层的推理运算。删除主机设备的配置指令和原始数据也是按层进行删除,当根据反馈信息获取神经网络的一层的配置指令和原始数据传输至异构设备上后,删除该层在主机设备上的配置指令和原始数据。
步骤S303和步骤S304中选择一者执行即可,可以由用户根据实际需求进行选择,在此不做限制。在执行步骤S303或304之前,可以对当前主机设备的内存空间进行检测,获取主机设备的内存剩余空间,若主机设备的内存剩余空间充足(例如大于预设预设值),则可以不执行步骤S303和步骤S304,若主机设备的内存剩余空间不充足(例如小于或等于预设值),则执行步骤303或步骤S304。在其他实施场景中,还可以根据主机设备的内存剩余空间,选择执行步骤S303还是步骤S304,若主机设备的内存剩余空间充足(例如大于预设预设值),则执行步骤S303,若主机设备的内存剩余空间不充足(例如小于或等于预设值),则执行步骤304。
在其他实施场景中,还可以根据计算***需要运行的神经网络模型的数量进行评估,若需要运行的神经网络模型的数量较少(例如,仅运行一个)则可以不执行步骤S303和步骤S304,若需要运行的神经网络模型数量较多,则执行步骤303或步骤S304。
通过上述描述可知,在本实施场景中,当神经网络模型的所有配置指令和原始数据全部传输至异构设备之后,删除神经网络的所有配置指令和原始数据,或者获取当前传输至异构设备的当前配置指令和当前原始数据,删除主机设备上的当前配置指令和当前原始数据,能够根据用户需求灵活选择合适的删除方式。
请参阅图5,图5是本发明提供的智能设备的一实施例的结构示意图。智能设备20包括处理器21、存储器22。处理器21耦接存储器22。存储器22中存储有计算机程序,处理器21在工作时执行该计算机程序以实现如上所述的方法。详细的步骤可参见上述,在此不再赘述。
请参阅图6,图6是本发明提供的计算机可读存储介质的一实施例的结构示意图。计算机可读存储介质30中存储有至少一个计算机程序31,计算机程序31用于被处理器执行以实现如上所述方法,详细的步骤可参见上述,在此不再赘述。在一个实施例中,计算机可读存储介质30可以是终端中的存储芯片、硬盘或者是移动硬盘或者优盘、光盘等其他可读写存储的工具,还可以是服务器等等。
所述存储介质可以由任何类型的易失性或非易失性存储设备、或者它们的组合来实现。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,ErasableProgrammable Read-Only Memory)、电可擦除可编程只读存储器(EEPROMElectricallyErasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,FerromagneticRandom Access Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,SynchronousStatic Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random AccessMemory)、同步动态随机存取存储器(SDRAM,Synchronous DynamicRandomAccessMemory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double DataRateSynchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
在本发明所提供的几个实施例中,应该理解到,所揭露的***和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本发明所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本发明所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本发明所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上内容是结合具体的优选实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。

Claims (10)

1.一种神经网络模型的计算方法,其特征在于,应用于计算***,所述计算***包括通信连接的主机设备和异构设备,所述主机设备上存储有神经网络模型;所述神经网络模型的计算方法包括:
监测所述神经网络模型与所述异构设备进行异构计算中指令转换的第一数据,从所述第一数据中确定出不会被再次使用的数据作为第二数据;
删除与所述第二数据对应的原始数据和/或用于将所述原始数据部署至所述异构设备上的配置指令。
2.根据权利要求1所述的神经网络模型的计算方法,其特征在于,从所述第一数据中确定出不会被再次使用的数据作为第二数据,包括如下步骤:
获取所述神经网络模型待部署至所述异构设备上的原始数据和用于将所述原始数据部署至所述异构设备上的配置指令;
将所述配置指令和所述原始数据传输并部署至所述异构设备上,以使得所述异构设备根据所述配置指令获取所述原始数据,并根据所述原始数据进行推理运算;
接收所述异构设备的反馈信息,所述反馈信息是所述异构设备接收到所述原始数据和所述配置指令后生成的,基于所述反馈信息从所述第一数据中确定出不会被再次使用的数据作为第二数据。
3.根据权利要求2所述的神经网络模型的计算方法,其特征在于,删除与所述第二数据对应的原始数据和/或用于将所述原始数据部署至所述异构设备上的配置指令,包括:
当所述反馈信息显示所述异构设备接收到的所述神经网络模型的所有所述配置指令和/或所述原始数据完整时,删除所述神经网络的所有所述配置指令和所述原始数据。
4.根据权利要求2所述的神经网络模型的计算方法,其特征在于,删除与所述第二数据对应的原始数据和/或用于将所述原始数据部署至所述异构设备上的配置指令,包括:
获取当前接收到的反馈信息对应的已被所述异构设备接收的所述原始数据和所述配置指令,删除所述当前接收到的反馈信息对应的已被所述异构设备接收的所述原始数据和所述配置指令。
5.根据权利要求2所述的神经网络模型的计算方法,其特征在于,删除与所述第二数据对应的原始数据和/或用于将所述原始数据部署至所述异构设备上的配置指令,包括:
当所述反馈信息显示所述异构设备接收到的所述神经网络模型的一层的所述配置指令和/或所述原始数据完整时,删除所述神经网络的所述层的所述配置指令和所述原始数据。
6.根据权利要求2所述的神经网络模型的计算方法,其特征在于,所述原始数据包括所述神经网络模型的参数数据和算子;
所述配置指令包括用于配置所述参数数据在所述异构设备的寄存器中的存储位置的直接存储器访问指令和用于指示与所述算子对应的计算操作的引擎计算指令;
获取所述神经网络模型待部署至所述异构设备上的原始数据和用于将所述原始数据部署至所述异构设备上的配置指令,包括:
根据多个所述算子之间的关系对所述多个算子进行融合,将融合后的算子进行组合变换获取所述引擎计算指令,将所述引擎计算指令发送至所述异构设备。
7.根据权利要求6所述的神经网络模型的计算方法,其特征在于,所述获取所述神经网络模型需要复制至所述异构设备上的原始数据和用于将所述原始数据复制至所述异构设备上的配置指令的步骤,包括:
根据所述参数数据生成直接存储器访问指令,将所述参数数据按照所述直接存储器访问指令的指示位置存储于所述异构设备的寄存器中,所述异构设备能够根据所述直接存储器访问指令从所述指示位置读取所述参数数据。
8.根据权利要求7所述的神经网络模型的计算方法,其特征在于,删除与所述第二数据对应的原始数据和/或用于将所述原始数据部署至所述异构设备上的配置指令,包括:
当所述引擎计算指令、所述参数数据和所述直接存储器访问指令传输至所述异构设备后,删除所述主机设备上的所述参数数据、所述算子、所述引擎计算指令和所述直接存储器访问指令。
9.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述方法的步骤。
10.一种智能设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述方法的步骤。
CN202211052493.4A 2022-08-30 2022-08-30 一种神经网络模型的计算方法、计算机设备和存储介质 Pending CN115454627A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211052493.4A CN115454627A (zh) 2022-08-30 2022-08-30 一种神经网络模型的计算方法、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211052493.4A CN115454627A (zh) 2022-08-30 2022-08-30 一种神经网络模型的计算方法、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN115454627A true CN115454627A (zh) 2022-12-09

Family

ID=84300701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211052493.4A Pending CN115454627A (zh) 2022-08-30 2022-08-30 一种神经网络模型的计算方法、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN115454627A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112452A (zh) * 2023-08-24 2023-11-24 上海合芯数字科技有限公司 寄存器模拟配置方法、装置、计算机设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112452A (zh) * 2023-08-24 2023-11-24 上海合芯数字科技有限公司 寄存器模拟配置方法、装置、计算机设备和存储介质
CN117112452B (zh) * 2023-08-24 2024-04-02 上海合芯数字科技有限公司 寄存器模拟配置方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN111143039B (zh) 一种虚拟机的调度方法、装置及计算机存储介质
CN101268620A (zh) 用于管理设备管理对象的设备管理***和方法
CN107608820A (zh) 一种基于纠删码的文件写入方法及相关装置
CN112882765B (zh) 数字孪生模型调度方法和装置
CN115454627A (zh) 一种神经网络模型的计算方法、计算机设备和存储介质
CN112788112A (zh) 设备健康管理微服务自动发布方法、装置和平台
CN112035401A (zh) 模型数据处理方法、装置、电子设备及可读介质
CN112235422B (zh) 数据处理方法、装置、计算机可读存储介质及电子装置
CN116483546B (zh) 分布式训练任务调度方法、装置、设备及存储介质
CN115878052B (zh) Raid阵列巡检方法、巡检装置和电子设备
CN102986151A (zh) 监视***及数据传输装置和方法
CN114995770B (zh) 一种数据处理方法、装置、设备、***及可读存储介质
CN113272785B (zh) 一种挂载文件***的方法、终端设备及存储介质
CN113676353B (zh) 设备的控制方法、装置、存储介质和电子装置
CN112286622A (zh) 虚机迁移处理及策略生成方法、装置、设备及存储介质
CN115934354A (zh) 在线存储方法和装置
CN111654337B (zh) 一种信息处理方法、终端及计算机可读存储介质
CN114513469A (zh) 分布式***的流量整形方法、装置和存储介质
CN114676205A (zh) 事件信息的处理方法及装置
CN114895933A (zh) ***升级方法、网络设备、介质和电子设备
CN110351104A (zh) 一种vim选择方法及装置
CN114168581A (zh) 数据清洗方法、装置、计算机设备及存储介质
CN114553859A (zh) 一种bmc配置管理方法、装置、电子设备及存储介质
CN114003374A (zh) 基于云平台的节点调度方法、装置及电子设备和存储介质
CN112817953A (zh) 一种数据校验的方法、装置、计算机设备及计算机可读存储介质

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