CN106529679B - 一种机器学习方法及*** - Google Patents
一种机器学习方法及*** Download PDFInfo
- Publication number
- CN106529679B CN106529679B CN201610898838.6A CN201610898838A CN106529679B CN 106529679 B CN106529679 B CN 106529679B CN 201610898838 A CN201610898838 A CN 201610898838A CN 106529679 B CN106529679 B CN 106529679B
- Authority
- CN
- China
- Prior art keywords
- storage
- storage space
- space
- layer
- machine learning
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了机器学习方法及***,应用于信息处理技术领域。在本实施例的方法中,机器学习***会根据机器学习模型的各层计算架构对应的存储空间的存储值分配一个整体存储空间,这样各层计算架构可以循环利用该整体存储空间。相比现有技术中,需要为各层计算架构分别分配对应的存储空间,本实施例的方法可以减少因分配多个存储空间而造成的存储碎片,且很大程度地减少了机器学习模型运行时所需的存储空间,从而提升了***性能,这样就可以将该机器学习方法运行于存储受限的终端设备。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种机器学习方法及***。
背景技术
现有的深度学***台,比如服务器或者内存/显存较大的个人电脑(Personal Computer,PC)端。深度学习方法在不同的应用领域如人脸检测、人脸配准、人脸识别等,有不同的学习模型,需解决的问题复杂不同,计算架构的复杂程度也不同。
计算平台在通过深度学***台上,会造成计算性能下降,甚至导致算法无法运行;另外,计算平台在分配存储空间时,是对当前将要执行的一层计算架构进行分配,这样分配操作将发生多次,易形成存储碎片。
发明内容
本发明实施例提供一种机器学习方法及***,实现了为机器学习模型分配整体存储空间,以便机器学习模型的各层计算架构循环利用。
本发明实施例提供一种机器学习方法,包括:
分别确定机器学习模型的各层计算架构对应的存储空间的存储值;
根据所述各层计算架构的存储空间的存储值为所述机器学习模型分配对应的整体存储空间,使得所述整体存储空间能储存任一层计算架构运行时所需的信息;
所述机器学习模型的各层计算架构分别利用所述整体存储空间进行相应计算。
本发明实施例还提供一种机器学习***,包括:
存储确定单元,用于分别确定机器学习模型的各层计算架构对应的存储空间的存储值;
分配单元,用于根据所述各层计算架构的存储空间的存储值为所述机器学习模型分配对应的整体存储空间,使得所述整体存储空间能储存任一层计算架构运行时所需的信息;
计算单元,用于所述机器学习模型的各层计算架构分别利用所述整体存储空间进行相应计算。
可见,在本实施例的方法中,机器学习***会根据机器学习模型的各层计算架构对应的存储空间的存储值分配一个整体存储空间,这样各层计算架构可以循环利用该整体存储空间。相比现有技术中,需要为各层计算架构分别分配对应的存储空间,本实施例的方法可以减少因分配多个存储空间而造成的存储碎片,且很大程度地减少了机器学习模型运行时所需的存储空间,从而提升了***性能,这样就可以将该机器学习方法运行于存储受限的终端设备。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种机器学习方法的流程图;
图2是本发明实施例中确定某一层计算架构对应的存储空间的存储值的方法流程图;
图3是本发明实施例中某一层计算架构利用整体存储空间进行相应计算的方法流程图;
图4是本发明实施例中各层计算架构循环利用整体存储空间的示意图;
图5是本发明应用实施例中提供的一种机器学习方法的流程图;
图6是本发明实施例提供的一种机器学习***的结构示意图;
图7是本发明实施例提供的另一种机器学习***的结构示意图;
图8是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种机器学习方法,主要是由机器学习***,比如深度学习***等所执行的方法,流程图如图1所示,包括:
步骤101,分别确定机器学习模型的各层计算架构对应的存储空间的存储值。
可以理解,机器学习模型包括多层计算架构,比如卷积层,相加层,相减层等,这些层组合起来形成机器学习模型的计算架构,以实现一定的功能,比如通过深度学习进行前向预测等功能。
每一层计算架构都包括输入单元、计算单元和输出单元,这些单元在运行时都会占用一定的存储空间,因此,某一层计算架构对应的存储空间包括该层计算架构所包括的各个单元在运行时所需的存储空间。在执行本步骤时,机器学习***会根据机器学习模型的配置文件来获取。
步骤102,根据步骤101确定的各层计算架构的存储空间的存储值为机器学习模型分配对应的整体存储空间,使得整体存储空间能储存任一层计算架构运行时所需的信息。
本实施例中,机器学习***为机器学习模型分配一个整体存储空间,使得各层计算架构运行时循环利用该整体存储空间,该整体存储空间需要足够储存任一层计算架构运行时所需的信息,比如该整体存储空间的存储值与各层计算架构的存储空间中最大存储空间的存储值一致。
步骤103,机器学习模型的各层计算架构分别利用整体存储空间进行相应计算。
可见,在本实施例的方法中,机器学习***会根据机器学习模型的各层计算架构对应的存储空间的存储值分配一个整体存储空间,这样各层计算架构可以循环利用该整体存储空间。相比现有技术中,需要为各层计算架构分别分配对应的存储空间,本实施例的方法可以减少因分配多个存储空间而造成的存储碎片,且很大程度地减少了机器学习模型运行时所需的存储空间,从而提升了***性能,这样就可以将该机器学习方法运行于存储受限的终端设备。
参考图2所示,在一个具体的实施例中,机器学习***在执行上述步骤101中确定某一层计算架构对应的存储空间的存储值,可以通过如下步骤来实现:
步骤201,获取机器学习模型的配置文件,配置文件中包括某一层计算架构的计算参数的信息,输入参数的信息及结构信息。
其中,计算参数是指该层计算架构在计算时所用到的固定参数,比如一些系数等,计算参数的信息可以包括计算参数的大小和类型等信息;结构信息可以包括该层计算架构的描述信息等;输入参数的信息可以包括输入参数的大小和类型等信息。
步骤202,根据输入参数的信息,计算参数的信息及结构信息确定某一层计算架构的输出参数的大小。具体地,机器学习***可以根据输入参数的信息对输入参数进行赋值,并根据结构信息及输入参数的赋值计算出输出参数,然后即可确定输出参数的大小。
在确定了输出参数的大小后,机器学习***可以执行如下步骤203或204。
步骤203,将输入参数的大小,输出参数的大小及计算参数的大小之和作为某一层计算架构对应的存储空间的存储值。
在这种情况下,机器学习***在执行上述步骤102时,具体可以确定各层计算架构对应的存储空间中最大存储空间的存储值,这样在分配整体存储空间时,使得整体存储空间的存储值与最大存储空间的存储值一致。
步骤204,确定某一层计算架构对应的存储空间的存储值包括:储存输入参数的空间存储值,储存计算参数的空间存储值及储存输出参数的空间存储值,即该层计算架构所包括的输入单元、计算单元和输出单元分别占用的存储空间的存储值。
在这种情况下,机器学习***在执行上述步骤102时,具体可以确定各层计算架构对应的存储空间中储存输入参数的第一最大空间的存储值,储存计算参数的第二最大空间的存储值及储存输出参数的第三最大空间的存储值,这样在分配整体存储空间时,使得整体存储空间的存储值是第一最大空间,第二最大空间及第三最大空间的存储值之和。
比如,一个机器学习模型有3层计算架构,第一层计算架构对应的储存输入参数,计算参数和输出参数的空间存储值分别为a1,a2和a3,第二层计算架构对应的储存输入参数,计算参数和输出参数的空间存储值分别为b1,b2和b3,第三层计算架构对应的储存输入参数,计算参数和输出参数的空间存储值分别为c1,c2和c3,其中,a1大于b1且大于c1,b2大于a2且大于c2,c3大于a2且大于b2,则确定第一最大空间,第二最大空间及第三最大空间的存储值分别为a1,b2和c3,因此,分配的整体存储空间的存储值为a1+b2+c3。
其中,第一最大空间,第二最大空间和第三最大空间并不是指存储值排在前面三个位置的空间,而是指不同维度的最大空间。
参考图3所示,在另一个具体的实施例中,机器学习***在执行上述步骤103时,某一层计算架构利用上述分配的整体存储空间进行计算时,具体可以通过如下步骤来实现:
步骤301,机器学习***将某一层计算架构的计算参数储存到整体存储空间中的第二存储空间。
步骤302,某一层计算架构将整体存储空间中的第一存储空间作为储存对应输入参数的空间。
步骤303,某一层计算架构根据输入参数和计算参数计算得到输出参数,将输出参数储存到整体存储空间中的第三存储空间。
如果某一层计算架构为第一层计算架构,即排在机器学习模型的第一位置的一层计算架构,则第一层计算架构的输入参数可以是用户输入到机器学习***的;如果某一层计算架构为非第一层计算架构,非第一层计算架构在执行上述步骤301到303时,上述步骤301中的第一存储空间为某一层计算架构的前一层计算架构储存输出参数的空间,且某一层计算架构的输入参数为前一层计算架构的输出参数;而上述步骤303中的第三存储空间为前一层计算架构储存输入参数的空间。
例如,参考图4所示为机器学习***分配的整体存储空间,具体可以包括第一存储空间,第二存储空间和第三存储空间,在初始计算时,机器学习***会将第一层计算架构的输入参数储存到第一存储空间,将第一层计算架构的计算参数储存到第二存储空间,这样第一层计算架构就会根据输入参数和计算参数计算得到输出参数,将输出参数输出到第三层存储空间。之后,机器学习***可以将第三存储空间的地址指针直接赋给储存第二层计算架构的输入参数的空间,将第二层存储空间的地址指针直接赋给存储第二层计算架构的计算参数的空间,将第一存储空间的地址指针赋给第二层计算架构的输出参数的空间。
这样机器学习***可以根据第二层存储空间的地址指针,将第二层计算架构的计算参数储存到第二存储空间中,具体是采用覆盖式地储存方式,即用第二层计算架构的计算参数直接覆盖第二存储空间中已经的信息,然后第二层计算架构将第三层存储空间中储存的信息作为第二层计算架构的输入参数,并根据输入参数及第二存储空间中储存的计算参数计算得到输出参数,将输出参数输出到第一存储空间。可见,采用指针赋值的方法,第二层计算架构可以循环利用整体存储空间。
之后,机器学习***会将第一存储空间的地址指针直接赋给储存第三层计算架构的输入参数的空间,将第二层存储空间的地址指针直接赋给存储第三层计算架构的计算参数的空间,将第三存储空间的地址指针赋给第三层计算架构的输出参数的空间,这样第三层计算架构就可以循环利用整体存储空间进行相应计算。按照上述的方法,以此类推,机器学习模型的各层计算架构逐层地利用整体存储空间进行相应计算,很大程度地减少了机器学习模型运行时所需的存储空间,从而提升了***性能。
以下以一个具体的实施例来说明本发明实施例的方法,在本实施例中,机器学习***为深度学习***,机器学习模型为深度学习模型,该深度学习模型包括n层计算架构,本实施例中以n为3为例说明。则本实施例的方法流程图如图5所示,包括:
步骤401,深度学习***获取深度学习模型的配置文件,在配置文件中包括3层计算架构分别对应的计算参数的信息,输入参数的信息及结构信息。
步骤402,深度学习***针对每一层计算架构,根据输入参数的信息对输入参数进行赋值,并根据结构信息及输入参数的赋值计算出输出参数,从而确定对应一层计算架构的输出参数的大小。
步骤403,深度学习***将每一层计算架构的输入参数的大小,输出参数的大小及计算参数的大小之和作为对应一层计算架构对应的存储空间的存储值。
或者,深度学习***确定每一层计算架构对应的存储空间的存储值包括:储存输入参数的空间存储值,储存计算参数的空间存储值及储存输出参数的空间存储值。
步骤404,为深度学习模型分配对应的整体存储空间。
其中,如果深度学习***确定的每一层计算架构的存储空间的存储值为对应一层计算架构的输入参数的大小,输出参数的大小及计算参数的大小之和,则深度学习***分配的整体存储空间的存储值与3层计算架构的存储空间中最大存储空间的存储值一致。
如果深度学习***确定的每一层计算架构的存储空间的存储值包括:储存输入参数的空间存储值,储存计算参数的空间存储值及储存输出参数的空间存储值,则深度学习***分配的整体存储空间的存储值为第一最大空间,第二最大空间及第三最大空间的存储值之和。其中,第一最大空间为3层计算架构对应的存储空间中储存输入参数的最大空间的存储值,第二最大空间为3层计算架构对应的存储空间中储存计算参数的最大空间的存储值,第三最大空间为3层计算架构对应的存储空间中储存输出参数的最大空间的存储值。
当深度学习***通过上述步骤401到404为深度学习模型分配一个整体存储空间后,深度学习***可以按照如下步骤405到407的方法,循环利用该整体存储空间。
步骤405,深度学习***接收用户输入的参数,将用户输入的参数作为第一层计算架构的输入参数储存到整体存储空间的第一存储空间,将第一层计算架构的计算参数储存到整体存储空间的第二存储空间;深度学习***根据第一层计算架构的输入参数和计算参数计算得到第一层计算架构的输出参数,并将输出参数储存到整体存储空间的第三存储空间。
步骤406,深度学习***将第三存储空间的地址指针直接赋给储存第二层计算架构的输入参数的空间,将第一层计算架构的输出参数作为第二层计算架构的输入参数;将第二层存储空间的地址指针直接赋给存储第二层计算架构的计算参数的空间,并将第二层计算架构的计算参数储存到第二层存储空间中;将第一存储空间的地址指针赋给第二层计算架构的输出参数的空间,将根据第二层计算架构的输入参数和计算参数得到的输出参数储存到第一存储空间中。
步骤407,深度学习***将第一存储空间的地址指针直接赋给储存第三层计算架构的输入参数的空间,将第二层计算架构的输出参数作为第三层计算架构的输入参数;将第二层存储空间的地址指针直接赋给存储第三层计算架构的计算参数的空间,并将第三层计算架构的计算参数储存到第二层存储空间中;将第三存储空间的地址指针赋给第三层计算架构的输出参数的空间,将根据第三层计算架构的输入参数和计算参数得到的输出参数储存到第三存储空间中,则该输出参数为深度学习模型的最终输出参数。
本发明实施例还提供一种机器学习***,其结构示意图如图6所示,具体可以包括:
存储确定单元10,用于分别确定机器学习模型的各层计算架构对应的存储空间的存储值;
分配单元11,用于根据所述存储确定单元10确定的各层计算架构的存储空间的存储值为所述机器学习模型分配对应的整体存储空间,使得所述整体存储空间能储存任一层计算架构运行时所需的信息;
计算单元12,用于所述机器学习模型的各层计算架构分别利用所述分配单元11分配的整体存储空间进行相应计算。
具体地,计算单元12,具体用于将所述某一层计算架构对应的计算参数储存到所述整体存储空间中的第二存储空间;所述某一层计算架构将所述整体存储空间中的第一存储空间作为储存对应输入参数的空间,根据所述输入参数和计算参数计算得到输出参数,将所述输出参数储存到所述整体存储空间中的第三存储空间。
如果所述某一层计算架构为非第一层计算架构,则所述第一存储空间为所述某一层计算架构的前一层计算架构储存输出参数的空间,且所述某一层计算架构的输入参数为所述前一层计算架构的输出参数;所述第三存储空间为所述前一层计算架构储存输入参数的空间。
可见,在本实施例的机器学习***中,分配单元11会根据机器学习模型的各层计算架构对应的存储空间的存储值分配一个整体存储空间,这样计算单元12的各层计算架构可以循环利用该整体存储空间。相比现有技术中,需要为各层计算架构分别分配对应的存储空间,本实施例的机器学习***可以减少因分配多个存储空间而造成的存储碎片,且很大程度地减少了机器学习模型运行时所需的存储空间,从而提升了***性能,这样就可以将该机器学习***运行于存储受限的终端设备。
参考图7所示,在一个具体的实施例中,存储确定单元10具体可以通过输出确定单元110和最终确定单元120,其中:
输出确定单元110,具体用于获取所述机器学习模型的配置文件,所述配置文件中包括所述某一层计算架构的计算参数的信息,输入参数的信息及结构信息;根据所述输入参数的信息,计算参数的信息及结构信息确定所述某一层计算架构的输出参数的大小;
最终确定单元120,用于将所述输入参数的大小,输出确定单元110确定的输出参数的大小及计算参数的大小之和作为所述某一层计算架构对应的存储空间的存储值;或者,确定所述某一层计算架构对应的存储空间的存储值包括:储存所述输入参数的空间存储值,储存所述计算参数的空间存储值及储存所述输出参数的空间存储值。
其中,如果最终确定单元120将所述输入参数的大小,输出参数的大小及计算参数的大小之和作为所述某一层计算架构对应的存储空间的存储值则分配单元11具体用于确定所述各层计算架构对应的存储空间中最大存储空间的存储值;分配整体存储空间,使得所述整体存储空间的存储值与所述最大存储空间的存储值一致。
如果最终确定单元120确定所述某一层计算架构对应的存储空间的存储值包括:储存所述输入参数的空间存储值,储存所述计算参数的空间存储值及储存所述输出参数的空间存储值,则所述分配单元11,具体用于确定所述各层计算架构对应的存储空间中储存输入参数的第一最大空间的存储值,储存计算参数的第二最大空间的存储值及储存输出参数的第三最大空间的存储值;分配整体存储空间,使得所述整体存储空间的存储值是所述第一最大空间,第二最大空间及第三最大空间的存储值之和。
本发明实施例还提供一种终端设备,其结构示意图如图8所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(centralprocessing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作***223,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由机器学习***所执行的步骤可以基于该图8所示的终端设备的结构。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的机器学习方法及***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种机器学习方法,其特征在于,包括:
在通过深度学习方法进行前向预测时,分别确定机器学习模型的各层计算架构对应的存储空间的存储值;
根据所述各层计算架构的存储空间的存储值为所述机器学习模型分配对应的整体存储空间,使得所述整体存储空间能储存任一层计算架构运行时所需的信息;
所述机器学习模型的各层计算架构分别利用所述整体存储空间进行相应计算;
其中,确定所述机器学习模型的某一层计算架构对应的存储空间的存储值,具体包括:
获取所述机器学习模型的配置文件,所述配置文件中包括所述某一层计算架构的计算参数的信息,输入参数的信息及结构信息;
根据所述输入参数的信息,计算参数的信息及结构信息确定所述某一层计算架构的输出参数的大小;
将所述输入参数的大小,输出参数的大小及计算参数的大小之和作为所述某一层计算架构对应的存储空间的存储值;或者,确定所述某一层计算架构对应的存储空间的存储值包括:储存所述输入参数的空间存储值,储存所述计算参数的空间存储值及储存所述输出参数的空间存储值。
2.如权利要求1所述的方法,其特征在于,所述根据所述各层计算架构的存储空间的存储值为所述机器学习模型分配对应的整体存储空间,具体包括:
确定所述各层计算架构对应的存储空间中最大存储空间的存储值;
分配整体存储空间,使得所述整体存储空间的存储值与所述最大存储空间的存储值一致。
3.如权利要求1所述的方法,其特征在于,所述根据所述各层计算架构的存储空间的存储值为所述机器学习模型分配对应的整体存储空间,具体包括:
确定所述各层计算架构对应的存储空间中储存输入参数的第一最大空间的存储值,储存计算参数的第二最大空间的存储值及储存输出参数的第三最大空间的存储值;
分配整体存储空间,使得所述整体存储空间的存储值是所述第一最大空间,第二最大空间及第三最大空间的存储值之和。
4.如权利要求1至3任一项所述的方法,其特征在于,所述方法应用于机器学习***中,所述机器学习模型的某一层计算架构利用所述整体存储空间进行相应计算,具体包括:
所述机器学习***将所述某一层计算架构对应的计算参数储存到所述整体存储空间中的第二存储空间;
所述某一层计算架构将所述整体存储空间中的第一存储空间作为储存对应输入参数的空间,根据所述输入参数和计算参数计算得到输出参数,将所述输出参数储存到所述整体存储空间中的第三存储空间。
5.如权利要求4所述的方法,其特征在于,
如果所述某一层计算架构为非第一层计算架构,则所述第一存储空间为所述某一层计算架构的前一层计算架构储存输出参数的空间,且所述某一层计算架构的输入参数为所述前一层计算架构的输出参数;所述第三存储空间为所述前一层计算架构储存输入参数的空间。
6.一种机器学习***,其特征在于,包括:
存储确定单元,用于在通过深度学习方法进行前向预测时,分别确定机器学习模型的各层计算架构对应的存储空间的存储值;
分配单元,用于根据所述各层计算架构的存储空间的存储值为所述机器学习模型分配对应的整体存储空间,使得所述整体存储空间能储存任一层计算架构运行时所需的信息;
计算单元,用于所述机器学习模型的各层计算架构分别利用所述整体存储空间进行相应计算;
所述存储确定单元,具体包括输出确定单元和最终确定单元,其中:
所述输出确定单元,具体用于获取所述机器学习模型的配置文件,所述配置文件中包括某一层计算架构的计算参数的信息,输入参数的信息及结构信息;根据所述输入参数的信息,计算参数的信息及结构信息确定所述某一层计算架构的输出参数的大小;
所述最终确定单元,用于将所述输入参数的大小,输出参数的大小及计算参数的大小之和作为所述某一层计算架构对应的存储空间的存储值;或者,确定所述某一层计算架构对应的存储空间的存储值包括:储存所述输入参数的空间存储值,储存所述计算参数的空间存储值及储存所述输出参数的空间存储值。
7.如权利要求6所述的***,其特征在于,
所述分配单元,具体用于确定所述各层计算架构对应的存储空间中最大存储空间的存储值;分配整体存储空间,使得所述整体存储空间的存储值与所述最大存储空间的存储值一致。
8.如权利要求6所述的***,其特征在于,
所述分配单元,具体用于确定所述各层计算架构对应的存储空间中储存输入参数的第一最大空间的存储值,储存计算参数的第二最大空间的存储值及储存输出参数的第三最大空间的存储值;分配整体存储空间,使得所述整体存储空间的存储值是所述第一最大空间,第二最大空间及第三最大空间的存储值之和。
9.如权利要求6至8任一项所述的***,其特征在于,
所述计算单元,具体用于将某一层计算架构对应的计算参数储存到所述整体存储空间中的第二存储空间;所述某一层计算架构将所述整体存储空间中的第一存储空间作为储存对应输入参数的空间,根据所述输入参数和计算参数计算得到输出参数,将所述输出参数储存到所述整体存储空间中的第三存储空间。
10.如权利要求 9所述的***,其特征在于,
如果所述某一层计算架构为非第一层计算架构,则所述第一存储空间为所述某一层计算架构的前一层计算架构储存输出参数的空间,且所述某一层计算架构的输入参数为所述前一层计算架构的输出参数;所述第三存储空间为所述前一层计算架构储存输入参数的空间。
11.一种存储介质,其特征在于,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如权利要求1至5任一项所述的机器学习方法。
12.一种终端设备,其特征在于,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如权利要求1至5任一项所述的机器学习方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610898838.6A CN106529679B (zh) | 2016-10-14 | 2016-10-14 | 一种机器学习方法及*** |
PCT/CN2017/102836 WO2018068623A1 (zh) | 2016-10-14 | 2017-09-22 | 一种机器学习方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610898838.6A CN106529679B (zh) | 2016-10-14 | 2016-10-14 | 一种机器学习方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106529679A CN106529679A (zh) | 2017-03-22 |
CN106529679B true CN106529679B (zh) | 2020-01-14 |
Family
ID=58332197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610898838.6A Active CN106529679B (zh) | 2016-10-14 | 2016-10-14 | 一种机器学习方法及*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106529679B (zh) |
WO (1) | WO2018068623A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106529679B (zh) * | 2016-10-14 | 2020-01-14 | 腾讯科技(上海)有限公司 | 一种机器学习方法及*** |
FR3089649A1 (fr) * | 2018-12-06 | 2020-06-12 | Stmicroelectronics (Rousset) Sas | Procédé et dispositif de détermination de la taille mémoire globale d’une zone mémoire globale allouée aux données d’un réseau de neurones |
CN110287171B (zh) * | 2019-06-28 | 2020-05-26 | 北京九章云极科技有限公司 | 一种数据处理方法及*** |
CN116757284A (zh) * | 2022-09-26 | 2023-09-15 | 荣耀终端有限公司 | 模型推理方法、设备、存储介质和程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492330A (zh) * | 2002-10-24 | 2004-04-28 | 华为技术有限公司 | 通用Windows程序运行日志信息记录方法 |
CN1627251A (zh) * | 2003-12-09 | 2005-06-15 | 微软公司 | 使用图形处理单元加速并优化机器学习技术的处理 |
CN102455943A (zh) * | 2010-10-19 | 2012-05-16 | 上海聚力传媒技术有限公司 | 一种基于内存池来进行数据共享的方法和计算机设备 |
CN103617146A (zh) * | 2013-12-06 | 2014-03-05 | 北京奇虎科技有限公司 | 一种基于硬件资源消耗的机器学习方法及装置 |
CN104021088A (zh) * | 2014-06-24 | 2014-09-03 | 广东睿江科技有限公司 | 日志存储方法和装置 |
CN105488565A (zh) * | 2015-11-17 | 2016-04-13 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN105637541A (zh) * | 2013-10-11 | 2016-06-01 | 高通股份有限公司 | 用于神经模拟器的共享存储器架构 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047610B (zh) * | 2007-04-30 | 2012-07-11 | 华为技术有限公司 | 数据存储、读取、传输方法和管理服务器及网络节点 |
JP5171118B2 (ja) * | 2007-06-13 | 2013-03-27 | キヤノン株式会社 | 演算処理装置及びその制御方法 |
EP3035204B1 (en) * | 2014-12-19 | 2018-08-15 | Intel Corporation | Storage device and method for performing convolution operations |
CN105869117B (zh) * | 2016-03-28 | 2021-04-02 | 上海交通大学 | 一种针对深度学习超分辨率技术的gpu加速方法 |
CN106529679B (zh) * | 2016-10-14 | 2020-01-14 | 腾讯科技(上海)有限公司 | 一种机器学习方法及*** |
-
2016
- 2016-10-14 CN CN201610898838.6A patent/CN106529679B/zh active Active
-
2017
- 2017-09-22 WO PCT/CN2017/102836 patent/WO2018068623A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492330A (zh) * | 2002-10-24 | 2004-04-28 | 华为技术有限公司 | 通用Windows程序运行日志信息记录方法 |
CN1627251A (zh) * | 2003-12-09 | 2005-06-15 | 微软公司 | 使用图形处理单元加速并优化机器学习技术的处理 |
CN102455943A (zh) * | 2010-10-19 | 2012-05-16 | 上海聚力传媒技术有限公司 | 一种基于内存池来进行数据共享的方法和计算机设备 |
CN105637541A (zh) * | 2013-10-11 | 2016-06-01 | 高通股份有限公司 | 用于神经模拟器的共享存储器架构 |
CN103617146A (zh) * | 2013-12-06 | 2014-03-05 | 北京奇虎科技有限公司 | 一种基于硬件资源消耗的机器学习方法及装置 |
CN104021088A (zh) * | 2014-06-24 | 2014-09-03 | 广东睿江科技有限公司 | 日志存储方法和装置 |
CN105488565A (zh) * | 2015-11-17 | 2016-04-13 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106529679A (zh) | 2017-03-22 |
WO2018068623A1 (zh) | 2018-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111052149B (zh) | 用于确定网络中的内存需求的方法和装置 | |
CN110515739B (zh) | 深度学习神经网络模型负载计算方法、装置、设备及介质 | |
CN106529679B (zh) | 一种机器学习方法及*** | |
US8910173B2 (en) | Datacenter resource allocation | |
CN112199190B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
KR20190055610A (ko) | 뉴럴 네트워크 모델들의 공용 연산 그룹을 단일 처리하는 뉴럴 네트워크 시스템, 이를 포함하는 애플리케이션 프로세서 및 뉴럴 네트워크 시스템의 동작방법 | |
CN111984400B (zh) | 神经网络的内存分配方法及装置 | |
CN110554913A (zh) | 神经网络***及其操作方法以及应用处理器 | |
CN109740508B (zh) | 一种基于神经网络***的图像处理方法及神经网络*** | |
CN110163042B (zh) | 图像识别方法及装置 | |
CN109918182A (zh) | 虚拟化技术下的多gpu任务调度方法 | |
CN114915630A (zh) | 基于物联网设备的任务分配方法、网络训练方法及装置 | |
US12026607B1 (en) | Memory operation for systolic array | |
CN112734827B (zh) | 一种目标检测方法、装置、电子设备和存储介质 | |
CN113469354B (zh) | 受存储器限制的神经网络训练 | |
US20140282504A1 (en) | Method and system for specifying the layout of computer system resources | |
JP7492555B2 (ja) | 複数の入力データセットのための処理 | |
US11301713B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium | |
CN111860807A (zh) | 分形计算装置、方法、集成电路及板卡 | |
Sekiyama et al. | Profile-guided memory optimization for deep neural networks | |
JP6195342B2 (ja) | 情報処理装置およびメモリアクセス制御方法 | |
US11636569B1 (en) | Matrix transpose hardware acceleration | |
CN114761920A (zh) | 具有可重构指令集的硬件加速器 | |
CN115718986B (zh) | 一种基于分布式内存架构的多核并行时域仿真方法 | |
JP2024019050A (ja) | マルチタスク学習用のオンライン知識蒸留システム、方法、デバイス、及びプログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |