本申请涉及机器学习领域,具体涉及一种用于机器学习平台中快速创建模型项目的方法及装置。
背景技术:
随着近几年来人工智能的飞速发展,机器学习作为人工智能的主要实现方法也得了飞速发展,各大互联网公司纷纷推出了自己的机器学习平台。通过机器学习平台,我们可以依据现有的数据获得合理的模型项目,利用这些模型项目不仅可以解决科学研究的一些问题,也可以应用到实际生活中的各个领域,积极地指导我们的生活生产等活动。机器学习平台通过创建并运行模型项目训练实验甚至多次反复地重复这个过程来改进、验证模型项目直至获得满意的模型项目,从而最终创建出模型项目。
目前主流的机器学习平台创建模型项目时需要先创建实验,然后依据实验的需求从组件栏中拖拽组件该实验中,接着对组件进行连线和参数配置后,然后运行该实验。前述实验的方法每次创建实验时,都需要单独从相应的组件栏中逐一拖拽实验所需的组件,非常耗时及不便,也导致机器学习平台的易用性差。
技术实现要素:
本申请提供用于机器学习平台中快速创建模型项目的方法,以解决现有机器学习平台创建模型项目的上述问题。本申请同时还提供一种机器学习平台中快速创建模型项目的装置。
本申请提供的一种用于机器学习平台中快速创建模型项目的方法,包括:
创建机器学习运行环境;
向所述机器学习运行环境中添加模型项目所需组件;
将所需的组件按照模型项目设定的顺序建立输入输出链接以创建模型项目;
对所述的模型项目所需的组件进行参数配置;
运行所述创建的模型项目。
可选的,所述创建机器学习运行环境包括:
在所述机器学习平台创建模型项目面板;
为所述创建的模型项目面板分配识别码。
可选的,所述向所述机器学习运行环境中添加模型项目所需组件包括:
向所述模型项目面板中添加组件;
将添加的所述组件的属性信息插入到模型项目面板信息表中;
其中,所述属性信息包括所述添加的所述组件所在模型项目面板识别码,所述添加的所述组件名称、组件识别码以及所述添加的所述组件于所述模型项目面板中的位置信息。
可选的,所述组件包括算法组件和数据源组件。
可选的,所述将所需的组件按照模型项目设定的顺序建立输入输出链接包括:
为待运行模型项目分配模型项目名称和模型项目编码;
选择所述模型项目所需的组件;
按照模型项目设定的顺序在所述模型项目所需的组件之间建立数据或命令输入输出链接。
可选的,所述将所需的组件按照模型项目设定的顺序建立输入输出链接包括:
选择模型项目所需的组件;
判断待选择组件是否包含父节点或并行节点,并在不包含时自动分配模型项目名称和识别码;
按照模型项目设定的顺序在所述模型项目所需的组件之间建立数据或命令输入输出链接;其中,
模型项目中的各个组件构成模型项目的节点,父节点为选定节点的上一节点,并行节点为选定节点具有共同父节点的节点。
可选的,选择模型项目所需组件包括选择向所述机器学习模型项目运行环境中添加的组件,和/或
已经存在于模型项目运行环境中的或已经被运行环境中其它模型项目所使用过的组件。
可选的,还包括:将模型项目信息和模型项目面板识别码插入到模型项目信息表;
其中,所述模型项目信息包括模型项目名称、模型项目编码及所述模型项目所需的组件及其属性信息。
可选的,还包括将构成所述模型项目的各所述节点信息插入到节点信息表中;
其中,所述节点信息包括节点位置、节点相关父节点和子节点信息。
可选的,对所述的模型项目所需的组件进行参数配置包括:
配置所述模型项目所需的算法组件的参数信息;
将上述所述参数信息、节点标识码、及模型项目编码插入到节点参数表中。
可选的,所述运行所述创建的模型项目包括
选择待运行的模型项目,并启动运行模型项目;
根据所述模型项目编码,读取该模型项目中的所有节点标识码;
根据所述节点标识码在节点表中的父子关系,给节点排序;
按照所述节点排序顺次执行节点。
可选的,还包括:节点执行后向节点执行日志表插入执行记录;并在模型项目运行结束后向模型项目执行状态表插入模型项目执行状态数据。
可选的,所述按照所述节点排序顺次执行节点包括:
针对每一个所述节点,根据所述模型项目编码和所述节点标识码从所述节点参数表中获取该节点的所述参数信息;
判断该节点属于所述数据源节点还是所述算法节点;
在判断结果为所述数据源节点时向机器学习平台的对应数据库中获取数据;
在判断结果为所述算法节点时从节点参数表中获取此节点的参数并根据算法参数执行算法。
可选的,所述向所述机器学习运行环境中添加模型项目所需组件具体为:
所述向所述机器学习运行环境中添加同一模型项目所需组件;或
所述向所述机器学习运行环境中添加不同模型项目所需组件。
此外,本申请还提供一种用于机器学习平台中快速创建模型项目的装置,包括:
创建单元,用于创建机器学习运行环境;
组件添加单元,用于向所述机器学习运行环境中添加模型项目所需组件;
连接单元,用于将所需的组件按照模型项目设定的顺序建立输入输出链接以创建模型项目;
参数配置单元,用于对所述的模型项目所需的组件进行参数配置;
运行单元,用于运行所述创建的模型项目。
可选的,所述创建单元包括:
面板创建单元,用于在所述机器学习平台创建模型项目面板;
识别码分配单元,用于为所述创建的模型项目面板分配识别码。
可选的,所述组件添加单元包括:
组件单元,用于向所述模型项目面板中添加组件;
属性插入单元,用于将添加的所述组件的属性信息插入到模型项目面板信息表中;
其中,所述属性信息包括所述添加的所述组件所在模型项目面板识别码,所述添加的所述组件名称以及所述添加的所述组件于所述模型项目面板中的位置信息。
可选的,所述连接单元包括:
模型项目分配单元,用于为待运行模型项目分配模型项目名称和模型项目编码;
选择单元,用于选择所述模型项目所需的组件;
链接单元,用于按照模型项目设定的顺序在所述模型项目所需的组件之间建立数据或命令输入输出链接。
此外,本申请还提供一种电子设备,其包括:
处理器和存储介质;
所述存储介质存储或携带有用于机器学习平台中快速创建模型项目的方法;该设备通电并通过所述处理器运行所述用于机器学习平台中快速创建模型项目的方法的程序后,执行下述操作:
创建机器学习运行环境;
向所述机器学习运行环境中添加模型项目所需组件;
将所需的组件按照模型项目设定的顺序建立输入输出链接以创建模型项目;
对所述的模型项目所需的组件进行参数配置;
运行所述创建的模型项目。
此外,本申请还提供一种用于机器学习平台中快速创建模型项目的方法,包括:
创建机器学习运行环境;
向所述机器学习运行环境中添加模型项目所需组件;
在该学习环境,基于添加的组件创建模型项目;
运行所述创建的模型项目。
与现有技术相比,本申请的其中一个方面具有以下优点:本申请的实施例首先创建一个机器学习运行环境,然后向该环境中添加模型项目所需组件,每次需要创建模型项目的时候,直接将模型项目所需的组件按照模型项目设定的顺序进行连线即可创建模型项目,然后再对模型项目所需的组件进行参数配置后,即可运行模型项目。与现有技术相比,该方法由于首先向机器学习运行环境中添加组件,之后每次创建模型项目只要将模型项目所需的组件按照模型项目设定的顺序进行连线即可创建模型项目,而无须通过逐一拖拽模型项目所需组件来添加模型项目所需组件,极大地缩短了创建模型项目的时间,同时也提升了机器学习平台的易用性。
附图说明
图1是本申请的一种用于机器学习平台中快速创建模型项目的方法的实施例的流程图;
图2是本实施例提供的创建机器学习运行环境的方法流程图;
图3是本实施例提供的向机器学习运行环境中添加模型项目所需组件的方法流程图;
图4是本实施例提供的将模型项目所需的组件按照模型项目设定的顺序建立输入输出链接的方法流程图;
图5是本实施例提供的对模型项目所需的组件进行参数配置的方法流程图;
图6是本实施例提供的运行所创建的模型项目的方法流程图;
图7是本实施例提供的按照所述节点顺序执行节点的方法流程图;
图8示出了机器学习平台上创建的面板的示意图;
图9示出了节点连线的流程及相关的参数信息表的内容;
图10为本申请的实施例的模型项目运行的流程图;
图11为本申请的实施例的算法节点执行流程图;
图12为本申请实施例的用于机器学习平台中快速创建模型项目的装置实施例的示意图;
图13为一种采用本申请实施例的快速创建模型项目方法在平台建立的模型项目组件连接关系图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
由海量数据中挖掘出有价值的数据,对科学和社会的进步具有重大意义。随着移动互联网的迅猛发展,人类社会已经不可避免的进入了大数据的时代。与传统数据相比,大数据有着海量、异构、重复甚至冲突的数据,这使得传统数据挖掘方法无论从数据形态还是从计算模型,或是从计算效率上都无法继续胜任新的需求。基于此,云计算、云服务迅速成为研究热点。机器学习云平台也应运而生。
机器学习平台通过分布式云计算平台,实现数据挖掘、建模、预测等功能。为用户提供算法开发、分享、模型训练、部署、监控等一站式算法服务,在一些机器学习平台中,用户还可以通过可视化的操作界面来操作整个建立模型实验流程,同时也支持命令方式,让用户通过命令行来操作实验建模。通过机器学习平台,可大幅降低用户或开发者开发和部署分布式机器学习系统及相关应用的门槛。本申请中提供一种用于机器学习平台中快速创建模型项目的方法。通过该方法,用户或相关开发者可快速创建其想要的计算模型项目或者实验模型项目,并快速验证其可行性。从而更加便于开发者高效快速利用机器学习平台开发模型项目。本申请的一种用于机器学习平台中快速创建模型项目的方法包括:创建机器学习模型项目运行环境;向所述机器学习模型项目运行环境中添加组件;将模型项目所需的组件按照模型项目设定的顺序建立输入输出链接以创建模型项目;对所述的模型项目所需的组件进行参数配置;运行所述创建的模型项目。下面进行详细描述。
请参考图1,其为本申请方法的实施例的流程图。本申请的用于机器学习平台中快速创建模型项目的方法包括如下步骤:
步骤101:创建机器学习模型项目运行环境。
所述模型项目是指机器学习平台用户在机器学习平台上搭建的由数个或一系列组件组成的数据工作流程或者数据应用。模型项目也称为计算模型项目,也包括为验证特定功能而临时或长期创建的实验模型项目。本申请的实施例以实验模型项目为例来进行说明。通过模型项目可以找出现有数据之间的规律,最终创建出反映该规律的模型项目。
所述机器学习运行环境是机器学习平台中用于创建并运行模型项目的虚拟环境,在该环境下可以创建模型项目,并运行所创建的模型项目。
所述创建机器学习模型项目运行环境的方法,包括如下步骤:
步骤101-1:在所述机器学习平台上创建模型项目面板。
所述模型项目面板是指面板形式的机器学习模型项目运行环境,在该面板上可以创建并运行所述模型项目。与机器学习平台中的传统的模型项目界面不同的是,所述模型项目面板还可以以直接可见的形式将组件存放在其上。可以通过点击所述机器学习平台上的创建模型项目面板的按钮在所述机器学习平台上创建所述模型项目面板。用户可以对所创建的所述模型项目面板进行命名、重命名等操作。
所述模型项目面板设置有滚动条,以便于查看、操作整个模型项目面板。
可以同时创建多个所述模型项目面板。
在同一个所述模型项目面板上可以同时创建并运行多个所述模型项目;而且当同时运行多个模型项目导致页面性能变差时,可在后端服务器上根据用户数量和组件的使用频率进行扩容。
用户还可以选择是否保存在所述模型项目面板上运行成功的所述模型项目及其生成的模型项目,当选择保存所述模型项目及其生成的模型项目时,可以设置所述模型项目或其生成的模型项目的保存名称、位置以及保存的生命周期等保存参数。
步骤101-2:为所述创建的模型项目面板分配模型项目面板识别码。
所述模型项目面板识别码是指用于标识所述模型项目面板的编码。所述模型项目面板识别码与所述模型项目面板一一对应,为唯一编码。
当在所述机器学习平台上创建所述模型项目面板成功时,后台程序将为所创建的所述模型项目面板分配所述模型项目面板识别码。
如图8示出了机器学习平台上创建的面板的示意图。如图8所示,创建的实验模型项目面板如图中的“实验运行面板”。下面为面板区域,可以通过拉取组件创建实验模型项目,并进行模拟。其中,实验模型项目(在图8至图11中简称实验)是指机器学习平台用户搭建的数据工作流程或者数据应用;用户需要先建立一个实验实例,然后在实验面板上搭建数据流程。
请继续参考图1,步骤102:向所述机器学习运行环境中添加模型项目所需组件。
具体的,本步骤中,根据模型项目或者项目等的需要向所述模型项目运行环境中添加组件。
所述组件是指可以在所述机器学习平台上调用执行的用于代表各种算法或者数据源的操作单元。例如数据导入导出、数据处理、数据分析、模型项目训练或者预测。
所述代表算法的组件为算法组件,所述算法组件具有参数配置栏用于配置各个算法在运行时的参数,且所述算法组件上有输入、输出按钮用于各个算法之间的连接和算法运行结果的输出、查看等。
所述代表数据源的组件为数据源组件,所述数据源组件主要用来设置表名,一旦数据源组件设置表名后,系统就会去后台数据库中读取相应表名的数据,提供给后续的算法组件使用。
所述组件包括所述算法组件和所述数据源组件。
所述向所述机器学习运行环境中添加模型项目所需组件的方法,包括如下步骤:
步骤102-1:向所述模型项目面板中添加组件。其中,所述组件可以为同一模型项目的组件,也可以为不同模型项目的组件。本实施例以添加同一项目模型组件为例进行说明。但需要说明的是,本申请并不局限于此,可以同时或顺次添加不同模型项目的组件,并在后续步骤中,将属于同一模型项目的组件根据先后顺序建立输入输出链接。
通过逐一拖拽组件栏中的相应组件到所述模型项目面板中从而将所拖拽的组件添加到所述模型项目面板中。
步骤102-2:将添加的所述组件的属性信息插入到模型项目面板信息表中;
其中,所述属性信息包括所述添加的所述组件所在模型项目面板识别码,所述添加的所述组件名称以及所述添加的所述组件于所述模型项目面板中的位置信息。
所述模型项目面板信息表是指记录所述模型项目面板中的所有组件的上述所述属性信息的数据库表格。
当向所述模型项目面板中添加组件成功时,后台程序将所添加的所述组件的所在模型项目面板识别码、组件名称以及其所述模型项目面板中的位置信息等所述属性信息插入到模型项目面板信息表中以记录所添加的所述组件。
步骤103:将模型项目所需的组件按照模型项目设定的顺序建立输入输出链接以创建模型项目。
所述模型项目所需的组件是指所要创建的模型项目需要的所述算法组件和数据源组件的总和。
所述模型项目设定的顺序是指所述模型项目的执行步骤的先后顺序。
所述输入输出链接是指按照所述模型项目的步骤的先后顺序进行的所述模型项目所需的算法组件和数据源组件之间的连线。即搭建组件之间的数据或命令的输入输出通道。
所述将模型项目所需的组件按照模型项目设定的顺序建立输入输出链接以创建模型项目的方法,包括如下步骤:
步骤103-1:为待运行模型项目分配模型项目名称和模型项目编码。
所述待运行模型项目是指将全部所述模型项目所需的组件按照所述模型项目设定的顺序连接在一起的创建完成的所述模型项目或所述模型项目所需的组件中的几个连接在一起的正在创建的所述模型项目。
所述模型项目编码是指用于标识所述模型项目的编码。所述模型项目编码与所述模型项目一一对应,为唯一编码。
对于所述每个待运行的所述模型项目,后台程序都其创建时就自动随机分配了一个模型项目名称和对应的模型项目编码。
步骤103-2:选择所述模型项目所需的组件。
所述选择所述模型项目所需的组件是指选择两个所述模型项目所需的组件按照所述模型项目设定顺序进行连线。
所述上述两个进行连线的所述模型项目所需的组件按照所述模型项目设定顺序依次为父组件和子组件。
所述选择模型项目所需的组件包括从所述机器学习模型项目运行环境中添加的所述组件中选择,或者从已经存在于所述模型项目运行环境中的所述组件中选择,或者从已经被其他所述模型项目所使用过的所述组件中选择。或者在某一项目模型项目中,同时从前述所有或任意两处选择组件,以满足模型项目或项目所需。
步骤103-3:判断所选择组件是否包含父节点或并行节点,并在不包含时自动分配模型项目名称和模型项目编码;
其中,所述模型项目中的各个所述组件构成模型项目节点,简称节点;所述父节点为选定的所述模型项目节点的上一所述模型项目节点;所述并行节点为选定的所述模型项目节点具有共同的所述父节点的所述模型项目节点。
判断所选择组件是否包含父节点或并行节点是指判断所述步骤103-2中的所述父组件是否包含父节点或者并行节点。
如果所述父组件不包含所述父节点或者所述并行节点,则表明将所述子组件与其连线,创建了一个新模型项目,此时后台程序为所创建的新模型项目自动随机分配其模型项目名称和模型项目编码;
如果所述父组件包含所述父节点或者所述并行节点,则表明将所述子组件与其连线,是为包含所述父组件的所述待运行的模型项目添加所述组件,此时并没有创建新模型项目。
步骤103-4:将模型项目信息和所述模型项目面板识别码插入到模型项目信息表中;
所述模型项目信息包括所述模型项目名称、所述模型项目编码、所述模型项目所需的组件以及所述模型项目所需的组件的属性信息。
所述模型项目信息表是指记录所有所述待运行模型项目的上述所述模型项目信息以及其所在的所述模型项目面板识别码的数据表。
当在上述所述步骤103-3中创建了一个新模型项目时,所创建的新模型项目也成为待运行模型项目,则将所创建的新模型项目的所属模型项目信息和所述模型项目所在的模型项目面板识别码也插入到所述模型项目信息表中。
步骤103-5:将构成所述模型项目的各所述节点信息插入到节点信息表中。
所述节点信息包括所述节点的位置信息、所述节点相关的父节点和子节点信息。
所述节点的子节点为所述模型项目节点的下一级所述模型项目节点。
所述节点相关的父节点是指所述模型项目节点的所有父节点。
所述节点相关的子节点是指所述模型项目节点的所有子节点。
所述节点信息表是指记录所有所述待运行模型项目所包含的所有所述节点的上述所述节点信息的数据表。
当在上述所述步骤103-3中创建了一个新模型项目时,不仅执行上述所述步骤103-4,还将同时将构成所述模型项目的所述各模型项目节点的上述所述节点信息插入到所述节点信息表中。
步骤103-6:按照模型项目设定的顺序在所述模型项目所需的组件之间建立数据或命令输入输出链接
此步骤是指重复所述上述四个步骤103-2、103-3、103-4、103-5,依次将模型项目所需的全部算法组件和数据源按照模型项目设定的顺序连线在一起,从而创建模型项目。
步骤104:对所述的模型项目所需的组件进行参数配置;
所述对上述所述的模型项目所需的组件进行参数配置的方法,包括如下步骤:
步骤104-1:配置所述模型项目所需的算法组件的参数信息。
打开所述要进行参数配置的所述模型项目所需的算法组件的所述参数配置栏,选择该算法运行时所需要的参数进行配置。例如若某一算法节点为随机森林算法节点,配置其树个数,树深度、训练列、目标列等参数。
步骤104-2;将上述所述参数信息、节点标识码、节点名称及模型项目识别码插入到节点参数表中。
所述模型项目所需的算法组件的所述参数信息包括其所有参数的参数名称和参数配置值。
所述节点参数表是指记录所述模型项目所包含的所述节点的节点标识码、节点名称、关联的模型项目识别码以及所述节点对应的组件的参数信息的数据表。
通过上述所述步骤104-1完成所述模型项目所需的算法组件的参数配置后,104-2步骤后台程序自动执行。
图9示出了节点连线的流程及相关的参数信息表的内容,上述步骤103和104相关内容也可可参考图9。
通过上述的步骤,即完成了模型项目的创建,进一步的,可以通过模拟运行该模型项目以模拟查看该模型项目的运行结果,搭建的模型项目是否可以达到预期的目的。请继续参考图1。
步骤105:运行所述创建的模型项目。
所述运行所述创建的模型项目的方法,包括如下步骤:
步骤105-1:选择要运行的模型项目,并启动运行模型项目。
用户以框选的方式来选择要运行的模型项目之后,通过按下所述机器学习平台上预设的运行模型项目的按钮来启动运行模型项目。
由于所述机器学习平台支持多个模型项目同时运行,用户可以同时框选多个要运行模型项目使得所框选的多个模型项目同时运行。
如果用户没有框选要运行的模型项目,则默认选择了所述机器学习模型项目运行环境中的所有模型项目。当然,平台可以选择默认的模型项目方式,例如,也可以默认在没有框选时不运行任何模型项目。
步骤105-2:根据所述模型项目识别码,读取该模型项目中的所有节点标识码。
开始运行上述所述步骤105-1所框选的模型项目时,后台程序首先读取运行的所有模型项目的模型项目编码,然后根据所读取的所述模型项目编码,读取所述模型项目编码对应的模型项目中的所有节点的节点标识码。
步骤105-3:根据所述节点标识码在节点表中的父子关系,给节点排序;
接着上述所述步骤105-2,读取所述每个已读取的节点标识码在所述节点信息表中的所有所述父节点和子节点,来确定所运行的模型项目包含的所述所有节点之间的父子关系,并依据此父子关系给所运行的模型项目包含的所述所有节点排序。
步骤105-4:按照所述节点排序顺次执行节点。
接着上述所述步骤105-3,给所运行的模型项目包含的所述所有节点排序结束后,将执行此步骤。
所述按照所述节点排序顺次执行节点的方法,包括如下步骤:
步骤105-4-1:针对每一个所述节点,根据所述模型项目编码和所述节点标识码从所述节点参数表中获取该节点的所述参数信息;
每执行一个所述节点时,后台程序首先将根据所执行的节点标识码和其对应的模型项目编码从所述节点参数表中读取该节点的所述参数信息。
步骤105-4-2:判断该节点属于所述数据源节点还是所述算法节点;
所述数据源节点是指节点所对应的组件为数据源组件。所述算法节点是指节点所对应的组件为算法组件。根据从节点参数表读取的节点参数信息来判断该节点为数据源节点或者算法节点。
步骤105-4-3:在判断结果为所述数据源节点时,从机器学习平台的数据库中获取数据;
如果上述所述步骤105-4-2的判断结果为数据源节点,则从所述机器学习平台的对应的数据库中获取数据。对于机器学习平台而言,该智能平台主要分为三层,第一层是webui界面,第二层是idst算法层,最后一层是数据库平台层。本步骤在机器学习平台中具体是指从相应的数据库中读取表数据。
步骤105-4-4:在判断结果为所述算法节点时从节点参数表中获取此节点的参数并根据算法参数执行算法。
如果上述所述步骤105-4-2的判断结果为算法节点,则根据上述所述步骤105-4-1读取的该算法节点的参数信息执行该算法节点对应的所述算法。
具体而言,将参数信息按照约定的格式拼接为机器学习命令行形式。后台程序将此机器学习命令通过调度系统发送给数据库系统,数据库系统根据解析机器学习命令格式中的参数,获得算法所在的存储空间和算法名称以及算法的参数配置。数据库系统调用指定算法存储空间中的目标算法并根据算法参数执行算法。算法运行成功后返回算法的结果表名称或者生成的算法模型项目名称,结果表存储在用户当前系统对应的数据库项目空间中(简单理解就是数据库),算法模型项目pmml文件存储在后台系统指定的odpsvolumn中。
算法节点执行流程图可参看附图11。
步骤105-5:节点执行后向节点执行日志表插入执行记录,并在模型项目运行结束后向模型项目执行状态表插入模型项目执行状态数据。
所述节点执行日志表是指用于记录节点运行状况的数据库表;
所述模型项目执行状态表是指用于记录仪模型项目运行结果的数据库表。
所述模型项目运行结果包括模型项目的运行时间、运行结果。
上述所述步骤105-4中每执行一个节点,后台程序都将向所述节点执行日志表中插入一条数据来记录节点的执行状况。
如果所述节点执行成功,则记录所述节点的执行日志;
如果所述节点执行失败,则记录所述节点的执行失败日志;与此同时,所述执行失败的节点所对应的模型项目将中止运行,并向模型项目执行状态表中插入所述模型项目运行的结果数据;
如果所框选的模型项目的所有节点执行成功,则所框选的模型项目运行成功,并也向模型项目执行状态表中插入所述模型项目的运行结果数据。
实验模型项目运行的流程也可参看附图10。
本实施例中,面板中生成的模型项目、模型项目信息、组件信息以及组件参数配置后是保存在mysql相应的表中,也可以保存在其他类型的表如rds,sqlserver等或者其他存储系统如lds,cache等。本实施例中生成的模型项目运行时,算法包和数据的存储空间为数据库的项目空间。其中运行环境也可以为ecs,存储系统也可以是oss等。这里不再展开论述。
下面通过一个具体的实例来说明本申请的快速创建模型项目方法,如图13所示,其示出了一种采用上述实施例的快速创建模型项目方法在平台建立的模型项目组件连接关系图。为了对于雾霾天气进行预测,在获取天气预测数据后,可通过数据预处理组件进行预处理,然后将处理后的数据进行模型项目训练,使用训练出的模型项目和测试数据预测天气状况并评估预测结果。具体如下:通过将输入数据源(天气预测数据组件)经过类型转换(数据预处理)后拆分为两类数据即训练数据和测试数据,将训练数据输入到随机森林(附图13中的随机森林-1)和逻辑回归二分类(附图13中的逻辑回归二分类-1)两种机器学习组件中,分别得出训练模型项目;然后将训练模型项目和拆分后的测试数据作为预测组件的输入,预测测试数据中每一行数据对应的天气是否为雾霾天气;并通过评估组件评估预测效果;
针对上述的雾霾天气预测实验模型项目,即可通过上述实施例的方法建立如图13所示的实验流程,根据实验需求将组件分别拉取到面板,并根据实验流程建立连接,即建立临时实验。如果只需要随机森林或者逻辑回归二分类组件的输出模型项目进行其他工作,如模型项目在线部署,对外开放在线天气预测服务,就可以在测试环境(即实验面板)中建立临时实验,运行调试实验保存实验模型项目;同时可以根据随机森林和逻辑回归的模型项目预测评估结果选择保存哪一个实验模型项目;在测试环境中无需建立实验,且可以调试实验参数、对比实验结果;同时本实验中是雾霾天气预测,针对其他的二分类预测,我们只需要修改数据源组件即可,共用这个实验中的剩余组件;用户可以根据随机森林和逻辑回归二分类的实验结果的优劣对实验进行修改(只保存随机森林的预测评估分支或只保存逻辑回归二分类的预测评估分支)然后保存实验。
本申请的实施例中,通过在机器学习平台中创建用于快速创建的运行环境,将实验的组件放入该实验环境中,在实验环境中可模拟运行实验,并及时快速获得实验结果。平台系统为运行环境分配标识区域(即具有识别码的面板),实验组件在该面板上搭建,后台为通过不同维度的参数表记录实验信息,参数信息,节点信息以及相互之间的关联信息。实验运行时,通过参数表及调用相关的数据和命令,不但可以快速灵活实现实验的运行,而且在面板上组件可以复用,不同实验可以使用同一组件,通过实验识别码判断组件及相关节点被哪一个实验所调用,面板中可以多个实验互不干扰、并发运行。
本申请的上述实施例可以节省用户大量的时间和体力,用户只需要运行模型项目时创建一个模型项目试运行面板即可,拉取算法组件到面板中,便可以一直使用这些算法组件组成各类临时模型项目,且可以在面板中试运行模型项目、调试模型项目、查看模型项目效果,当模型项目运行成功后才选取是否保存模型项目或保存临时模型项目生成的模型项目。如果用户仅仅需要生成的模型项目进行后续的数据预测等功能,用户仅仅只需要保存模型项目即可,无需额外的创建模型项目,运行模型项目产生模型项目。每次用户想要任何模型项目的时候,只需要在面板中“试运行一下”即可。
此外本申请的实施例中创建面板后,将所有的可能使用到的算法组件都拉到面板上,当算法组件较多时,页面可能比较密集混乱,还可以用户可以创建多个面板,每个面板的识别码唯一,且每个面板中的包含的组件可以任意从组件栏中拉取。同时“面板”含有滚动条,使得面板可以呈现很大的区域。当同一个面板中,同时运行多个模型项目时,页面性能可能较差,为此服务器后端可以根据用户数量和组件使用频率进行扩容;
此外,本申请中的临时模型项目在试运行成功后还可以保存模型项目,只需要设置模型项目名称、保存位置以及模型项目生命周期,即可获得一个运行成功的模型项目;当仅需要模型项目的时候,用户只需要试运行相应的临时模型项目一次即可,无需创建模型项目等繁琐流程;
此外,面板中的算法组件不会因为模型项目运行的成功或失败而有所变化,用户可以多次重复使用这些算法组件,无需再从机器学习页面中的算法组件栏中进行拉取。
此外,“面板”中可以建立临时模型项目进行冒烟测试,除此之外,还可以建立临时模型项目只为了产出模型项目数据、预处理模型项目数据、获得模型项目模型项目等。
此外,当组件栏中的算法组件有所变动时,可以选择是否变更“面板”中的算法组件,如更新旧的算法组件,添加新增的算法组件等,具有很强的灵活性。
在上述的实施例中,提供了一种用于机器学习平台中快速创建模型项目的方法,与之相对应的,本申请还提供一种用于机器学习平台中快速创建模型项目的装置。该装置与上述方法的实施例相对应。
如上所述的实施例提供了一种用于机器学习平台中快速创建模型项目的方法。本申请的一种用于机器学习平台中快速创建模型项目的方法还可以通过如下方法实现:创建机器学习运行环境;向所述机器学习运行环境中添加模型项目所需组件;在该学习环境,基于添加的组件创建模型项目;运行所述创建的模型项目。这里不再展开论述。
请参看图12,其为本申请的实施例的用于机器学习平台中快速创建模型项目的装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。本实施例的一种用于机器学习平台中快速创建模型项目的装置,包括:
创建单元201,用于创建机器学习运行环境;
组件添加单元202,用于向所述机器学习运行环境中添加模型项目所需组件;
连接单元203,用于将模型项目所需的组件按照模型项目设定的顺序建立输入输出链接以创建模型项目;
参数配置单元204,用于对所述的模型项目所需的组件进行参数配置;
运行单元205,用于运行所述创建的模型项目。
可选的,所述创建单元包括:
面板创建单元,用于在所述机器学习平台创建模型项目面板;
识别码分配单元,用于为所述创建的模型项目面板分配识别码。
可选的,所述组件添加单元包括:
组件单元,用于向所述模型项目面板中添加组件;
属性插入单元,用于将添加的所述组件的属性信息插入到模型项目面板信息表中;
其中,所述属性信息包括所述添加的所述组件所在模型项目面板识别码,所述添加的所述组件名称以及所述添加的所述组件于所述模型项目面板中的位置信息。
可选的,所述连接单元包括:
模型项目分配单元,用于为待运行模型项目分配模型项目名称和模型项目编码;
选择单元,用于选择所述模型项目所需的组件;
链接单元,用于按照模型项目设定的顺序在所述模型项目所需的组件之间建立数据或命令输入输出链接。
可选的,所述连接单元包括:
选定单元,用于选择模型项目所需的组件;
判断单元,用于判断待选择组件是否包含父节点或并行节点,并在不包含时自动分配模型项目名称和识别码;
链接单元,用于按照模型项目设定的顺序在所述模型项目所需的组件之间建立数据或命令输入输出链接;其中,
模型项目中的各个组件构成模型项目的节点,父节点为选定节点的上一节点,并行节点为选定节点具有共同父节点的节点。
可选的,还包括:模型项目信息记录单元,用于将模型项目信息和模型项目面板识别码插入到模型项目信息表;
其中,所述模型项目信息包括模型项目名称、模型项目编码及所述模型项目所需的组件及其属性信息。
可选的,还包括节点信息记录单元,用于将构成所述模型项目的各所述节点信息插入到节点信息表中;
其中,所述节点信息包括节点位置、节点相关父节点和子节点信息。
可选的,所述参数配置单元包括:
算法参数配置单元,用于配置所述模型项目所需的算法组件的参数信息;
节点参数记录单元,用于将上述所述参数信息、节点标识码、节点名称、及模型项目编码插入到节点参数表中。
可选的,所述运行单元包括
启动单元,选择待运行的模型项目,并启动运行模型项目;
标识码读取单元,根据所述模型项目的编码,在节点参数表读取该模型项目中的所有节点标识码;
节点排序单元,根据所述节点标识码在节点表中的父子关系,给节点排序;
执行单元,按照所述节点排序顺次执行节点。
可选的,还包括:日志单元,用于节点执行后向节点执行日志表插入执行记录;状态表生成单元,用于并在模型项目运行结束后向模型项目执行状态表插入模型项目执行状态数据。
可选的,所述执行单元包括:
节点参数调取单元,针对每一个所述节点,根据所述模型项目编码和所述节点标识码从所述节点参数表中获取该节点的所述参数信息;
节点属性判断单元,判断该节点属于所述数据源节点还是所述算法节点;
数据执行单元,用于在判断结果为所述数据源节点时向机器学习平台的对应数据库中获取数据;
命令执行单元,用于在判断结果为所述算法节点时根据算法参数执行算法。
此外,本申请还提供一种电子设备,其包括:处理器和存储介质;
所述存储介质存储或携带有用于机器学习平台中快速创建模型项目的方法;该设备通电并通过所述处理器运行所述用于机器学习平台中快速创建模型项目的方法的程序后,执行下述操作:
创建机器学习运行环境;向所述机器学习运行环境中添加组件;将模型项目所需的组件按照模型项目设定的顺序建立输入输出链接以创建模型项目;对所述的模型项目所需的组件进行参数配置;运行所述创建的模型项目。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。