CN108154238B - 机器学习流程的迁移方法、装置、存储介质和电子设备 - Google Patents
机器学习流程的迁移方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN108154238B CN108154238B CN201711424907.0A CN201711424907A CN108154238B CN 108154238 B CN108154238 B CN 108154238B CN 201711424907 A CN201711424907 A CN 201711424907A CN 108154238 B CN108154238 B CN 108154238B
- Authority
- CN
- China
- Prior art keywords
- instruction
- machine learning
- flow
- mode
- target computing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 162
- 238000010801 machine learning Methods 0.000 title claims abstract description 132
- 230000008569 process Effects 0.000 title claims abstract description 123
- 238000013508 migration Methods 0.000 title claims abstract description 40
- 230000005012 migration Effects 0.000 title claims abstract description 40
- 230000006870 function Effects 0.000 claims abstract description 74
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 claims 1
- 238000012827 research and development Methods 0.000 abstract description 17
- 238000007405 data analysis Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (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)
- Image Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及一种机器学习流程的迁移方法、装置、存储介质和电子设备,涉及数据分析领域,该方法包括:在目标计算框架上执行第一流程的第一步骤时,根据通用指令集确定第一步骤的指令功能,目标计算框架为第一流程需要迁移到的计算框架,第一步骤为第一流程中的任一步骤,根据第一步骤的指令功能和第一步骤的属性信息,将第一步骤转换成能够在目标计算框架上执行的第二步骤。能够使机器学习流程在不同的计算框架上运行,降低了研发成本和研发周期。
Description
技术领域
本公开涉及数据分析领域,具体地,涉及一种机器学习流程的迁移方法、装置、存储介质和电子设备。
背景技术
随着互联网、云计算和物联网等信息技术的迅猛发展,相应带来的数据量也是呈现爆发式的增长,要从这些海量的数据中找到有价值的信息,就需要利用数据分析的相关技术手段。
在现有技术中,机器学习的数据探索过程拥有丰富的开源机器学习库,以供用户根据实现功能和处理数据量等需求的不同,会选择不同的计算框架,例如:各种型号的单板、集群板、移动设备等,相应的各个计算框架上所采用的机器学习库不同、数据接口也各不相同,导致同一个机器学习流程无法迁移至多个计算框架上执行,要在多个计算框架上实现该机器学习流程的功能,需要重新设计流程,增加了研发成本和研发周期。
发明内容
本公开的目的是提供一种机器学习流程的迁移方法、装置、存储介质和电子设备,用以解决机器学习流程无法迁移至不同计算框架的问题。
为了实现上述目的,本公开提供一种机器学习流程的迁移方法,所述方法包括:
在目标计算框架上执行第一流程的第一步骤时,根据通用指令集确定所述第一步骤的指令功能,所述目标计算框架为所述第一流程需要迁移到的计算框架,所述第一步骤为所述第一流程中的任一步骤;
根据所述第一步骤的指令功能和所述第一步骤的属性信息,将所述第一步骤转换成能够在所述目标计算框架上执行的第二步骤。
可选的,在所述在目标计算框架上执行第一流程的第一步骤之前,所述方法还包括:
将原计算框架上的第二流程迁移至所述目标计算框架,作为所述目标计算框架中的所述第一流程;或者,
根据所述原计算框架上的第二流程中每个步骤的属性信息,将所述第二流程中的每个步骤依次转换为所述第一流程中的步骤,所述第一流程为以第一模式构建的机器学习流程,所述第二流程为以第二模式构建的机器学习流程,所述属性信息包括:执行顺序、输入数据和输出数据;
其中,所述第一模式和所述第二模式为构建的机器学习流程的任意一种模式,且所述第一模式与所述第二模式不是同一种模式。
可选的,所述方法还包括:
部署与所述原计算框架对应的第一机器学习库,以及与所述目标计算框架对应的第二机器学习库,所述第一机器学习库中包含与原计算框架中的各个指令接口对应的执行代码,所述第二机器学习库中包含与所述目标计算框架中的各个指令接口对应的执行代码;
所述通用指令集中包含多条指令记录,每条所述指令记录对应一个指令功能,每条指令记录中包含与对应的指令功能在各个计算框架中的指令接口。
可选的,所述在目标计算框架上执行第一流程的第一步骤时,根据通用指令集确定所述第一步骤的指令功能,包括:
获取所述第一步骤中使用的第一指令接口,所述第一指令接口为所述原计算框架中的指令接口;
通过将所述第一指令接口与所述通用指令集中记录的指令接口进行对比,确定所述第一指令接口所对应的第一指令功能。
可选的,所述根据所述第一步骤的指令功能和所述第一步骤的属性信息,将所述第一步骤转换成能够在所述目标计算框架上执行的第二步骤,包括:
从所述通用指令集中获取与所述第一指令功能在所述目标计算框架中对应的第二指令接口;
获取从所述第二机器学习库中获取与所述第二指令接口对应的执行代码;
根据所述第一步骤的所述属性信息、所述第二指令接口和所述第二指令接口对应的执行代码确定所述第二步骤。
根据本公开实施例的第二方面,提供一种机器学习流程的迁移装置,所述装置包括:
确定模块,用于在目标计算框架上执行第一流程的第一步骤时,根据通用指令集确定所述第一步骤的指令功能,所述目标计算框架为所述第一流程需要迁移到的计算框架,所述第一步骤为所述第一流程中的任一步骤;
步骤转换模块,用于根据所述第一步骤的指令功能和所述第一步骤的属性信息,将所述第一步骤转换成能够在所述目标计算框架上执行的第二步骤。
可选的,所述装置还包括:
迁移模块,用于在所述在目标计算框架上执行第一流程的第一步骤之前,将原计算框架上的第二流程迁移至所述目标计算框架,作为所述目标计算框架中的所述第一流程;
流程转换模块,用于在所述在目标计算框架上执行第一流程的第一步骤之前,根据所述原计算框架上的第二流程中每个步骤的属性信息,将所述第二流程中的每个步骤依次转换为所述第一流程中的步骤,所述第一流程为以第一模式构建的机器学习流程,所述第二流程为以第二模式构建的机器学习流程,所述属性信息包括:执行顺序、输入数据和输出数据;
其中,所述第一模式和所述第二模式为构建的机器学习流程的任意一种模式,且所述第一模式与所述第二模式不是同一种模式。
可选的,所述通用指令集中包含多条指令记录,每条所述指令记录对应一个指令功能,每条指令记录中包含与对应的指令功能在各个计算框架中的指令接口;所述装置还包括:
部署模块,用于部署与所述原计算框架对应的第一机器学习库,以及与所述目标计算框架对应的第二机器学习库,所述第一机器学习库中包含与原计算框架中的各个指令接口对应的执行代码,所述第二机器学习库中包含与所述目标计算框架中的各个指令接口对应的执行代码。
可选的,所述确定模块包括;
获取子模块,用于获取所述第一步骤中使用的第一指令接口,所述第一指令接口为所述原计算框架中的指令接口;
对比子模块,用于通过将所述第一指令接口与所述通用指令集中记录的指令接口进行对比,确定所述第一指令接口所对应的第一指令功能。
可选的,所述步骤转换模块包括:
第一查找子模块,用于从所述通用指令集中获取与所述第一指令功能在所述目标计算框架中对应的第二指令接口;
第二查找子模块,用于获取从所述第二机器学习库中获取与所述第二指令接口对应的执行代码;
转换子模块,用于根据所述第一步骤的所述属性信息、所述第二指令接口和所述第二指令接口对应的执行代码确定所述第二步骤。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例的第一方面提供的机器学习流程的迁移方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
本公开实施例的第三方面提供的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
在本公开提供的上述技术方案中,在将一个机器学习流程迁移到目标计算框架上执行时,首先根据通用指令集确定将该机器学习流程中的任意步骤对应的指令功能,再根据指令功能和该步骤在机器学习流程中的属性信息,将该步骤转换为能够在目标计算框架上执行的步骤。能够使同一机器学习流程在不同的计算框架上运行,降低了研发成本和研发周期。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种机器学习流程的迁移方法的流程图;
图2是根据一示例性实施例示出的另一种机器学习流程的迁移方法的流程图;
图3是根据一示例性实施例示出的另一种机器学习流程的迁移方法的流程图;
图4是根据一示例性实施例示出的另一种机器学习流程的迁移方法的流程图;
图5是根据一示例性实施例示出的另一种机器学习流程的迁移方法的流程图;
图6是根据一示例性实施例示出的一种机器学习流程的迁移装置的框图;
图7是根据一示例性实施例示出的另一种机器学习流程的迁移装置的框图;
图8是根据一示例性实施例示出的另一种机器学习流程的迁移装置的框图;
图9是根据一示例性实施例示出的另一种机器学习流程的迁移装置的框图;
图10是根据一示例性实施例示出的另一种机器学习流程的迁移装置的框图;
图11是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本公开提供的一种机器学习流程的迁移方法、装置、存储介质和电子设备之前,首先对本公开各个实施例涉及的应用场景进行介绍,本公开各个实施例中可以应用于数据探索的场景中,需要将能够在原计算框架上执行的一个机器学习流程迁移到另一个计算框架(即下文所述的目标计算框架)上,使得该机器学习流程仍然能够执行。
图1是根据一示例性实施例示出的一种机器学习流程的迁移方法的流程图,如图1所示,该方法包括:
步骤101,在目标计算框架上执行第一流程的第一步骤时,根据通用指令集确定第一步骤的指令功能,目标计算框架为第一流程需要迁移到的计算框架,第一步骤为第一流程中的任一步骤。
举例来说,用户需要将一个机器学习流程迁移到目标计算框架上,使该机器学习流程能够执行,并且保持原有的功能,由于目标计算框架上对应的机器学习库和指令接口(或称为数据接口)与原计算框架上对应的不同,因此要对该机器学习流程进行处理。使得当该机器学习流程在目标计算框架上执行时,将该机器学习流程的步骤转换为能够在目标计算框架上执行的步骤,以第一流程为例,本实施例中的第一流程可以看作是已经从原计算框架上迁移到目标计算框架后的一个机器学习流程,我们可以将该机器学习流程在迁移之前的流程记为第二流程,该流程被迁移至目标计算框架后,流程的内容和流程模式可以与迁移之前相同,即该第一流程与迁移前的基于原计算框架的第二流程之间可以没有变化,或者也可能与该第二流程不同,例如构建流程的模式不同,但是无论构建流程的模式是否相同,为了在目标计算框架上能够执行,都需要转换成能够在目标计算框架上执行的步骤。以第一流程中的任一步骤:第一步骤来举例,根据通用指令集来确定第一步骤的指令功能。其中,通用指令集是作为查询的标准,起到了“字典”的用作,可以包括多条指令记录,每条指令记录中都包括指令功能,和指令功能对应的能够在各个不同计算框架上执行的指令接口(可以理解为函数名)。
步骤102,根据第一步骤的指令功能和第一步骤的属性信息,将第一步骤转换成能够在目标计算框架上执行的第二步骤。
示例的,在确定了第一步骤的指令功能后,结合第一步骤在第一流程中的属性信息,按照目标计算框架对应的机器学习库和指令接口将第一步骤转换成符合目标框架标准,能够在目标计算框架上执行的第二步骤。可以根据步骤101中确定的通用指令集的指令记录,确定与第一步骤的指令功能对应的指令接口,再将第一步骤的属性信息补充进该指令接口,从而获得第二步骤。
综上所述,本公开在将一个机器学习流程迁移到目标计算框架上执行时,首先根据通用指令集确定将该机器学习流程中的任意步骤对应的指令功能,再根据指令功能和该步骤在机器学习流程中的属性信息,将该步骤转换为能够在目标计算框架上执行的步骤。能够使同一机器学习流程在不同的计算框架上运行,降低了研发成本和研发周期。
图2是根据一示例性实施例示出的另一种机器学习流程的迁移方法的流程图,如图2所示,在目标计算框架上执行第一流程的第一步骤之前,按照用户的需求或者计算框架本身的特性,用户可以选择保持原计算框架上的第二流程的构建模式,也可以选择将第二流程转化为目标计算框架上适用的构建模式,即对应的,该方法包括步骤103或者步骤104两种情况:
步骤103,将原计算框架上的第二流程迁移至目标计算框架,作为目标计算框架中的第一流程。
以第一种情况举例,用户在单板上(对应原计算框架)通过不断的训练和调整,获得了第二流程,现在需要将第二流程迁移到集群板(对应目标计算框架)上。如果在集群板上,机器学习流程的构建模式没有指定的形式,或者不需要对用户有可视化的展示,那么可以选择直接将第二流程作为第一流程,在目标计算框架上执行第一流程时,根据步骤101和步骤102将第一流程中的步骤转换为能够在目标计算框架上执行的步骤,使第一流程能够执行,且保持原有的第二流程具有的功能。
步骤104,根据原计算框架上的第二流程中每个步骤的属性信息,将第二流程中的每个步骤依次转换为第一流程中的步骤,第一流程为以第一模式构建的机器学习流程,第二流程为以第二模式构建的机器学习流程,属性信息包括:执行顺序、输入数据和输出数据。
其中,第一模式和第二模式为构建的机器学习流程的任意一种模式,且第一模式与第二模式不是同一种模式。
对应于第二种情况,如果在集群板上,有对应的机器学习流程的构建模式,或者用户指定了某个具体的构建模式,那么可以选择将第二流程中的每个步骤转换为指定形式的步骤。机器学习流程的构建模式可以包括多种,在原计算框架上的以第二模式构建的第二流程,和在目标计算框架上的以第一模式构建的第一流程举例,将第二流程中的每个步骤依次转换为第一流程中的步骤,其中第二流程中的每个步骤的与第一流程中对应步骤属性信息是一致的,其中属性信息可以包括:执行顺序、输入数据和输出数据。需要说明的是,步骤104中只是改变了第二流程的构建模式,并不改变相应的代码,第一流程中的每个步骤对应的代码仍是第二流程中相应步骤的代码。
通过步骤104能够将一个机器学习流程在不同的构建模式之间进行转换,兼顾了各种构件模式的优势,灵活组合,数据展现更加方便。以Notebook和Workflow两种构建模式为例,Notebook模式适于构建训练流程,在数据不变的情况下,优化流程,往往是在研发前期经常使用;而Workflow模式适于构建预测流程,在流程固定的情况下,对不同的输入数据进行预测,通常是产品投入使用后频繁使用,因此二者的使用频率和阶段不同,通过步骤104的转换,能够将同一个功能的机器学习流程转换为Notebook和Workflow两种模式,进一步地降低了研发成本和研发周期。
图3是根据一示例性实施例示出的另一种机器学习流程的迁移方法的流程图,如图3所示,该方法还包括:
步骤105,部署与原计算框架对应的第一机器学习库,以及与目标计算框架对应的第二机器学习库,第一机器学习库中包含与原计算框架中的各个指令接口对应的执行代码,第二机器学习库中包含与目标计算框架中的各个指令接口对应的执行代码。
通用指令集中包含多条指令记录,每条指令记录对应一个指令功能,每条指令记录中包含与对应的指令功能在各个计算框架中的指令接口。
举例来说,不同计算框架对应不同的机器学习库,各个机器学习库中包含了各个计算框架中的全部指令接口对应的执行代码,可以理解为,机器学习库中包含了指令接口的具体实现方式。根据原计算框架和目标计算框架,部署与原计算框架对应的第一机器学习库,以及与目标计算框架对应的第二机器学习库。
需要说明的是,通用指令集中包含多条指令记录,每条指令记录中都包含一个指令功能,和该指令功能对应在各个计算框架中的指令接口。其中,每条指令记录可以按照表格的形式存储,以表1为例:
表1
第一列表示各种指令功能,第一列右侧的各列对应不同计算框架下的同一指令功能对应的不同数据接口。
图4是根据一示例性实施例示出的另一种机器学习流程的迁移方法的流程图,如图4所示,步骤101包括:
步骤1011,获取第一步骤中使用的第一指令接口,第一指令接口为原计算框架中的指令接口。
步骤1012,通过将第一指令接口与通用指令集中记录的指令接口进行对比,确定第一指令接口所对应的第一指令功能。
示例的,首先根据第一步骤获取第一指令接口,之后在通用指令集中查找与第一指令接口匹配的指令记录,在从与第一指令接口匹配的指令记录中能够获取对应的指令功能,即第一指令功能。其中,获取第一指令接口的步骤,可以通过获取第一步骤对应的代码段,然后以第一机器学习库为基础,查找该代码段中的关键词,从而获取第一指令接口。也可以在第一步骤对应的代码段,查找固定形式的字符串,例如可以通过查找代码中的函数名等方式来实现。
图5是根据一示例性实施例示出的另一种机器学习流程的迁移方法的流程图,如图5所示,步骤102包括:
步骤1021,从通用指令集中获取与第一指令功能在目标计算框架中对应的第二指令接口。
以表1中的内容举例来说,在步骤1012中确定第一指令功能之后,根据与第一指令接口匹配的指令记录,和目标计算框架,获取对应的第二指令接口。当步骤1011中确定了第一指令接口为fit(),步骤1012在通用指令集中查找到第三条指令记录与fit()匹配,从而确定第一指令功能为训练,之后,确定目标计算框架对应通用指令集中的第三列(即第二计算框架对应的列)的数据,那么获取第三条指令记录的第三列内容,即第二指令接口为train()。
步骤1022,获取从第二机器学习库中获取与第二指令接口对应的执行代码。
步骤1023,根据第一步骤的属性信息、第二指令接口和第二指令接口对应的执行代码确定第二步骤。
示例的,以第二机器学习库为基础,找到第二指令接口对应的执行代码,可以理解为第二指令接口对应功能的具体实现代码。进一步的,将第一步骤在第一流程中的执行顺序、输入数据和输出数据填入第二指令接口对应的执行代码,获得第二步骤,使得第二步骤在保持第一步骤原有的功能的前提下,能够在目标计算框架上执行。
综上所述,本公开在将一个机器学习流程迁移到目标计算框架上执行时,首先根据通用指令集确定将该机器学习流程中的任意步骤对应的指令功能,再根据指令功能和该步骤在机器学习流程中的属性信息,将该步骤转换为能够在目标计算框架上执行的步骤。能够使同一机器学习流程在不同的计算框架上运行,降低了研发成本和研发周期。
图6是根据一示例性实施例示出的一种机器学习流程的迁移装置的框图,如图6所示,该装置200包括:
确定模块201,用于在目标计算框架上执行第一流程的第一步骤时,根据通用指令集确定第一步骤的指令功能,目标计算框架为第一流程需要迁移到的计算框架,第一步骤为第一流程中的任一步骤。
步骤转换模块202,用于根据第一步骤的指令功能和第一步骤的属性信息,将第一步骤转换成能够在目标计算框架上执行的第二步骤。
图7是根据一示例性实施例示出的另一种机器学习流程的迁移装置的框图,如图7所示,该装置200还包括:
迁移模块203,用于在目标计算框架上执行第一流程的第一步骤之前,将原计算框架上的第二流程迁移至目标计算框架,作为目标计算框架中的第一流程。
流程转换模块204,用于在目标计算框架上执行第一流程的第一步骤之前,根据原计算框架上的第二流程中每个步骤的属性信息,将第二流程中的每个步骤依次转换为第一流程中的步骤,第一流程为以第一模式构建的机器学习流程,第二流程为以第二模式构建的机器学习流程,属性信息包括:执行顺序、输入数据和输出数据。
其中,第一模式和第二模式为构建的机器学习流程的任意一种模式,且第一模式与第二模式不是同一种模式。
图8是根据一示例性实施例示出的另一种机器学习流程的迁移装置的框图,如图8所示,通用指令集中包含多条指令记录,每条指令记录对应一个指令功能,每条指令记录中包含与对应的指令功能在各个计算框架中的指令接口。该装置200还包括:
部署模块205,用于部署与原计算框架对应的第一机器学习库,以及与目标计算框架对应的第二机器学习库,第一机器学习库中包含与原计算框架中的各个指令接口对应的执行代码,第二机器学习库中包含与目标计算框架中的各个指令接口对应的执行代码。
图9是根据一示例性实施例示出的另一种机器学习流程的迁移装置的框图,如图9所示,确定模块201包括;
获取子模块2011,用于获取第一步骤中使用的第一指令接口,第一指令接口为原计算框架中的指令接口。
对比子模块2012,用于通过将第一指令接口与通用指令集中记录的指令接口进行对比,确定第一指令接口所对应的第一指令功能。
图10是根据一示例性实施例示出的另一种机器学习流程的迁移装置的框图,步骤转换模块202包括:
第一查找子模块2021,用于从通用指令集中获取与第一指令功能在目标计算框架中对应的第二指令接口。
第二查找子模块2022,用于获取从第二机器学习库中获取与第二指令接口对应的执行代码。
转换子模块2023,用于根据第一步骤的属性信息、第二指令接口和第二指令接口对应的执行代码确定第二步骤。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开在将一个机器学习流程迁移到目标计算框架上执行时,首先根据通用指令集确定将该机器学习流程中的任意步骤对应的指令功能,再根据指令功能和该步骤在机器学习流程中的属性信息,将该步骤转换为能够在目标计算框架上执行的步骤。能够使同一机器学习流程在不同的计算框架上运行,降低了研发成本和研发周期。
图11是根据一示例性实施例示出的一种电子设备700的框图。如图11所示,该电子设备700可以包括:处理器701,存储器702,多媒体组件703,输入/输出(I/O)接口704,以及通信组件705。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的机器学习流程的迁移方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的机器学习流程的迁移方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的机器学习流程的迁移方法。
综上所述,本公开在将一个机器学习流程迁移到目标计算框架上执行时,首先根据通用指令集确定将该机器学习流程中的任意步骤对应的指令功能,再根据指令功能和该步骤在机器学习流程中的属性信息,将该步骤转换为能够在目标计算框架上执行的步骤。能够使同一机器学习流程在不同的计算框架上运行,降低了研发成本和研发周期。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其它实施方案,均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。同时本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。本公开并不局限于上面已经描述出的精确结构,本公开的范围仅由所附的权利要求来限制。
Claims (8)
1.一种机器学习流程的迁移方法,其特征在于,所述方法包括:
在目标计算框架上执行第一流程的第一步骤时,根据通用指令集确定所述第一步骤的指令功能,所述目标计算框架为所述第一流程需要迁移到的计算框架,所述第一步骤为所述第一流程中的任一步骤;
根据所述第一步骤的指令功能和所述第一步骤的属性信息,将所述第一步骤转换成能够在所述目标计算框架上执行的第二步骤;
在所述在目标计算框架上执行第一流程的第一步骤之前,所述方法还包括:
根据原计算框架上的第二流程中每个步骤的属性信息,将所述第二流程中的每个步骤依次转换为所述第一流程中的步骤,所述第一流程为以第一模式构建的机器学习流程,所述第二流程为以第二模式构建的机器学习流程,所述属性信息包括:执行顺序、输入数据和输出数据;
其中,所述第一模式和所述第二模式为构建的机器学习流程的任意一种模式,且所述第一模式与所述第二模式不是同一种模式;
所述方法还包括:
部署与所述原计算框架对应的第一机器学习库,以及与所述目标计算框架对应的第二机器学习库,所述第一机器学习库中包含与原计算框架中的各个指令接口对应的执行代码,所述第二机器学习库中包含与所述目标计算框架中的各个指令接口对应的执行代码;
所述通用指令集中包含多条指令记录,每条所述指令记录对应一个指令功能,每条指令记录中包含与对应的指令功能在各个计算框架中的指令接口。
2.根据权利要求1所述的方法,其特征在于,所述在目标计算框架上执行第一流程的第一步骤时,根据通用指令集确定所述第一步骤的指令功能,包括:
获取所述第一步骤中使用的第一指令接口,所述第一指令接口为所述原计算框架中的指令接口;
通过将所述第一指令接口与所述通用指令集中记录的指令接口进行对比,确定所述第一指令接口所对应的第一指令功能。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一步骤的指令功能和所述第一步骤的属性信息,将所述第一步骤转换成能够在所述目标计算框架上执行的第二步骤,包括:
从所述通用指令集中获取与所述第一指令功能在所述目标计算框架中对应的第二指令接口;
获取从所述第二机器学习库中获取与所述第二指令接口对应的执行代码;
根据所述第一步骤的所述属性信息、所述第二指令接口和所述第二指令接口对应的执行代码确定所述第二步骤。
4.一种机器学习流程的迁移装置,其特征在于,所述装置包括:
确定模块,用于在目标计算框架上执行第一流程的第一步骤时,根据通用指令集确定所述第一步骤的指令功能,所述目标计算框架为所述第一流程需要迁移到的计算框架,所述第一步骤为所述第一流程中的任一步骤;
步骤转换模块,用于根据所述第一步骤的指令功能和所述第一步骤的属性信息,将所述第一步骤转换成能够在所述目标计算框架上执行的第二步骤;
流程转换模块,用于在所述在目标计算框架上执行第一流程的第一步骤之前,根据原计算框架上的第二流程中每个步骤的属性信息,将所述第二流程中的每个步骤依次转换为所述第一流程中的步骤,所述第一流程为以第一模式构建的机器学习流程,所述第二流程为以第二模式构建的机器学习流程,所述属性信息包括:执行顺序、输入数据和输出数据;
其中,所述第一模式和所述第二模式为构建的机器学习流程的任意一种模式,且所述第一模式与所述第二模式不是同一种模式;
所述通用指令集中包含多条指令记录,每条所述指令记录对应一个指令功能,每条指令记录中包含与对应的指令功能在各个计算框架中的指令接口;所述装置还包括:
部署模块,用于部署与所述原计算框架对应的第一机器学习库,以及与所述目标计算框架对应的第二机器学习库,所述第一机器学习库中包含与原计算框架中的各个指令接口对应的执行代码,所述第二机器学习库中包含与所述目标计算框架中的各个指令接口对应的执行代码。
5.根据权利要求4所述的装置,其特征在于,所述确定模块包括;
获取子模块,用于获取所述第一步骤中使用的第一指令接口,所述第一指令接口为所述原计算框架中的指令接口;
对比子模块,用于通过将所述第一指令接口与所述通用指令集中记录的指令接口进行对比,确定所述第一指令接口所对应的第一指令功能。
6.根据权利要求5所述的装置,其特征在于,所述步骤转换模块包括:
第一查找子模块,用于从所述通用指令集中获取与所述第一指令功能在所述目标计算框架中对应的第二指令接口;
第二查找子模块,用于获取从所述第二机器学习库中获取与所述第二指令接口对应的执行代码;
转换子模块,用于根据所述第一步骤的所述属性信息、所述第二指令接口和所述第二指令接口对应的执行代码确定所述第二步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-3中任一项所述方法的步骤。
8.一种电子设备,其特征在于,包括:
权利要求7中所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711424907.0A CN108154238B (zh) | 2017-12-25 | 2017-12-25 | 机器学习流程的迁移方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711424907.0A CN108154238B (zh) | 2017-12-25 | 2017-12-25 | 机器学习流程的迁移方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108154238A CN108154238A (zh) | 2018-06-12 |
CN108154238B true CN108154238B (zh) | 2020-11-27 |
Family
ID=62462131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711424907.0A Active CN108154238B (zh) | 2017-12-25 | 2017-12-25 | 机器学习流程的迁移方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108154238B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111401396B (zh) * | 2019-01-03 | 2023-04-18 | 阿里巴巴集团控股有限公司 | 图像识别方法及装置 |
CN112257870B (zh) * | 2019-11-08 | 2024-04-09 | 安徽寒武纪信息科技有限公司 | 机器学习指令的转换方法及装置、板卡、主板、电子设备 |
CN110989995A (zh) * | 2019-11-27 | 2020-04-10 | 开放智能机器(上海)有限公司 | 基于开源深度学习框架的人工智能应用的处理方法及系统 |
CN113485762B (zh) * | 2020-09-19 | 2024-07-26 | 广东高云半导体科技股份有限公司 | 用可配置器件卸载计算任务以提高系统性能的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9147166B1 (en) * | 2011-08-10 | 2015-09-29 | Konlanbi | Generating dynamically controllable composite data structures from a plurality of data segments |
JP6388074B2 (ja) * | 2015-03-26 | 2018-09-12 | 日本電気株式会社 | 最適化処理装置、最適化処理方法、及びプログラム |
CN106022483B (zh) * | 2016-05-11 | 2019-06-14 | 星环信息科技(上海)有限公司 | 机器学习模型之间进行转换的方法与设备 |
CN106779087B (zh) * | 2016-11-30 | 2019-02-22 | 福建亿榕信息技术有限公司 | 一种通用机器学习数据分析平台 |
CN106779088B (zh) * | 2016-12-06 | 2019-04-23 | 第四范式(北京)技术有限公司 | 执行机器学习流程的方法及系统 |
-
2017
- 2017-12-25 CN CN201711424907.0A patent/CN108154238B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108154238A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108154238B (zh) | 机器学习流程的迁移方法、装置、存储介质和电子设备 | |
US10908883B2 (en) | Voice interaction development tool | |
US20130036196A1 (en) | Method and system for publishing template-based content | |
CN112116690B (zh) | 视频特效生成方法、装置及终端 | |
CN107807841B (zh) | 服务器模拟方法、装置、设备及可读存储介质 | |
CN112433730B (zh) | 代码检测规则的生成方法、装置和电子设备 | |
JP2022500786A (ja) | 情報処理方法及び装置、電子機器、記憶媒体及びコンピュータプログラム | |
CN104063424B (zh) | 网页图片的展现方法和展现装置 | |
CN114020850B (zh) | 数据库数据同步方法、装置、设备及可读存储介质 | |
US20160062601A1 (en) | Electronic device with touch screen and method for moving application functional interface | |
CN114640727A (zh) | 协议解析方法、装置及计算机可读存储介质 | |
KR102064749B1 (ko) | 오픈 하드웨어 프로그래밍 및 모바일 프로그래밍을 위한 시스템 | |
CN110286776A (zh) | 字符组合信息的输入方法、装置、电子设备和存储介质 | |
JP2004038179A (ja) | 音声命令語処理装置及び方法 | |
US20210089717A1 (en) | Method and apparatus for recommending word | |
CN112650498B (zh) | 静态库集成方法、装置、电子设备及存储介质 | |
KR20100056338A (ko) | 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법 | |
CN113535031A (zh) | 页面显示方法、装置、设备及介质 | |
US20150356884A1 (en) | Learning support apparatus, data output method in learning support apparatus, and storage medium | |
US11373634B2 (en) | Electronic device for recognizing abbreviated content name and control method thereof | |
CN104967907A (zh) | 视频播放定位的方法和系统 | |
US9236049B2 (en) | Mash-up service generation apparatus and method based on voice command | |
CN114116683B (zh) | 计算平台的多语法处理方法、设备及可读存储介质 | |
US10140258B2 (en) | Portable device and image displaying method thereof | |
CN112328096B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |