CN108510081A - 机器学习方法和平台 - Google Patents

机器学习方法和平台 Download PDF

Info

Publication number
CN108510081A
CN108510081A CN201810245321.6A CN201810245321A CN108510081A CN 108510081 A CN108510081 A CN 108510081A CN 201810245321 A CN201810245321 A CN 201810245321A CN 108510081 A CN108510081 A CN 108510081A
Authority
CN
China
Prior art keywords
algorithm
script
layer
task
assembly
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
CN201810245321.6A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201810245321.6A priority Critical patent/CN108510081A/zh
Publication of CN108510081A publication Critical patent/CN108510081A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种机器学习方法和平台,涉及计算机技术领域。其中,机器学习平台包括:Web交互层,用于创建实验拓扑结构,并将针对所述实验拓扑结构的运行命令发送至任务调度层;任务调度层,用于根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,并将所述算法脚本和资源信息发送至任务执行层;任务执行层,用于根据所述资源信息调用对应的任务执行引擎,以执行所述算法脚本。通过以上机器学习平台,能够提高机器学习效率,降低用户进行机器学习的难度。

Description

机器学习方法和平台
技术领域
本发明涉及计算机技术领域,尤其涉及一种机器学习方法和平台。
背景技术
在现有的机器学习中,往往需要人工上传算法脚本到Linux执行环境下,并通过Linux命令操作单个算法脚本的执行,不仅操作复杂、学习成本高,而且机器学习过程冗长、机器学习效率低。另外,当算法脚本过多或者执行流程过长时,手动查找某个算法脚本的执行参数会变得相当困难。
发明内容
有鉴于此,本发明提供一种机器学习方法和平台,能够提高机器学习效率,降低用户进行机器学习的难度。
为实现上述目的,根据本发明的一个方面,提供了一种机器学习平台。
本发明的机器学习平台包括:Web交互层,用于创建实验拓扑结构,并将针对所述实验拓扑结构的运行命令发送至任务调度层;任务调度层,用于根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,并将所述算法脚本和资源信息发送至任务执行层;任务执行层,用于根据所述资源信息调用对应的任务执行引擎,以执行所述算法脚本。
可选地,所述运行命令包括:实验标识、算法组件标识;所述任务调度层根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息包括:所述任务调度层根据所述实验标识查询第一数据库,以获取对应的资源信息;所述任务调度层根据所述算法组件标识查询第一数据库,以获取与该算法组件对应的算法脚本名称,然后根据所述对应的算法脚本名称从第二数据库下载算法脚本。
可选地,所述运行命令还包括:算法组件的输入配置参数和输出配置参数;所述任务调度层还用于:将所述算法组件的输入配置参数和输出配置参数发送至任务执行层;在执行所述算法脚本时,所述任务执行层还用于:根据所述算法组件的输入配置参数获取执行所述算法脚本所需的输入数据,以及根据所述算法组件的输出配置参数将执行所述算法脚本得到的输出数据进行存储。
可选地,所述平台还包括:实时消息处理模块;所述任务调度层还用于对所述任务执行层的执行过程进行监控,以获取算法脚本的执行结果,并将所述执行结果以消息流的形式写入所述实时消息处理模块;所述实时消息处理模块用于对所述执行结果进行处理,并将处理得到的组件执行记录以消息流的形式发送至所述Web交互层。
可选地,所述任务执行层还用于:将算法脚本的执行日志信息写入第二数据库;所述Web交互层还用于从所述第二数据库中获取所述执行日志信息,并对所述执行日志信息进行展示。
为实现上述目的,根据本发明的另一方面,提供了一种机器学习方法。
本发明的机器学习方法包括:Web交互层创建实验拓扑结构,并将针对所述实验拓扑结构的运行命令发送至任务调度层;所述任务调度层根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,并将所述算法脚本和资源信息发送至任务执行层;所述任务执行层根据所述算资源信息调用对应的任务执行引擎,以执行所述算法脚本。
可选地,所述运行命令包括:实验标识、算法组件标识;所述任务调度层根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息的步骤包括:根据所述实验标识查询第一数据库,以获取对应的资源信息;根据所述算法组件标识查询第一数据库,以获取与该算法组件对应的算法脚本名称,然后根据所述对应的算法脚本名称从第二数据库下载算法脚本。
可选地,所述运行命令还包括:算法组件的输入配置参数和输出配置参数;所述方法还包括:所述任务调度层将所述算法组件的输入配置参数和输出配置参数发送至任务执行层;所述任务执行层根据所述算法组件的输入配置参数获取执行所述算法脚本所需的输入数据,以及根据所述算法组件的输出配置参数将执行所述算法脚本得到的输出数据进行存储。
可选地,所述方法还包括:所述任务调度层对所述任务执行层的执行过程进行监控,以获取算法脚本的执行结果,并将所述执行结果以消息流的形式写入实时消息处理模块;所述实时消息处理模块对所述执行结果进行处理,并将处理得到的组件执行记录以消息流的形式发送至所述Web交互层。
可选地,所述方法还包括:所述任务执行层将算法脚本的执行日志信息写入第二数据库;然后,所述Web交互层从所述第二数据库中获取所述执行日志信息,并对所述执行日志信息进行展示。
为实现上述目的,根据本发明的再一个方面,提供了一种电子设备。
本发明的电子设备,包括:一个或多个处理器;以及,存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明的机器学习方法。
为实现上述目的,根据本发明的又一个方面,提供了一种计算机可读介质。
本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明的机器学习方法。
上述发明中的一个实施例具有如下优点或有益效果:本发明的机器学习平台包括:Web交互层、任务调度层和任务执行层。通过Web交互层创建实验拓扑结构,只需要简单的Web页面操作,不需要复杂的Linux命令操作,降低了用户进行机器学习的难度。通过任务调度层获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,通过任务执行层根据所述资源信息调用对应的任务执行引擎以执行所述算法脚本,能够提高机器学习效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明一个实施例的机器学习平台的主要模块示意图;
图2是根据本发明另一实施例的机器学习平台的主要模块示意图;
图3是根据本发明一个实施例的机器学习方法的主要流程示意图;
图4是根据本发明另一实施例的机器学习方法的主要流程示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以相互组合。
在详细介绍本发明各个实施例之前,首先对本发明各个实施例涉及的部分技术术语进行说明。
Hadoop集群:Hadoop实现了一个分布式的基础框架,该框架包括:HDFS和MapReduce。HDFS为海量的数据提供存储功能,MapReduce为海量的数据提供计算功能,Hadoop集群用于将这些海量的数据分布到不同的机器上进行处理。
Storm:为分布式实时计算提供了一组通用原语,可被用于流处理之中,实时处理消息并更新数据库。也可被用于连续计算(continuous computation)之中,对数据流做连续查询,在计算时将结果以流的形式输出给用户。
Kafka:是一种高吞吐量的分布式发布订阅消息系统。
Hbase:是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。
Spark:专为大规模数据处理而设计的快速通用的计算引擎。
Caffe:是一个清晰而高效的深度学习框架。
TensorFlow:是谷歌基于DistBelief研发的第二代人工智能学习系统。
XgBoost on Yarn:Xgboost是大规模并行运行boosted tree的工具,该工具支持在Yarn平台上执行。其中,YARN(Yet Another Resource Negotiator)是一种新的Hadoop资源管理器。
XgBoost on MPI:Xgboost是大规模并行运行boosted tree的工具,该工具支持在MPI平台上执行。其中,MPI是一个信息传递应用程序接口,包括协议和和语义说明。
图1是根据本发明一个实施例的机器学习平台的主要模块示意图。如图1所示,本发明实施例的机器学习平台100包括:Web交互层101、任务调度层102、任务执行层103。
Web交互层101,用于创建实验拓扑结构,并将针对所述实验拓扑结构的运行命令发送至任务调度层。
在本发明实施例中,一次完整的数据处理过程可称为一个实验,由实验中的各种算法组件组成的流程图称为实验拓扑结构。其中,所述算法组件主要由算法脚本、输入配置参数和输出配置参数封装而成。
具体实施时,用户可通过将所需的算法组件拖拽至Web交互层101的实验配置页面的指定区域,并在各个算法组件之间建立数据流链接,以及对各个算法组件进行参数配置等操作创建实验拓扑结构。另外,在构建所述实验拓扑结构时,用户既可以选用机器学习平台提供的算法组件,比如逻辑回归(LR)算法组件、聚类(Kmeans)算法组件、支持向量机(SVM)算法组件、卷积神经网络(CNN)算法组件、深度神经网络(DNN)算法组件、协同过滤(CF)算法组件等,也可以自定义生成算法组件,以满足用户的各种使用场景需求。
任务调度层102,用于根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,并将所述算法脚本和资源信息发送至任务执行层。
其中,所述资源信息可包括实验中每个算法组件可用的集群、CPU以及内存等资源的信息。
任务执行层103,用于根据所述资源信息调用对应的任务执行引擎,以执行所述算法脚本。
其中,所述任务执行层可基于集群形式构建,比如Hadoop集群。并且,所述任务执行层包括多个任务执行引擎。例如,所述任务执行层可包括Spark、Caffe、Tensorflow、XgBoost on Yarn、XgBoost on MPI等执行引擎。
本发明实施例的机器学习平台,通过Web交互层创建实验拓扑结构,只需要简单的Web页面操作,不需要复杂的Linux命令操作,降低了用户进行机器学习的难度。通过任务调度层获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,通过任务执行层根据所述资源信息调用对应的任务执行引擎以执行所述算法脚本,便于用户完整、流畅地进行复杂的机器学习,提高机器学习效率。
图2是根据本发明另一实施例的机器学习平台的主要模块示意图。如图2所示,本发明实施例的机器学习平台200包括:Web交互层201、任务调度层202、任务执行层203、第一数据库204、第二数据库205、实时消息处理模块206。
Web交互层201,为用户提供了可视化操作界面,主要提供了算法组件上传、数据源管理、实验拓扑结构创建、实验日志信息展示、实验执行结果展示、模型下载等功能。另外,Web交互层201还可用于响应用户的触发操作,将实验拓扑结构的运行命令、查看实验中某个算法组件的输出数据的命令或者模型下载的命令等发送至任务调度层202。
任务调度层202,主要用于接收Web交互层201发送的各种命令,比如实验拓扑结构的运行命令、查看实验中某个算法组件的输出数据的命令或者模型下载的命令,整合执行所述命令所需的参数并传递至任务执行层203。
任务执行层203,可基于集群形式构建,比如Hadoop集群。并且,所述任务执行层包括多个任务执行引擎。比如,所述任务执行层可包括Spark、Caffe、Tensorflow、XgBoost onYarn、XgBoost on MPI等执行引擎。任务执行层203主要用于根据任务调度层202发送的执行命令所需的参数执行命令。比如,对于实验拓扑结构的运行命令来说,任务执行层203可根据任务调度层202发送的资源信息调用相应的任务执行引擎,以执行实验拓扑结构中的各个算法组件。又比如,对于查看实验中某个算法组件的输出数据的命令来说,任务执行层203可根据实验标识、算法组件的标识等参数从指定路径读取输出数据,然后经由任务调度层202将输出数据传送给Web交互层201。
第一数据库204,用于存储实验拓扑结构中各种算法组件的依赖关系以及各个算法组件的配置信息。示例性的,各算法组件的依赖关系包括各算法组件的执行顺序;算法组件的配置信息包括:算法组件的标识、算法组件的输入配置参数、算法组件的输出配置参数、算法组件对应的脚本名称、脚本的启动项信息、实验标识、当前组件运行记录标识等。示例性的,第一数据库204可选用Mysql数据库。
第二数据库205,用于存储实验日志信息、算法脚本等非关系型数据。示例性的,第二数据库可选用Hbase数据库。
实时消息处理模块206,用于实时获取任务调度层推送的各个算法组件的执行结果,对所述执行结果进行处理,并将处理得到的组件执行记录发送至Web交互层。其中,所述执行结果是指算法组件的执行状态信息,比如执行成功、执行失败等。示例性的,实时消息处理模块206可选用Kafka、Storm构建。具体实施时,任务调度层202可将算法组件的执行结果以消息流的形式发送至Kafka的消息队列中,然后由Storm来处理Kafka消息队列中的消息(即算法组件的执行结果),该处理过程主要包括:Storm将执行结果写入对应的组件执行记录,然后Storm将组件执行记录发送至Web交互层201。
下面以机器学习平台提供的创建实验拓扑结构、运行实验拓扑结构的功能为例,对本发明实施例的机器学习平台进行详细介绍。
Web交互层201,用于创建实验拓扑结构,并将针对所述实验拓扑结构的运行命令发送至任务调度层。
在本发明实施例中,一次完整的数据处理过程可称为一个实验,由实验中的各种算法组件组成的流程图称为实验拓扑结构。其中,所述算法组件主要由算法脚本、输入配置参数和输出配置参数封装而成。
具体实施时,用户可通过将所需的算法组件拖拽至Web交互层201的实验配置页面的指定区域,并在各个算法组件之间建立数据流链接,以及对各个算法组件进行参数配置等操作创建实验拓扑结构。另外,在构建所述实验拓扑结构时,用户既可以选用机器学习平台提供的算法组件,比如逻辑回归(LR)算法组件、聚类(Kmeans)算法组件、支持向量机(SVM)算法组件、卷积神经网络(CNN)算法组件、深度神经网络(DNN)算法组件、协同过滤(CF)算法组件等,也可以自定义生成算法组件,以满足用户的各种使用场景需求。
任务调度层202,用于根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,并将所述算法脚本和资源信息发送至任务执行层。
示例性地,所述运行命令可包括实验标识(ID)、组件标识(ID)、算法组件的输入配置参数、算法组件的输出配置参数、该组件对应的执行引擎的名称以及算法组件运行记录标识等。在该示例中,任务调度层202在接收到所述运行命令之后,可根据所述实验标识查询第一数据库204,以获取对应的资源信息。其中,所述资源信息可包括实验中每个算法组件可用的集群、CPU以及内存等资源的信息。另外,任务调度层202可根据所述算法组件标识查询第一数据库204,以获取与该算法组件对应的算法脚本名称,然后根据所述对应的算法脚本名称从第二数据库205下载算法脚本。然后,任务调度层202可将所述算法脚本、资源信息以及其他执行算法脚本所需的参数(比如算法组件的输入配置参数、输出配置参数等)发送至任务执行层203。
任务执行层203,用于在获取所述算法脚本和资源信息之后,根据所述资源信息调用对应的任务执行引擎,并根据所述算法组件的输入配置参数获取执行算法脚本所需的输入数据,以执行所述算法脚本。其中,所述算法组件的输入配置参数可包括该算法组件的输入数据的存储路径,所述算法组件的输出配置参数可包括该算法组件的输出数据的存储路径。
具体实施时,任务执行层203可根据任务调度层202发送的资源信息确定对应的任务执行引擎,然后由相应的引擎执行命令执行所述算法脚本。例如,假设算法脚本名称为“test.jar”,算法组件对应的任务执行引擎名称为“Spark”,则解析出的引擎执行命令为“spark-submit–jar test.jar”。
另外,任务执行层203,还可用于根据所述算法组件的输出配置参数将执行所述算法脚本得到的输出数据进行存储。另外,任务调度层203还可用于将算法脚本的执行日志信息写入第二数据库205。
任务调度层202,还用于对任务执行层203的执行过程进行监控,以获取算法脚本的执行结果,并将所述执行结果以信息流的形式发送至实时消息处理模块206。
实时消息处理模块206,用于实时获取任务调度层202推送的算法组件的执行结果,对所述执行结果进行处理,并将处理得到的组件执行记录发送至Web交互层201。
其中,所述执行结果是指算法组件的执行状态信息,比如执行成功、执行失败等。所述组件执行记录可包括:算法组件的ID、实验名称、组件执行状态、运行开始时间、运行结束时间等信息。示例性的,实时消息处理模块206可选用Kafka和Storm构建。
Web交互层201,用于对所述组件执行记录进行展示。
本发明实施例提供了一种易用的、高效的、组件化的、一站式的机器学习平台,其能够提高机器学习效率,降低用户进行机器学习的难度。具体来说,基于本发明实施例的机器学习平台,只需用户在页面上拖拽算法组件等简单操作即可进行实验,极大降低了使用门槛;通过任务调度层对各种资源(比如CPU、GPU等)进行调度管理,以及通过任务执行层启动对应的任务执行引擎执行算法脚本,便于加速算法脚本的执行,节省机器学习的时间成本;通过内置丰富的算法组件库,并同时支持自定义算法组件,能够满足对各种业务场景的需求;通过构建实验拓扑结构,能够将数据导入、数据预处理、模型训练、模型评估等处理过程进行整合,提供一站式全方位的建模流程,便于用户查找某一环节的相关数据,便于用户将多个环节的数据进行整合对比,提高机器学习效率。
图3是根据本发明一个实施例的机器学习方法的主要流程示意图。如图3所示,本发明实施例的机器学习方法包括:
步骤S301、Web交互层创建实验拓扑结构,并将针对所述实验拓扑结构的运行命令发送至任务调度层。
在本发明实施例中,一次完整的数据处理过程可称为一个实验,由实验中的各种算法组件组成的流程图称为实验拓扑结构。其中,所述算法组件主要由算法脚本、输入配置参数和输出配置参数封装而成。
示例性的,Web交互层创建实验拓扑结构可包括:将所需的算法组件拖拽至Web交互层的实验配置页面的指定区域,并在各个算法组件之间建立数据流链接,以及对各个算法组件进行参数配置,进而创建得到实验拓扑结构。另外,在构建所述实验拓扑结构时,既可以选用机器学习平台提供的算法组件,比如逻辑回归(LR)算法组件、聚类(Kmeans)算法组件、支持向量机(SVM)算法组件、卷积神经网络(CNN)算法组件、深度神经网络(DNN)算法组件、协同过滤(CF)算法组件等,也可以自定义生成算法组件,以满足用户的各种使用场景需求。
步骤S302、所述任务调度层根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,并将所述算法脚本和资源信息发送至任务执行层。
其中,所述资源信息可包括实验中每个算法组件可用的集群、CPU以及内存等资源的信息。
步骤S303、所述任务执行层根据所述资源信息调用对应的任务执行引擎,以执行所述算法脚本。
在本发明实施例的方法中,通过Web交互层创建实验拓扑结构,只需要简单的Web页面操作,不需要复杂的Linux命令操作,降低了用户进行机器学习的难度。通过任务调度层获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,通过任务执行层根据所述资源信息调用对应的任务执行引擎以执行所述算法脚本,便于用户完整、流畅地进行复杂的机器学习,提高机器学习效率。
图4是根据本发明另一实施例的机器学习方法的主要流程示意图。如图4所示,本发明实施例的机器学习方法包括:
步骤S401、Web交互层创建实验拓扑结构,并将针对所述实验拓扑结构的运行命令发送至任务调度层。
在本发明实施例中,一次完整的数据处理过程可称为一个实验,由实验中的各种算法组件组成的流程图称为实验拓扑结构。其中,所述算法组件主要由算法脚本、输入配置参数和输出配置参数封装而成。
示例性的,在该步骤中,Web交互层创建实验拓扑结构可包括:将所需的算法组件拖拽至Web交互层的实验配置页面的指定区域,并在各个算法组件之间建立数据流链接,以及对各个算法组件进行参数配置,进而创建得到实验拓扑结构。
步骤S402、任务调度层根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,并将所述算法脚本和资源信息发送至任务执行层。
示例性地,所述运行命令可包括实验标识(ID)和组件标识(ID)、算法组件的输入配置参数、算法组件的输出配置参数、该组件对应的执行引擎名称以及算法组件运行记录标识等。
在该示例中,步骤S402具体包括步骤1至步骤3。
步骤1、任务调度层在接收到所述运行命令之后,根据所述实验标识查询第一数据库,以获取对应的资源信息。其中,所述资源信息可包括实验中每个算法组件可用的集群、CPU以及内存等资源的信息。
步骤2、任务调度层根据所述算法组件标识查询第一数据库,以获取与该算法组件对应的算法脚本名称,然后根据所述对应的算法脚本名称从第二数据库下载算法脚本。示例性的,第一数据库可选用Mysql数据库,第二数据库可选用Hbase数据库。
步骤3、任务调度层将所述算法脚本、资源信息以及其他执行算法脚本所需的参数发送至任务执行层。
步骤S403、所述任务执行层根据所述资源信息调用对应的任务执行引擎,并获取执行所述算法脚本所需的输入数据,以执行所述算法脚本。
具体实施时,任务执行层可根据任务调度层发送的资源信息确定对应的任务执行引擎,然后由相应的引擎执行命令执行所述算法脚本。例如,假设算法脚本名称为“test.jar”,算法组件对应的任务执行引擎名称为“Spark”,则解析出的引擎执行命令为“spark-submit–jar test.jar”。另外,所述任务执行层可根据输入配置参数中的输入数据存储路径获取所需输入数据。
步骤S404、所述任务执行层将执行所述算法脚本得到的输出数据进行存储。
进一步,在步骤S403之后,本发明实施例的方法还可包括:任务执行层将算法脚本的执行日志信息写入第二数据库。
步骤S405、所述任务调度层对所述任务执行层的执行过程进行监控,以获取算法脚本的执行结果,并将所述执行结果以消息流的形式实时写入实时消息处理模块。
步骤S406、所述实时消息处理模块对所述执行结果进行处理,并将处理得到的组件执行记录以消息流的形式发送至所述Web交互层。
其中,所述执行结果是指算法组件的执行状态信息,比如执行成功、执行失败等。示例性的,实时消息处理模块206可选用Kafka、Storm构建。
在本发明实施例中,通过以上步骤能够提高机器学习效率,降低用户进行机器学习的难度。具体来说,由于只需用户在页面上拖拽算法组件、点击“运行”按钮等简单操作即可进行实验,极大降低了用户进行机器学习的难度;通过任务调度层对各种资源(比如CPU、GPU等)进行调度管理,通过任务执行层启动对应的任务执行引擎执行算法脚本等步骤,便于加速算法脚本的执行,节省机器学习的时间成本;通过构建、运行实验拓扑结构,能够将数据导入、数据预处理、模型训练、模型评估等处理过程进行整合,便于用户查找某一环节的相关数据以及将多个环节的数据进行整合对比,提高了机器学习效率。
图5示出了可以应用本发明实施例的机器学习方法或机器学习平台的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的机器学习平台的页面提供支持的后台管理服务器。后台管理服务器可以对接收到的页面请求等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例所提供的机器学习方法一般由服务器505执行,相应地,机器学习平台一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图6示出了适于用来实现本发明实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块(组成层)可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括Web交互层、任务调度层、任务执行层。其中,这些组成层的名称在某种情况下并不构成对该组成层本身的限定,例如,Web交互层还可以被描述为“构建实验拓扑结构,并向所连接的任务调度层发送运行请求的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行以下流程:Web交互层创建实验拓扑结构,并将针对所述实验拓扑结构的运行命令发送至任务调度层;所述任务调度层根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,并将所述算法脚本和资源信息发送至任务执行层;所述任务执行层根据所述资源信息调用对应的任务执行引擎,以执行所述算法脚本。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种机器学习平台,其特征在于,所述平台包括:
Web交互层,用于创建实验拓扑结构,并将针对所述实验拓扑结构的运行命令发送至任务调度层;
任务调度层,用于根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,并将所述算法脚本和资源信息发送至任务执行层;
任务执行层,用于根据所述资源信息调用对应的任务执行引擎,以执行所述算法脚本。
2.根据权利要求1所述的平台,其特征在于,所述运行命令包括:实验标识、算法组件标识;
所述任务调度层根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息包括:所述任务调度层根据所述实验标识查询第一数据库,以获取对应的资源信息;所述任务调度层根据所述算法组件标识查询第一数据库,以获取与该算法组件对应的算法脚本名称,然后根据所述对应的算法脚本名称从第二数据库下载算法脚本。
3.根据权利要求2所述的平台,其特征在于,所述运行命令还包括:算法组件的输入配置参数和输出配置参数;
所述任务调度层还用于:将所述算法组件的输入配置参数和输出配置参数发送至任务执行层;在执行所述算法脚本时,所述任务执行层还用于:根据所述算法组件的输入配置参数获取执行所述算法脚本所需的输入数据,以及根据所述算法组件的输出配置参数将执行所述算法脚本得到的输出数据进行存储。
4.根据权利要求1所述的平台,其特征在于,所述平台还包括:实时消息处理模块;所述任务调度层还用于对所述任务执行层的执行过程进行监控,以获取所述算法脚本的执行结果,并将所述执行结果以消息流的形式写入所述实时消息处理模块;所述实时消息处理模块用于对所述执行结果进行处理,并将处理得到的组件执行记录以消息流的形式发送至所述Web交互层。
5.根据权利要求3所述的平台,其特征在于,所述任务执行层还用于:将算法脚本的执行日志信息写入第二数据库;所述Web交互层还用于从所述第二数据库中获取所述执行日志信息,并对所述执行日志信息进行展示。
6.一种机器学习方法,其特征在于,所述方法包括:
Web交互层创建实验拓扑结构,并将针对所述实验拓扑结构的运行命令发送至任务调度层;
所述任务调度层根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息,并将所述算法脚本和资源信息发送至任务执行层;
所述任务执行层根据所述资源信息调用对应的任务执行引擎,以执行所述算法脚本。
7.根据权利要求6所述的方法,其特征在于,所述运行命令包括:实验标识、算法组件标识;
所述任务调度层根据所述运行命令获取与所述实验拓扑结构中的每个算法组件对应的算法脚本和资源信息的步骤包括:根据所述实验标识查询第一数据库,以获取对应的资源信息;根据所述算法组件标识查询第一数据库,以获取与该算法组件对应的算法脚本名称,然后根据所述对应的算法脚本名称从第二数据库下载算法脚本。
8.根据权利要求7所述的方法,其特征在于,所述运行命令还包括:算法组件的输入配置参数和输出配置参数;所述方法还包括:所述任务调度层将所述算法组件的输入配置参数和输出配置参数发送至任务执行层;在执行所述算法脚本时,所述任务执行层根据所述算法组件的输入配置参数获取执行所述算法脚本所需的输入数据,以及根据所述算法组件的输出配置参数将执行所述算法脚本得到的输出数据进行存储。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:所述任务调度层对所述任务执行层的执行过程进行监控,以获取算法脚本的执行结果,并将所述执行结果以消息流的形式写入实时消息处理模块;所述实时消息处理模块对所述执行结果进行处理,并将处理得到的组件执行记录以消息流的形式发送至所述Web交互层。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:所述任务执行层将算法脚本的执行日志信息写入第二数据库;然后,所述Web交互层从所述第二数据库中获取所述执行日志信息,并对所述执行日志信息进行展示。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求6至10中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求6至10中任一所述的方法。
CN201810245321.6A 2018-03-23 2018-03-23 机器学习方法和平台 Pending CN108510081A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810245321.6A CN108510081A (zh) 2018-03-23 2018-03-23 机器学习方法和平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810245321.6A CN108510081A (zh) 2018-03-23 2018-03-23 机器学习方法和平台

Publications (1)

Publication Number Publication Date
CN108510081A true CN108510081A (zh) 2018-09-07

Family

ID=63378306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810245321.6A Pending CN108510081A (zh) 2018-03-23 2018-03-23 机器学习方法和平台

Country Status (1)

Country Link
CN (1) CN108510081A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109273077A (zh) * 2018-10-08 2019-01-25 北京万东医疗科技股份有限公司 数据处理方法、装置及智能设备
CN109635170A (zh) * 2018-12-13 2019-04-16 成都四方伟业软件股份有限公司 算法接入方法、装置、电子设备及可读存储介质
CN109766196A (zh) * 2018-12-18 2019-05-17 深圳云天励飞技术有限公司 一种任务调度方法、装置及设备
CN109783256A (zh) * 2019-01-10 2019-05-21 上海商汤智能科技有限公司 人工智能教学系统及方法、电子设备、存储介质
CN110942155A (zh) * 2019-11-29 2020-03-31 广西电网有限责任公司 一种机器学习引擎的研究方法
CN111240662A (zh) * 2020-01-16 2020-06-05 同方知网(北京)技术有限公司 一种基于任务可视化拖拽的spark机器学习系统及学习方法
CN111242309A (zh) * 2020-01-03 2020-06-05 支付宝(杭州)信息技术有限公司 形成机器学习应用系统的方法、装置及电子设备
CN111582478A (zh) * 2020-05-09 2020-08-25 北京百度网讯科技有限公司 用于确定模型结构的方法和装置
CN114091688A (zh) * 2021-11-25 2022-02-25 北京九章云极科技有限公司 一种计算资源获取方法、装置、电子设备和存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345664A (zh) * 2013-05-31 2013-10-09 华为技术有限公司 工作流-任务调度适配方法及系统
CN103377075A (zh) * 2012-04-28 2013-10-30 腾讯科技(深圳)有限公司 管理任务的方法、装置及系统
CN103593323A (zh) * 2013-11-07 2014-02-19 浪潮电子信息产业股份有限公司 一种MapReduce任务资源配置参数的机器学习方法
CN103780655A (zh) * 2012-10-24 2014-05-07 阿里巴巴集团控股有限公司 一种消息传递接口任务和资源调度系统及方法
CN104035870A (zh) * 2014-06-25 2014-09-10 广东欧珀移动通信有限公司 一种脚本执行信息的展现方法及装置
CN105069066A (zh) * 2015-07-29 2015-11-18 江苏方天电力技术有限公司 基于大数据平台的节能减排监控分布式计算框架及方法
CN105094961A (zh) * 2015-08-11 2015-11-25 北京思特奇信息技术股份有限公司 一种基于quartz框架的任务调度管理系统及其方法
CN106021071A (zh) * 2016-05-04 2016-10-12 北京思特奇信息技术股份有限公司 一种监控sql运行过程的方法和系统
CN106168910A (zh) * 2015-11-16 2016-11-30 华扬联众数字技术股份有限公司 程序调度和执行的方法、系统以及调度器和执行器
WO2016118979A4 (en) * 2015-01-23 2017-02-16 C3, Inc. Systems, methods, and devices for an enterprise internet-of-things application development platform
CN106529673A (zh) * 2016-11-17 2017-03-22 北京百度网讯科技有限公司 基于人工智能的深度学习网络训练方法及装置
CN107263464A (zh) * 2016-04-04 2017-10-20 发那科株式会社 机器学习装置、机械系统、制造系统以及机器学习方法
CN107451663A (zh) * 2017-07-06 2017-12-08 阿里巴巴集团控股有限公司 算法组件化、基于算法组件建模方法、装置以及电子设备
CN107450972A (zh) * 2017-07-04 2017-12-08 阿里巴巴集团控股有限公司 一种调度方法、装置以及电子设备

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377075A (zh) * 2012-04-28 2013-10-30 腾讯科技(深圳)有限公司 管理任务的方法、装置及系统
CN103780655A (zh) * 2012-10-24 2014-05-07 阿里巴巴集团控股有限公司 一种消息传递接口任务和资源调度系统及方法
CN103345664A (zh) * 2013-05-31 2013-10-09 华为技术有限公司 工作流-任务调度适配方法及系统
CN103593323A (zh) * 2013-11-07 2014-02-19 浪潮电子信息产业股份有限公司 一种MapReduce任务资源配置参数的机器学习方法
CN104035870A (zh) * 2014-06-25 2014-09-10 广东欧珀移动通信有限公司 一种脚本执行信息的展现方法及装置
WO2016118979A4 (en) * 2015-01-23 2017-02-16 C3, Inc. Systems, methods, and devices for an enterprise internet-of-things application development platform
CN105069066A (zh) * 2015-07-29 2015-11-18 江苏方天电力技术有限公司 基于大数据平台的节能减排监控分布式计算框架及方法
CN105094961A (zh) * 2015-08-11 2015-11-25 北京思特奇信息技术股份有限公司 一种基于quartz框架的任务调度管理系统及其方法
CN106168910A (zh) * 2015-11-16 2016-11-30 华扬联众数字技术股份有限公司 程序调度和执行的方法、系统以及调度器和执行器
CN107263464A (zh) * 2016-04-04 2017-10-20 发那科株式会社 机器学习装置、机械系统、制造系统以及机器学习方法
CN106021071A (zh) * 2016-05-04 2016-10-12 北京思特奇信息技术股份有限公司 一种监控sql运行过程的方法和系统
CN106529673A (zh) * 2016-11-17 2017-03-22 北京百度网讯科技有限公司 基于人工智能的深度学习网络训练方法及装置
CN107450972A (zh) * 2017-07-04 2017-12-08 阿里巴巴集团控股有限公司 一种调度方法、装置以及电子设备
CN107451663A (zh) * 2017-07-06 2017-12-08 阿里巴巴集团控股有限公司 算法组件化、基于算法组件建模方法、装置以及电子设备

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109273077A (zh) * 2018-10-08 2019-01-25 北京万东医疗科技股份有限公司 数据处理方法、装置及智能设备
CN109635170A (zh) * 2018-12-13 2019-04-16 成都四方伟业软件股份有限公司 算法接入方法、装置、电子设备及可读存储介质
CN109766196A (zh) * 2018-12-18 2019-05-17 深圳云天励飞技术有限公司 一种任务调度方法、装置及设备
CN109783256A (zh) * 2019-01-10 2019-05-21 上海商汤智能科技有限公司 人工智能教学系统及方法、电子设备、存储介质
CN110942155A (zh) * 2019-11-29 2020-03-31 广西电网有限责任公司 一种机器学习引擎的研究方法
CN111242309A (zh) * 2020-01-03 2020-06-05 支付宝(杭州)信息技术有限公司 形成机器学习应用系统的方法、装置及电子设备
CN111240662A (zh) * 2020-01-16 2020-06-05 同方知网(北京)技术有限公司 一种基于任务可视化拖拽的spark机器学习系统及学习方法
CN111240662B (zh) * 2020-01-16 2024-01-09 同方知网(北京)技术有限公司 一种基于任务可视化拖拽的spark机器学习系统及学习方法
CN111582478A (zh) * 2020-05-09 2020-08-25 北京百度网讯科技有限公司 用于确定模型结构的方法和装置
CN111582478B (zh) * 2020-05-09 2023-09-22 北京百度网讯科技有限公司 用于确定模型结构的方法和装置
CN114091688A (zh) * 2021-11-25 2022-02-25 北京九章云极科技有限公司 一种计算资源获取方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN108510081A (zh) 机器学习方法和平台
CN107590186B (zh) 管理和执行数据处理策略的方法和策略引擎系统
US8478800B1 (en) Log streaming facilities for computing applications
CN110310034A (zh) 一种应用于SaaS的服务编排、业务流程处理方法和装置
CN109690535A (zh) 具有意图确定的互联网云托管的自然语言交互式消息传送系统
CN107818479A (zh) 优惠信息推送方法、系统、存储介质和电子设备
CN109976997A (zh) 测试方法和装置
US20180276508A1 (en) Automated visual information context and meaning comprehension system
CN109254917B (zh) 用于测试信息流系统的方法和装置
CN108696400A (zh) 网络监测方法和装置
CN109241033A (zh) 创建实时数据仓库的方法和装置
CN109885624A (zh) 数据处理方法、装置、计算机设备和存储介质
CN109905286A (zh) 一种监控设备运行状态的方法和系统
CN110781180B (zh) 一种数据筛选方法和数据筛选装置
CN110096420A (zh) 一种数据处理方法、系统和装置
CN110119445A (zh) 生成特征向量和基于特征向量进行文本分类的方法和装置
CN110019158A (zh) 一种监控数据质量的方法和装置
CN109298948A (zh) 分布式计算方法和系统
Nguyen et al. A low-cost two-tier fog computing testbed for streaming IoT-based applications
CN108628669A (zh) 一种调度机器学习算法任务的方法和装置
CN109960212A (zh) 任务发送方法和装置
CN108563697A (zh) 一种数据处理方法、装置和存储介质
US11829799B2 (en) Distributed resource-aware training of machine learning pipelines
CN110083457A (zh) 一种数据获取方法、装置以及数据分析方法、装置
CN112052152A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180907