一种基于云架构的机器学习算法全过程训练方法及系统与流程

文档序号:15689252发布日期:2018-10-16 21:42阅读:190来源:国知局

本发明涉及机器学习软件系统技术领域,具体涉及一种基于云架构的机器学习算法全过程训练方法及系统。



背景技术:

alphago击败围棋高手、watson诊断出罕见病例、无人驾驶汽车上路,标志着人工智能,特别是机器学习技术正在走向主流。与此同时,电力系统承载着越来越多的可再生能源和电动汽车,正在发展成为能源互联网,不断产生着维度高、类型广、体量大的数据资源。然而,能源电力与机器学习,还远未实现深度融合。能源、电力相关领域的研究人员迫切需要针对性强的、使用价值高的系统和软件,帮助其开展能源、电力规划、建设、调控、运维、营销等诸多实际应用场景的机器学习技术研发。

当前,研究人员在开展相关机器学习研究时,往往需要把很多研究精力投入在软件架构分配和设置、数据收集、数据清理和标记,日志记录等与核心算法研究关系较小的工作上。对于相对复杂的训练模型,往往需要应对标签数据集的整理、数据集的训练算法、运行训练的系统架构、操作系统的选择与安装、gpu等资源和驱动程序的配置,以及与机器学习项目相关的基础框架的设置等,占据着研究人员的时间成本和软硬件购置成本。



技术实现要素:

本发明提供一种基于云架构的机器学习算法全过程训练方法,其目的是帮助技术研究及开发人员高效快速地搭建、训练、托管机器学习算法和模型,减少研究时间成本和软硬件购置成本。

本发明的目的是采用下述技术方案实现的:

一种基于云架构的机器学习算法全过程训练方法,其改进之处在于,所述方法包括:

通过web应用程序选择或上传训练数据集和待求解问题数据集至云数据服务器,并选择预先建立的机器学习算法;

云计算服务器通过所述云数据服务器获取所述训练数据集,利用所述训练数据集进行模型训练,获取训练模型;

云计算服务器通过所述云数据服务器获取所述待求解问题数据集,根据所述待求解问题数据集利用所述训练模型获取求解结果,并将所述求解结果返回至所述云数据服务器;

所述云数据服务器将所述求解结果返回至所述web应用程序。

优选的,所述利用所述训练数据集进行模型训练,包括:

调用docker容器,利用所述训练数据集在docker容器中进行模型训练。

优选的,所述通过web应用程序上传训练数据集和待求解问题数据集至云数据服务器,并选择预先建立的机器学习算法之后,包括:

通过容器镜像设置所述机器学习算法的参数。

优选的,所述预先建立的机器学习算法的建立过程,包括:

选择程序语言通过web应用程序编写机器学习算法代码;

或通过web应用程序选择云计算服务器已有的机器学习算法代码;

或通过web应用程序选择云计算服务器已有的机器学习算法代码并基于该已有的机器学习算法代码编写用户需求的机器学习算法代码;

其中,所述机器学习算法代码在本地服务器的机器学习框架下可正确编译。

优选的,所述机器学习算法包括:神经网络、决策树、随机森林、逻辑回归、支持向量机、朴素贝叶斯、k最近邻、k均值或adaboost。

一种基于云架构的机器学习算法全过程训练系统,其改进之处在于,所述系统包括:

web应用程序,用于选择或上传训练数据集和待求解问题数据集至云数据服务器,并选择预先建立的机器学习算法;

云数据服务器,用于接收所述web应用程序发送的训练数据集和待求解问题数据集,接收云计算服务器发送的求解结果并将该求解结果返回至所述web应用程序;

云计算服务器,用于通过所述云数据服务器获取所述训练数据集,利用所述训练数据集进行模型训练,获取训练模型;通过所述云数据服务器获取所述待求解问题数据集,根据所述待求解问题数据集利用所述训练模型获取求解结果,并将所述求解结果返回至所述云数据服务器。

优选的,所述利用所述训练数据集进行模型训练,包括:

调用docker容器,利用所述训练数据集在docker容器中进行模型训练。优选的,所述web应用程序,还用于:

通过容器镜像设置所述机器学习算法的参数。

优选的,所述预先建立的机器学习算法的建立过程,包括:

选择程序语言通过web应用程序编写机器学习算法代码;

或通过web应用程序选择云计算服务器已有的机器学习算法代码;

或通过web应用程序选择云计算服务器已有的机器学习算法代码并基于该已有的机器学习算法代码编写用户需求的机器学习算法代码;

其中,所述机器学习算法代码在本地服务器的机器学习框架下可正确编译。

优选的,所述机器学习算法包括:神经网络、决策树、随机森林、逻辑回归、支持向量机、朴素贝叶斯、k最近邻、k均值或adaboost。

与最接近的现有技术相比,本发明提供的技术方案具有如下有益效果:

通过web应用程序上传训练数据集和待求解问题数据集至云数据服务器,并选择预先建立的机器学习算法;云计算服务器通过所述云数据服务器获取所述训练数据集,利用所述训练数据集进行模型训练,获取训练模型;云计算服务器通过所述云数据服务器获取所述待求解问题数据集,根据所述待求解问题数据集利用所述训练模型获取求解结果,并将所述求解结果返回至所述云数据服务器;所述云数据服务器将所述求解结果返回至所述web应用程序;本发明提供的技术方案将计算环境和计算资源部署在云端,通过web应用程序实现了研发人员与机器学习算法系统的交互,帮助技术研究及开发人员高效快速地搭建机器学习算法模型并高效训练,减少时间成本和软硬件购置成本,使研发人员可以集中精力于核心机器学习算法的开发,快速搭建、训练、托管机器学习算法和模型。

附图说明

图1是本发明一种基于云架构的机器学习算法全过程训练方法的流程图;

图2是本发明一种基于云架构的机器学习算法全过程训练系统的结构示意图;

图3是本发明实施例中第一服务结构下的机器学习计算与托管效果图;

图4是本发明实施例中第二服务结构下的机器学习计算与托管效果图;

图5是本发明实施例中第三服务结构下的机器学习计算与托管效果图。

具体实施方式

下面结合附图对本发明的具体实施方式作详细说明。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

研究人员在开展相关机器学习研究时,通常把过多的研究精力投入在与算法无关的事情上,比如架构分配和设置、数据收集、数据清理和标记,日志记录等。同时,对于相对复杂的训练模型,往往需要应对标签数据集的整理、数据集的训练算法、运行训练的系统架构、操作系统的选择与安装、gpu等资源的购买和驱动程序的配置、以及与项目相关基础框架的设置。为使研发人员可以集中精力于核心机器学习算法的开发,快速搭建、训练、托管机器学习算法和模型,本发明提供一种基于云架构的机器学习算法全过程训练方法,如图1所示,包括:

通过web应用程序选择或上传训练数据集和待求解问题数据集至云数据服务器,并选择预先建立的机器学习算法;

云计算服务器通过所述云数据服务器获取所述训练数据集,利用所述训练数据集进行模型训练,获取训练模型;

云计算服务器通过所述云数据服务器获取所述待求解问题数据集,根据所述待求解问题数据集利用所述训练模型获取求解结果,并将所述求解结果返回至所述云数据服务器;

所述云数据服务器将所述求解结果返回至所述web应用程序。

所述利用所述训练数据集进行模型训练,包括:

调用docker容器,利用所述训练数据集在docker容器中进行模型训练。

所述通过web应用程序上传训练数据集和待求解问题数据集至云数据服务器,并选择预先建立的机器学习算法之后,包括:

通过容器镜像设置所述机器学习算法的参数。

所述预先建立的机器学习算法的建立过程,包括:

选择程序语言通过web应用程序编写机器学习算法代码;

或通过web应用程序选择云计算服务器已有的机器学习算法代码;

或通过web应用程序选择云计算服务器已有的机器学习算法代码并基于该已有的机器学习算法代码编写用户需求的机器学习算法代码;

其中,所述机器学习算法代码在本地服务器的机器学习框架下可正确编译。

所述机器学习算法包括:神经网络、决策树、随机森林、逻辑回归、支持向量机、朴素贝叶斯、k最近邻、k均值或adaboost。

本发明还提供一种基于云架构的机器学习算法全过程训练系统,如图2所示,包括:

web应用程序,用于选择或上传训练数据集和待求解问题数据集至云数据服务器,并选择预先建立的机器学习算法;

云数据服务器,用于接收所述web应用程序发送的训练数据集和待求解问题数据集,接收云计算服务器发送的求解结果并将该求解结果返回至所述web应用程序;

云计算服务器,用于通过所述云数据服务器获取所述训练数据集,利用所述训练数据集进行模型训练,获取训练模型;通过所述云数据服务器获取所述待求解问题数据集,根据所述待求解问题数据集利用所述训练模型获取求解结果,并将所述求解结果返回至所述云数据服务器。

所述利用所述训练数据集进行模型训练,包括:

调用docker容器,利用所述训练数据集在docker容器中进行模型训练。

所述web应用程序,还用于:

通过容器镜像设置所述机器学习算法的参数。

所述预先建立的机器学习算法的建立过程,包括:

选择程序语言通过web应用程序编写机器学习算法代码;

或通过web应用程序选择云计算服务器已有的机器学习算法代码;

或通过web应用程序选择云计算服务器已有的机器学习算法代码并基于该已有的机器学习算法代码编写用户需求的机器学习算法代码;

其中,所述机器学习算法代码在本地服务器的机器学习框架下可正确编译。

所述机器学习算法包括:神经网络、决策树、随机森林、逻辑回归、支持向量机、朴素贝叶斯、k最近邻、k均值或adaboost。

本实施例中,用户可以根据需求及人工智能水平选择不同的计算托管服务,该系统提供三种服务结构,第一种服务结构中,机器学习算法的建立过程为用户选择程序语言通过web应用程序编写机器学习算法代码,如图3所示。用户上传训练数据集和待求解问题数据集至云数据服务器,选择熟悉的程序语言在线编写模型程序,在本地服务器的机器学习框架下完成对程序的调试,确保程序模型可以正确编译,经用户确认提交后,云端的高性能计算资源开始加速计算训练模型,训练结束后将学习参数及求解结果呈现至用户,用户可以下载或者托管在云端。具体实现方式是:用户通过web应用程序上传训练数据集及待求解问题数据集至云数据服务器,该云数据服务器用于提供数据存储及数据处理服务,模型在云端的云计算服务器上完成训练,利用待求解问题数据集获取求解结果,将该求解结果保存至云数据服务器并发送至用户。

第二种服务结构中,机器学习算法的建立过程为用户通过web应用程序选择云计算服务器已有的机器学习算法代码,如图4所示。用户在web应用程序上选择已有的训练数据集和机器学习算法,根据需要的场景,上传待求解问题数据集至云端的云数据服务器,云端的gpu高性能计算资源开始加速计算,计算结束后将求解结果返回至用户。具体实现方式是:用户在web应用程序上选择已有的训练数据集和机器学习算法模型,通过web应用程序将待求解问题数据集上传至云数据服务器,云数据服务器将该待求解问题数据集发送至云计算服务器,云计算服务器利用训练模型获取求解结果,并将该求解结果呈现至用户。

第三种服务结构中,机器学习算法的建立过程为用户通过web应用程序选择云计算服务器已有的机器学习算法代码并基于该已有的机器学习算法代码编写用户需求的机器学习算法代码,如图5所示。用户先通过web应用程序上传训练数据集至云数据服务器,选择云端已有模型的同时对模型中函数或超参数进行修改。例如,用户使用k-means算法进行聚类,但是已有的k-means算法对样本的距离计算使用的欧氏距离,用户可以调用k-means算法的接口,将样本距离计算方法修改为其他算法,使模型更加适应用户的数据,提高最终求解结果的精度。具体实现方式是:用户选择云端已有的算法模型并将模型中的函数或超参数进行调用修改,在本地服务器的机器学习框架下完成对程序的调试,确保修改后的模型可以正确编译,然后上传训练数据集和待求解问题数据集至云数据服务器上,云端的高性能计算资源开始加速计算,计算结束后将求解结果返回至用户。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1