掌桥专利:专业的专利平台
掌桥专利
首页

部署机器学习模型

文献发布时间:2024-04-18 20:01:55


部署机器学习模型

背景技术

本发明总体上涉及计算领域,并且更具体地涉及一种用于部署机器学习模型的方法。

机器学习模型被集成在许多软件系统中,诸如数据库事务处理系统。这些模型可能实施起来非常复杂并且可能需要许多库。此类模型的执行和结果可取决于库及其版本。

发明内容

本发明实施例公开了一种方法、计算机系统和计算机程序产品,用于通过将经训练的机器学习模型和/或人工智能模型从基于网络的服务计算机系统转移到私有计算系统,来在基于客户端的系统处部署经训练的机器学习模型。有利实施例可以在从属权利要求中描述。如果本发明的实施例不相互排斥,则它们可以彼此自由组合。

在实施例中,本发明可以包括从训练系统请求训练环境的信息,其中在该训练环境中训练机器学习模型。本发明可包括基于关于训练环境的信息确定客户端系统的本地环境与训练系统的训练环境的兼容性。本发明可以包括确定客户端系统的本地环境与训练系统的训练环境兼容。本发明可以包括下载机器学习模型。

在实施例中,本发明可以包括训练机器学习模型。本发明可以包括创建指示训练系统的训练环境的元数据。本发明可以包括将元数据链接到经训练的机器学习模型。本发明可以包括:提供应用程序接口(API)服务,用于在下载经训练的机器学习模型并且下载经训练的机器学习模型之前至少允许访问元数据。

附图说明

从以下将结合附图阅读的对本发明的示范性实施例的详细描述中,本发明的这些和其他目的、特征和优点将变得显而易见。附图的各种特征不是按比例的,因为图示是为了便于本领域技术人员结合具体实施方式理解本发明而清楚起见。在附图中:

图1是根据本主题的示例的计算机系统的框图;

图2是描述其中建立机器学习模型的环境的元数据的示例;

图3是根据本主题的示例的用于部署机器学习模型的方法的流程图;

图4是根据本主题的示例的用于提供经训练的机器学习模型的方法的流程图;

图5是根据本主题的示例的用于部署机器学习模型的方法的流程图;

图6表示适于实现本主题中涉及的一个或多个方法步骤的计算机化系统;

图7描绘了根据本发明的实施例的云计算环境;以及

图8描绘了根据本发明的实施例的抽象模型层。

具体实施方式

本发明的不同实施例的描述将出于说明的目的而呈现,但并不旨在是详尽的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。

用户可能需要下载经训练的模型以能够访问经训练的模型以做额外的验证、精炼和在他们自己的基础设施上服务。然而,机器学习模型常常使用严格发布版本的第三方库来创建。那些库在每个系统中可能默认不可用,并且可能不保证向后兼容性,例如,如果已经用scikit-learning版本0.19训练了模型并且客户端系统具有scikit-learning版本0.23,则经训练的模型可能不能在客户端系统上执行。当模型基于多个第三方库时,该问题可能变得更加复杂。这个问题可能使机器学习模型的部署成为挑战性任务,因为软件部署可能需要机器学习模型已经在其中建立的环境的知识。机器学习模型的部署可以是从训练系统将机器学习模型安装在客户端系统中的过程。上述问题的解决方案可能涉及多个专家试图确定经训练的机器学习模型在客户端系统中是可部署的还是不可部署的。然而,这个过程可能非常容易出现错误和资源消耗,例如,所述过程可能需要非常长的时间,直到机器学习模型被确定为特别对于复杂的计算环境是可部署的。另一解决方案可以是封闭环境,诸如具有库的硬编码版本的容器;然而,该解决方案可能不是用于多个机器学习模型的可靠解决方案。特别地,该解决方案可能需要针对每个模型的独立的容器包,这可能导致大量硬件资源的浪费。本主题可以通过使用描述环境的元数据来解决该问题并且克服以上解决方案的缺点,在该环境中建立机器学习模型以便提供用于部署机器学习模型的本地兼容环境。经训练的机器学习模型的部署可以使得经训练的机器学习模型可用于在客户端系统处使用。这可以实现本地系统中的机器学习模型的成功处理。这可以特别有利,因为软件部署对于客户端系统处的机器学习模型的成功本地推断可能是关键的第一步骤。

训练环境可以是其中进行机器学习模型的训练的执行环境。本地环境可以是其中发生机器学习模型的推断(inference)的执行环境。执行环境可以指用于执行训练或推断的软件组件。软件组件的示例可以是操作系统(诸如UNIX)、编程语言组件(诸如python)、库(诸如numpy)等。软件组件可以具有版本号。即,执行环境可由一组软件组件和该组软件组件的版本来定义。如果本地环境包括训练环境的软件组件的集合并且具有训练环境的软件组件的集合的相同版本,则本地环境与训练环境兼容。

客户端系统可以例如是场所内(on-premise)系统并且训练系统可以例如是场所外(off-premise)系统。场所内系统可以是用户或组织内部的本地系统,用于执行场所内软件。场所外统可以是例如可由场所内系统的用户经由网络访问并且可由第三方拥有的远程系统。可以根据不同的配置来提供场所内系统和场所外系统。例如,配置可以是客户机服务器配置,其中场所内系统可以表示此配置的客户机侧并且场所外系统可以表示此配置的服务器侧。在另一示例中,配置可以是云配置,其中场所外系统可以在公共或私有云中,并且场所内系统可以是非基于云的系统。

根据一种实施方式,客户端系统被配置为具有训练系统的客户端-服务器配置。训练系统提供机器学习模型和关于训练环境的所述信息作为用于客户端系统的服务。服务可以是资源的集合和可以用于操纵资源的一组方法。该方法可以按照给定的顺序执行,例如,可以在能够执行用于下载经训练的模型的方法之前执行用于请求关于经训练的模型的信息的方法。每个资源可以用诸如JavaScript对象表示法(JSON)或可扩展标记语言(XML)格式的格式来表示。例如,为了检索元数据,客户端系统可以在请求中指定资源名称以及方法,并且将该请求发送至训练系统;然后,训练系统可以以指定的格式将所请求的资源返回至客户端系统。

根据一个实施例,服务由应用程序编程接口(API)服务提供。该方法还包括:在客户端系统处下载使得能够访问API服务的API包,其中使用API包的API函数来执行请求、适配和下载。API服务可提供能够使用训练系统的服务的功能。API服务可例如定义将由客户端系统执行的请求的格式。例如,API可以提供或公开可以由客户端系统调用的两种方法。两种方法中的第一种方法可以用于获得关于模型的信息(例如,第一种方法可以称为如下:optimizer.get_details(pipeline_name)),并且两种方法中的第二种方法可以用于获得/下载模型(例如,第二种方法可以称为如下:optimizer.get_pipelines(pipeline_name))。兼容性的所有检查可以在第二方法“get_pipelines”的引擎罩下自动完成。该第二种方法可以获得软件信息,收集本地运行时信息,检查不兼容性并通知用户。如果需要,其还可扩展到升级/降级不兼容的库。

根据一个实施例,该API包是从公共储存库下载的。这可以是有利的,因为API包可以由要求训练系统的机器学习模型的多个客户端系统使用。

根据一个实施例,机器学习模型被接收为二进制文件。以二进制格式接收模型的事实可能使得难以(如果不是不可能)找到其中已经训练模型的环境。本主题可允许二进制代码文件的使用,因为它提供关于训练环境的附加信息。这可能是有利的,因为它可以与提供训练模型作为二进制文件的现有系统无缝地集成。

根据一个实施例,机器学习模型根据训练系统的持续模型来持续。所述持久性模型包括腌制持久性模型。

根据一个实施例,训练环境由在机器学习模型的训练期间所需的库的列表及其发布编号来定义。所述确定所述本地环境是否与所述训练环境兼容包括:确定所述库列表中的每个库是否安装在所述本地系统中,和/或所述已安装库的发布号是否与所述训练环境的发布号相同,其中适配所述本地环境包括:安装未安装库和/或改变所述已安装库以降级或升级所述已安装库的发布号。

根据一种实施方式,客户端系统经由通信网络远程连接至训练系统。根据一个实施例,训练系统处于云服务环境中。

图1示出根据本主题的示例的计算机系统100。计算机系统100包括训练系统101和一个或多个客户端系统102a-n。训练系统101可被配置为经由一个或多个网络103与客户端系统102a-n中的每一个通信。为了简化描述,仅示出了一个网络;然而,训练系统101可以经由一个以上的网络连接至客户端系统102a-n,例如,训练系统101可以经由相应的网络连接至计算机系统102a-n中的每一个。例如,网络103可以包括但不限于电缆网络、光纤网络、混合光纤同轴网络、无线网络(例如,Wi-Fi和/或移动电话网络)、卫星网络、互联网、内联网、局域网、任何其他合适的网络和/或这些网络的任何组合。

如图所示,用户105a-n可以分别与计算机系统102a-n相关联。用户105a-n可包括查看者、所有者、技术支持者等。用户105a-n可以使用工作站(未示出)以便与客户端系统102a-n和训练系统101交互或通信。训练系统101可以提供为在云计算配置中操作的单个服务器设备或多个服务器设备。

训练系统101可以远离客户端系统102a-n,通过网络103可访问。训练系统101可以提供用于训练、运行和存储机器学习模型的资源。训练系统101可以例如包括用于存储N个经训练的机器学习模型ML

元数据Meta

图3是用于在客户端系统处部署已经在训练系统中训练的机器学习模型的方法的流程图。出于说明的目的,图3中所描述的方法可在图1中所说明的系统中实施,但不限于此实施。图3的方法可以例如由客户端系统102a-n之一执行以便部署机器学习模型ML

在步骤301中,客户端系统可以从训练系统101请求关于已经用于训练机器学习模型ML

客户端系统可以接收所请求的信息并且可以确定客户端系统的本地环境是否与所接收的信息中定义的训练环境不兼容(查询步骤303)。该信息可以例如包括库或包列表以及它们各自的版本(其可以被命名为所列出的库和所列出的版本)。例如,客户端系统可接收所请求的信息作为参见图2描述的JSON文件。客户端系统可以在步骤303中确定在接收的信息中列出的库中的每个库是否安装在客户端系统中。并且如果所列出的库中的库已经安装在客户端系统处,则客户端系统可以进一步确定所安装的库是否具有与该库的所列出的版本相同的版本或发布。如果未安装一个或多个库和/或一个或多个安装的库不具有与相应的所列出的版本相同的版本,则这可指示本地环境与训练环境不兼容。遵循以上示例,所有这些兼容性检查可以在方法“get_pipelines”的引擎下自动完成。该方法可以获得软件信息,收集本地运行时信息,检查不兼容性并通知用户。如果需要,其还可扩展到升级/降级不兼容的库。

如果客户端系统确定本地环境与训练环境兼容,则可以执行步骤307。如果客户端系统确定本地环境与训练环境不兼容,则客户端系统可以在步骤305中适配本地环境以获得本地环境与训练环境之间的兼容性。根据引起不兼容的原因,客户端系统可以安装未安装的库和/或升级/降级已安装的库的版本以匹配所列出的库的版本。在更新本地环境之后,可以执行步骤307。

在步骤307中,客户端系统可以从训练系统下载机器学习模型。这可以使得用户能够在与在本地环境/运行时训练机器学习模型相同的模式下与机器学习模型ML

图4是用于提供经训练的机器学习模型的方法的流程图。为了解释的目的,图4中描述的方法可以在图1中图示的系统中实现,但是不限于该实现。图4的方法可以例如由训练系统101来执行。

在步骤401中,训练系统101可以训练机器学习模型。例如,机器学习模型可以用诸如python的编程语言来编写。机器学习模型的训练可能需要一个或多个库以便被执行。例如,机器学习模型的执行可能需要熊猫库来创建数据结构和操纵数字表和时间序列。每个库可具有版本或版本号。

训练系统101可以在步骤403中创建指示用于训练机器学习模型的训练系统的训练环境的元数据。训练环境可以例如由用于训练机器学习模型的库及其相应的版本来定义。元数据可提供例如为如图2所示的JSON文件。

在步骤405中,训练系统101可以将所创建的元数据链接到经训练的机器学习模型。这可以例如通过将机器学习模型的名称包括在JSON文件中来执行。

训练系统101可以在步骤407中提供用于使得能够在下载经训练的机器学习模型之前访问(例如,访问客户端系统102a-n)元数据的服务。服务可以是资源的集合和可以用于操纵资源的一组方法。例如,元数据可以作为资源提供,并且经训练的机器学习模型可以作为资源提供。元数据资源可以用JSON或XML格式表示。例如,为了检索元数据,客户端系统可以在请求中指定资源名称以及方法,并且将该请求发送至训练系统;然后,训练系统可以以指定的格式将所请求的资源返回至客户端系统。

图5是用于部署机器学习模型的方法的流程图。可以在步骤501中发起模型训练。经训练的模型可在步骤502中保存在模型存储503中。经训练的模型可与到描述用于训练模型的环境的元数据(例如,命名software_spec)的链接一起存储。经训练的模型可作为腌制模型被存储或持续。如图5所示,元数据504可以指示用于训练模型的库。步骤501至502可以例如在训练系统101处执行。在步骤505中,获取管线可例如在客户端系统102a处发起,以便下载经训练的模型。在步骤506中,客户端系统可以使用“Get”方法从训练系统101请求元数据504并且可以接收所请求的元数据504。对于元数据504中的库中的每个库,可执行步骤507至510。在步骤507中,可确定库是否从客户端系统中丢失。如果库丢失,则可以在步骤508将其安装在客户端系统中。如果库没有丢失,例如,已经安装在客户端系统处,则客户端系统可以在步骤509中确定安装的库是否具有正确的版本,即,安装的库是否具有与接收的元数据504中指示的库相同的版本。如果库的版本不是正确的版本,则可以在步骤510降级或升级库以匹配元数据504中的对应库的版本。在一个示例中,步骤510的执行可以是或可以不是可选的。为此,可以基于标志“automatic_update=False或True”的值来控制步骤510的自动执行。这可以是有利的,因为用户可能想要阻止自动执行步骤510,例如,如果用户具有被配置用于其他目的的环境。基于在步骤507和509中执行的检查,可以在步骤512中确定客户端系统中的库是否与元数据中列出的库兼容。如果它们兼容,则可以在步骤513中在客户端系统处下载经训练的模型。如果没有兼容性,在步骤514中提供错误消息。步骤514可以有利地在不执行步骤510的情况下提供,因为错误可以通知用户,并且用户决定是否更新本地环境然后下载模型。

图6表示适合于实施如本发明中所涉及的方法步骤的至少一部分的通用计算机化系统600。

应当理解,本文描述的方法至少部分是非交互的,并且通过诸如服务器或嵌入式系统的计算机化系统自动化。然而,在示例性实施例中,在此描述的方法可以在(部分)交互系统中实现。这些方法可进一步在软件612、622(包括固件622)、硬件(处理器)605或其组合中实现。在示范性实施例中,本文中描述的方法以软件实现为可执行程序,并且由专用或通用数字计算机(诸如个人计算机、工作站、小型计算机或大型计算机)执行。因此,最通用的系统600包括通用计算机601。

在示范性实施例中,在硬件架构方面,如图6中所示,计算机601包括处理器605、耦合到存储器控制器615的存储器(主存储器)610、以及经由本地输入/输出控制器635通信地耦合的一个或多个输入和/或输出(I/O)设备(或外围设备)10、645。输入/输出控制器635可以是但不限于如本领域中已知的一个或多个总线或其他有线或无线连接。输入/输出控制器635可以具有为简单起见而省略的附加元件,诸如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器,以实现通信。进一步,本地接口可以包括地址、控制和/或数据连接,以实现上述组件之间的适当通信。如本文所描述的,I/O设备10,645一般可以包括本领域已知的任何通用密码卡或智能卡。

处理器605是用于执行软件(具体地,存储在存储器610中的软件)的硬件装置。处理器605可以是任何定制或商业可获得的处理器、中央处理单元(CPU)、与计算机601相关联的若干处理器中的辅助处理器、基于半导体的微处理器(呈微芯片或芯片组的形式)、或通常用于执行软件指令的任何装置。

存储器610可以包括易失性存储器元件(例如,随机存取存储器(RAM,诸如DRAM、SRAM、SDRAM等))和非易失性存储器元件(例如,ROM、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、可编程只读存储器(PROM))中的任何一个或其组合。注意,存储器610可具有分布式架构,其中不同组件彼此远离定位,但可由处理器605存取。

存储器610中的软件可以包括一个或多个单独的程序,每个程序包括用于实现逻辑功能(尤其是在本发明的实施例中涉及的功能)的可执行指令的有序列表。在图6的示例中,存储器610中的软件包括例如指令612。管理诸如数据库管理系统的数据库的指令。

存储器610中的软件通常还应包括合适的操作系统(OS)611。OS611实质上控制其他计算机程序(诸如,可能用于实现此处所描述的方法的软件612)的执行。

本文描述的方法可以是源程序612、可执行程序612(目标代码)、脚本或包括要执行的指令612的集合的任何其他实体的形式。当源程序时,则需要经由编译器、汇编器、解释器等翻译程序,该编译器、汇编器、解释器等可以包括在或可以不包括在存储器610内,以便结合OS 611适当地操作。此外,该方法可以被写为具有数据和方法类的面向对象的编程语言,或者具有例程、子例程和/或函数的过程编程语言。

在示范性实施例中,常规键盘650和鼠标655可以耦合到输入/输出控制器635。其他输出设备(诸如I/O设备645)可以包括输入设备,例如但不限于打印机、扫描仪、麦克风等。最后,I/O设备10、645可以进一步包括传送输入和输出两者的设备,例如但不限于,网络接口卡(NIC)或调制器/解调器(用于访问其他文件、设备、系统、或网络)、射频(RF)或其他收发器、电话接口、网桥、路由器等。I/O设备10、645可以是本领域中已知的任何通用密码卡或智能卡。系统600可进一步包括耦合到显示器630的显示器控制器625。在示例性实施方式中,系统600可进一步包括用于耦接至网络665的网络接口。网络665可以是用于计算机601和任何外部服务器、客户端等之间经由宽带连接的通信的基于IP的网络。网络665在计算机601与外部系统30之间传输和接收数据,该数据可以被涉及以执行在此所讨论的方法的部分或全部步骤。在示例性实施例中,网络665可以是由服务提供商管理的受管理的IP网络。网络665可以以无线方式实现,例如使用无线协议和技术,例如WiFi、WiMax等。网络665也可以是分组交换网络,诸如局域网、广域网、城域网、互联网网络或其他类似类型的网络环境。网络665可以是固定无线网络、无线局域网W(LAN)、无线广域网(WWAN)、个人区域网(PAN)、虚拟专用网(VPN)、内联网或其他合适的网络系统,并且包括用于接收和发送信号的设备。

如果计算机601是PC、工作站、智能设备等,则存储器610中的软件还可以包括基本输入输出系统(BIOS)622。BIOS是在启动时初始化和测试硬件、启动OS 611、并且支持硬件设备之间的数据传输的基本软件例程的集合。BIOS存储在ROM中,使得当计算机601被激活时可以执行BIOS。

当计算机601运行时,处理器605被配置为执行存储在存储器610内的软件612,将数据传送至存储器610和从存储器610传送数据,并且依照软件通常控制计算机601的操作。本文所描述的方法和OS611(全部或部分,但通常为后者)由处理器605读取,可能在处理器605内缓冲,且接着执行。

当在此描述的系统和方法在软件612中实现时,如图6中所示,这些方法可以存储在任何计算机可读介质(如存储设备620)上,以供任何计算机相关系统或方法使用或结合任何计算机相关系统或方法使用。存储器620可包括磁盘存储器,例如HDD存储器。

应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。

云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。

特性如下:

按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。

广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。

资源池:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。

快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。

测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。

服务模型如下:

软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。

平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。

基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。

部署模型如下:

私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。

社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。

公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。

混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。

云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。

现在参见图7,描绘了说明性云计算环境1050。如图所示,云计算环境1050包括由云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点1010,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话1054A、台式计算机1054B、膝上型计算机1054C和/或汽车计算机系统54N。节点1010可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境1050提供基础架构、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图7中所示的计算设备1054A-N的类型仅旨在是说明性的,并且计算节点1010和云计算环境1050可通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。

现在参见图8,示出了由云计算环境1050(图7)提供的一组功能抽象层。应当事先理解,图8中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描述,提供以下层和对应功能:

硬件和软件层1060包括硬件和软件组件。硬件组件的示例包括:大型机1061;基于RISC(精简指令集计算机)架构的服务器1062;服务器1063;刀片式服务器1064;存储设备1065;以及网络和联网组件1066。在一些实施例中,软件组件包括网络应用服务器软件1067和数据库软件1068。

虚拟化层1070提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器1071;虚拟存储1072;虚拟网络1073,包括虚拟专用网络;虚拟应用和操作系统1074;以及虚拟客户端1075。

在一个示例中,管理层1080可以提供以下描述的功能。资源供应1081提供计算资源和用于在云计算环境内执行任务的其他资源的动态采购。计量和定价1082在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户1083为消费者和系统管理员提供对云计算环境的访问。服务水平管理1084提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行1085提供云计算资源的预安排和采购,根据该SLA预期该云计算资源的未来要求。

工作负载层1090提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航1091;软件开发和生命周期管理1092;虚拟教室教育传递1093;数据分析处理1094;交易处理1095;以及根据本主题的机器学习模型提供(MLPR)1096,例如,如参见图4或图5所描述的。

本主题可以包括以下条目。

条目1.一种用于在客户端系统上部署已经在训练系统中训练的机器学习模型的方法,所述方法包括:

从训练系统请求在训练系统的训练环境的信息,根据其机器学习模型被训练;

在所述客户端系统的本地环境与所述训练环境不兼容的情况下,适配所述本地环境以获得所述兼容性;

在所述本地环境与所述训练环境兼容的情况下,下载所述机器学习模型。

条目2:根据条目1的方法,客户端系统被配置为具有所述训练系统的客户端-服务器配置,训练系统提供机器学习模型和信息作为客户端系统的服务。

条目3:根据条目2所述的方法,服务是应用程序编程接口API服务,该方法还包括:在客户端系统处下载允许访问API服务的API包,其中使用API包的API函数执行请求、适配和下载。

条目4:根据条目3所述的方法,从公共储存库下载API包。

条目5:根据前述条目1至项4中的任一项所述的方法,所述机器学习模型被接收为二进制文件。

条目6:如以上条目1至5中任一项所述的方法,所述机器学习模型根据所述训练系统的持续模型来持续,所述持续模型包括腌制持续模型中的至少一个。

条目7:根据前述条目1之6中任一项所述的方法,所述训练环境由在所述机器学习模型的训练期间所需的依赖库的列表及其发布编号定义,其中,所述确定所述本地环境是否与所述训练环境兼容包括:确定所述依赖库列表中的库是否安装在所述本地系统中,和/或所安装的库的发布编号是否与所述训练环境的发布号相同,其中,适配所述本地环境包括安装未安装的库和/或改变所述已安装的库以降级或升级所述已安装的库的发布编码。

条目8.:根据前述条目1至7中任一项所述的方法,所述客户端系统经由通信网络远程地连接至所述训练系统。

条目9:根据前述条目1至8中任一项的方法,训练系统处于云服务环境中。

本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储媒质(或多个媒质)。

计算机可读存储媒体可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储媒质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储媒质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储媒体不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。

本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储媒质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。

下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储媒质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储媒质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。

也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。

附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。

相关技术
  • 基于网格化预警信息的台风风涝灾害配电网风险评估方法
  • 一种基于电网GIS和台风信息集成的电网应急指挥方法
  • 一种基于电网GIS平台的应急指挥辅助决策系统
技术分类

06120116575354