实现机器学习模型的自定义上线的方法、装置及设备与流程

    专利查询2024-07-23  23



    1.本公开涉及人工智能领域,更具体地,涉及一种实现机器学习模型的自定义上线的方法、一种实现机器学习模型的自定义上线的装置、一种包括至少一个计算装置和至少一个存储装置的设备、及一种计算机可读存储介质。


    背景技术:

    2.现有的机器学习框架都有自己的模型格式,例如tensorflow对应的是savedmodel格式,kera对应的是h5格式,这些模型格式均是开源的模型格式,因此可以直接使用开源的自定义上线方式进行模型的上线。然而,随着机器学习技术的快速发展,自然有对于机器学习平台开发自定义算子产出模型,然后将模型上线应用的需求,然而,通过自定义算子所产出的模型格式并不是以上所介绍的开源的模型格式,导致模型无法进行上线。


    技术实现要素:

    3.本公开实施例的一个目的是提供一种实现机器学习模型的自定义上线的技术方案。
    4.根据本公开的第一方面,提供了一种实现机器学习模型的自定义上线的方法,其包括:
    5.获取用户上传的能产出模型的自定义算子;
    6.获取用户上传的所述自定义算子产出机器学习模型的自定义上线方式的代码内容;
    7.运行所述自定义算子产出机器学习模型,并将产出的所述机器学习模型和所述自定义上线方式的代码内容保存至模型文件中;
    8.基于所述模型文件中的所述自定义上线方式,将所述机器学习模型上线。
    9.可选地,所述自定义算子的代码内容中至少包括关于所述机器学习模型的模型信息的内容,
    10.所述机器学习模型的模型信息至少包括:所述机器学习模型的名称、所述机器学习模型的存储路径和所述自定义上线方式的名称。
    11.可选地,所述自定义算子的代码内容中包括所述自定义上线方式的名称;
    12.所述将产出的所述机器学习模型和所述自定义上线方式的内容保存至模型文件中,包括:
    13.基于所述自定义上线方式的名称,查找所述自定义上线方式的代码内容;
    14.将产出的所述机器学习模型和查找到的所述自定义上线方式的代码内容以目标存储格式保存至所述模型文件中。
    15.可选地,所述目标存储格式为包括所述机器学习模型运行时所依赖的环境列表节点、所述机器学习模型的第一存储位置节点、所述自定义上线方式的代码内容的第二存储位置节点和可执行文件节点的格式。
    16.可选地,所述模型文件中还包括:所述机器学习模型运行时所依赖的各个环境、基于所述第一存储位置所存储的所述机器学习模型、基于所述第二存储位置所存储的所述自定义上线方式的代码内容和基于所述可执行文件节点所展示的所述可执行文件,
    17.其中,所述可执行文件中至少包括调用所述自定义上线方式的操作命令。
    18.可选地,所述基于所述模型文件中的所述自定义上线方式,将所述机器学习模型上线,包括:
    19.提供关于机器学习模型上线的配置界面;
    20.根据通过所述配置界面输入的配置信息,将所述机器学习模型打包;
    21.从所述模型文件中查找所述自定义上线方式;
    22.基于所述自定义上线方式,将打包后的所述机器学习模型部署以完成所述机器学习模型的上线。
    23.可选地,所述从所述模型文件中查找所述自定义上线方式,包括:
    24.从所述模型文件中查找调用所述自定义上线方式的操作命令;
    25.基于所述操作命令,获取所述自定义上线方式的代码内容;
    26.运行所述自定义上线方式的代码内容,获得所述自定义上线方式。
    27.可选地,所述配置信息涉及以下项之中的至少一项:选择所述自定义算子的配置项、选择所述机器学习模型的配置项、及将所述机器学习模型上线时所需资源的配置项。
    28.可选地,所述自定义算子的代码内容基于编程语言和脚本语言之中的至少一种编写;以及,
    29.所述自定义上线方式的代码内容基于所述编程语言和所述脚本语言之中的至少一种编写。
    30.可选地,所述脚本语言包括自定义脚本语言和主流脚本语言之中的至少一种。
    31.可选地,所述自定义上线方式的代码内容中还包括关于对预测数据进行数据预处理的操作命令的内容。
    32.可选地,所述获取用户上传的能产出模型的自定义算子,包括:
    33.根据编辑所述自定义算子的操作,提供编辑界面;
    34.获取通过所述编辑界面输入的代码内容,其中,所述代码内容包括对输入的训练数据进行数据预处理的操作命令、针对数据预处理后的训练数据进行特征工程的操作命令、根据特征工程的结果进行模型训练的操作命令、及所述机器学习模型的模型信息;
    35.封装所述代码内容,获得所述自定义算子。
    36.可选地,获取用户上传的所述自定义算子产出机器学习模型的自定义上线方式的代码内容,包括:
    37.根据编辑所述自定义上线方式的操作,提供编辑界面;
    38.获取通过所述编辑界面输入的代码内容,其中,所述代码内容包括对输入的预测数据进行数据预处理的操作命令、及所述机器学习模型的自定义上线方式的实现函数。
    39.可选地,所述在基于所述自定义上线方式,将所述机器学习模型上线之后,还包括:
    40.在应用管理中心查看所述机器学习模型的上线状态。
    41.根据本公开的第二方面,还提供一种实现机器学习模型的自定义上线的装置,其
    包括:
    42.第一获取模块,用于获取用户上传的能产出模型的自定义算子;
    43.第二获取模块,获取用户上传的所述自定义算子产出机器学习模型的自定义上线方式的代码内容;
    44.运行模块,用于运行所述自定义算子产出机器学习模型模块;
    45.保存模块,用于将产出的所述机器学习模型和所述自定义上线方式的代码内容保存至模型文件中;以及,
    46.上线模块,用于基于所述模型文件中的所述自定义上线方式,将所述机器学习模型上线。
    47.可选地,所述自定义算子的代码内容中至少包括关于所述机器学习模型的模型信息的内容,
    48.所述机器学习模型的模型信息至少包括:所述机器学习模型的名称、所述机器学习模型的存储路径和所述自定义上线方式的名称。
    49.可选地,所述保存模块具体用于;
    50.所述将产出的所述机器学习模型和所述自定义上线方式的内容保存至模型文件中,包括:
    51.基于所述自定义上线方式的名称,查找所述自定义上线方式的代码内容;
    52.将产出的所述机器学习模型和查找到的所述自定义上线方式的代码内容以目标存储格式保存至所述模型文件中。
    53.可选地,所述目标存储格式为包括所述机器学习模型运行时所依赖的环境列表节点、所述机器学习模型的第一存储位置节点、所述自定义上线方式的代码内容的第二存储位置节点和可执行文件节点的格式。
    54.可选地,所述模型文件中还包括:所述机器学习模型运行时所依赖的各个环境、基于所述第一存储位置所存储的所述机器学习模型、基于所述第二存储位置所存储的所述自定义上线方式的代码内容和基于所述可执行文件节点所展示的所述可执行文件,
    55.其中,所述可执行文件中至少包括调用所述自定义上线方式的操作命令。
    56.可选地,所述上线模块具体用于:
    57.提供关于机器学习模型上线的配置界面;
    58.根据通过所述配置界面输入的配置信息,将所述机器学习模型打包;
    59.从所述模型文件中查找所述自定义上线方式;
    60.基于所述自定义上线方式,将打包后的所述机器学习模型部署以完成所述机器学习模型的上线。
    61.可选地,所述上线模块具体用于:
    62.从所述模型文件中查找调用所述自定义上线方式的操作命令;
    63.基于所述操作命令,获取所述自定义上线方式的代码内容;
    64.运行所述自定义上线方式的代码内容,获得所述自定义上线方式。
    65.可选地,所述配置信息涉及以下项之中的至少一项:选择所述自定义算子的配置项、选择所述机器学习模型的配置项、及将所述机器学习模型上线时所需资源的配置项。
    66.可选地,所述自定义算子的代码内容基于编程语言和脚本语言之中的至少一种编
    写;以及,
    67.所述自定义上线方式的代码内容基于所述编程语言和所述脚本语言之中的至少一种编写。
    68.可选地,所述脚本语言包括自定义脚本语言和主流脚本语言之中的至少一种。
    69.可选地,所述自定义上线方式的代码内容中还包括关于对预测数据进行数据预处理的操作命令的内容。
    70.可选地,所述第一获取模块具体用于:
    71.根据编辑所述自定义算子的操作,提供编辑界面;
    72.获取通过所述编辑界面输入的代码内容,其中,所述代码内容包括对输入的训练数据进行数据预处理的操作命令、针对数据预处理后的训练数据进行特征工程的操作命令、根据特征工程的结果进行模型训练的操作命令、及所述机器学习模型的模型信息;
    73.封装所述代码内容,获得所述自定义算子。
    74.可选地,所述第二获取模块具体用于:
    75.根据编辑所述自定义上线方式的操作,提供编辑界面;
    76.获取通过所述编辑界面输入的代码内容,其中,所述代码内容包括对输入的预测数据进行数据预处理的操作命令、及所述机器学习模型的自定义上线方式的实现函数。
    77.可选地,所述上线模块还用于:
    78.在应用管理中心查看所述机器学习模型的上线状态。
    79.根据本公开的第三方面,还提供一种包括至少一个计算装置和至少一个存储装置的设备,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据以上第一方面所述的方法。
    80.根据本公开的第四方面,还提供一种计算机可读存储介质,其中,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如以上第一方面所述的方法。
    81.根据本公开实施例的方法,其不仅支持用户上传能产出模型的自定义算子,还为该自定义算子所产出模型提供对应的自定义上线方式,并在运行自定义算子产出机器学习模型之后,将机器学习模型和自定义上线方式的代码内容保存至模型文件中,进而基于模型文件中的自定义上线方式,将机器学习模型上线,从而实现非标准格式的模型上线。
    附图说明
    82.通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
    83.图1是显示可用于实现本公开实施例的电子设备的硬件配置的例子的框图;
    84.图2示出了本公开实施例的实现机器学习模型的自定义上线的方法的流程图;
    85.图3至图7示出了本公开实施例的显示界面的示意图;
    86.图8示出了本公开实施例的实现机器学习模型的自定义上线的装置的原理框图。
    具体实施方式
    87.现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本
    发明的范围。
    88.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
    89.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
    90.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
    91.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
    92.下面,参照附图描述根据本发明实施例的各个实施例和例子。
    93.《硬件配置》
    94.本公开实施例的方法可以由至少一台电子设备实施,即,用于实施该方法的装置8000可以布置在该至少一台电子设备上。图1示出了任意电子设备的硬件结构。图1所示的电子设备可以是便携式电脑、台式计算机、工作站、服务器等,也可以是任意的具有处理器等计算装置和存储器等存储装置的其他设备,在此不做限定。
    95.如图1所示,该电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100用于执行计算机程序。该计算机程序可以采用比如x86、arm、risc、mips、sse等架构的指令集编写。存储器1200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括usb接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括wifi通信、蓝牙通信、2g/3g/4g/5g通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。电子设备1000可以通过扬声器1700输出语音信息,及可以通过麦克风1800采集语音信息等。
    96.图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本公开的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本公开实施例的实现机器学习模型的自定义上线的方法。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
    97.在一个实施例中,提供了一种包括至少一个计算装置和至少一个存储装置的设备,该至少一个存储装置用于存储指令,该指令用于控制该至少一个计算装置执行根据本公开任意实施例的方法。
    98.该设备可以包括至少一台图1所示的电子设备1000,以提供至少一个例如是处理器的计算装置和至少一个例如是存储器的存储装置,在此不做限定。
    99.《方法实施例》
    100.在本实施例中,提供一种实现机器学习模型的自定义上线的方法,该实现机器学习模型的自定义上线的方法可以是由电子设备实施,该电子设备可以是如图1所示的电子设备1000。
    101.根据图2所示,本实施例的实现机器学习模型的自定义上线的方法可以包括如下
    步骤s2100~s2400:
    102.步骤s2100,获取用户上传的能产出模型的自定义算子。
    103.自定义算子可以是模型训练算子,该模型训练算子是用于对输入的训练数据进行数据预处理,并针对进行数据预处理后的训练数据进行特征工程,及根据特征工程的结果进行模型训练得到机器学习模型的工具。当然,该自定义算子还可以是还可以是用户自定义的其他算子,本实施例在此不做赘述。
    104.在本实施例中,其可以提供图形用户界面,并在图形用户界面的算子节点中提供“自定义算子”节点。如图3所示,该自定义算子为模型训练算子“sklearn-predictor”,在需要对训练数据进行模型训练时,可以是将“sklearn-predictor”拖曳至执行自动机器学习过程的图形用户界面中,得到“sklearn-predictor”节点,图3中的“multiclass_uiaut”可以为训练数据节点。
    105.在本实施例中,其可以提供人机交互接口,以支持建模人员进行操作,进而获得自定义算子,在此,本步骤s2100中获取用户上传的能产出模型的自定义算子可以进一步包括如下步骤s2110~s2130:
    106.步骤s2110,根据编辑自定义算子的操作,提供编辑界面。
    107.本实施例中,电子设备可以响应于编辑自定义算子的操作,提供编辑界面。
    108.该编辑界面中可以包括编辑入口,该编辑入口可以是输入框、下拉列表、语音输入等。
    109.步骤s2120,获取通过编辑界面输入的代码内容。
    110.代码内容中包括对输入的训练数据进行数据预处理的操作命令、针对数据预处理后的训练数据进行特征工程的操作命令、根据特征工程的结果进行模型训练的操作命令、及机器学习模型的模型信息。
    111.以上代码内容可以基于编程语言和脚本语言之中的至少一种编写,该脚本语言编写包括自定义脚本语言编写和主流脚本语言编写之中的至少一种。该编程语言可以包括通过java语言、c++语言以及c语言等。该主流脚本语言例如可以包括perl语言、python语言以及ruby语言等。该自定义脚本语言可以由操作人员对以上主流脚本语言进行混合得到的脚本语言,例如可以是将perl语言和python语言进行混合。
    112.本步骤s2120中,建模人员可以通过编辑界面提供的编辑入口输入代码内容,供电子设备获取该代码内容。
    113.以上机器学习模型的模型信息至少包括机器学习模型的名称、机器学习模型的存储路径和上线方式的名称。例如,自定义算子的部分代码内容为“sage_logger.model(“sgd_model”,model_loc,predictor=“sklearn-predict”)”,其中,sgd_model表示机器学习模型的模型名称,model_loc表示机器学习模型的模型存储路径,predictor=“sklearn-predict”表示机器学习模型的自定义上线方式predictor的名称为“sklearn-predict”,即,该机器学习模型上线时所要使用的predictor为sklearn-predict,从而,在根据后续步骤存储机器学习模型时,会将该机器学习模型和自定义的predictor的实现代码一块保存至模型文件中。
    114.步骤s2130,封装代码内容,得到自定义算子。
    115.本步骤s2130中,可以是封装对输入的训练数据进行数据预处理的操作命令、针对
    数据预处理后的训练数据进行特征工程的操作命令、及根据特征工程的结果进行模型训练的操作命令、及机器学习模型的模型信息后,获得自定义算子。
    116.在获取用户上传的能产出模型的自定义算子之后,进入:
    117.步骤s2200,获取用户上传的自定义算子产出机器学习模型的自定义上线方式的代码内容。
    118.本实施例中,其实现了自定义算子产出机器学习模型进行存储时指定的predictor,这样算子即可在平台应用中心管理上线,在上线时会调用模型中保存的自定义sklearn-predictor代码来启动模型服务。
    119.本实施例中,其可以提供人机交互接口,以支持建模人员进行操作,进而获得自定义算子,在此,本步骤s2200中获取用户上传的自定义算子产出机器学习模型的自定义上线方式的代码内容可以进一步包括如下步骤s2210~s2220:
    120.步骤s2210,根据编辑自定义上线方式的操作,提供编辑界面。
    121.本实施例中,电子设备可以响应于编辑自定义算子的操作,提供编辑界面。
    122.该编辑界面中可以包括编辑入口,该编辑入口可以是输入框、下拉列表、语音输入等。
    123.步骤s2120,获取通过编辑界面输入的代码内容。
    124.代码内容至少包括对输入的预测数据进行数据预处理的操作命令、及机器学习模型的自定义上线方式的实现函数。以上代码内容也可以基于编程语言和脚本语言之中的至少一种编写,关于脚本语言编写和编程语言编写的具体解释可以参照以上步骤,本实施例在此不做赘述。
    125.预测数据可以是用户(例如,用于推荐资讯的资讯服务商)期望获得相关预测结果的数据。例如,当用户想要获知期望向其客户(例如,终端消费者)推荐的资讯是否会被接受(即,是否会被消费者点击或阅读)的预测结果时,该预测数据即为关于期望推荐的资讯的属性信息数据。
    126.示例性地,自定义上线方式的部分代码内容“@operator(“sklearn-predictor”,runner=“default_http_server”)”可以为上线方式的实现函数,“def predict(self,data,query_args):......”可以为对预测数据进行数据预处理的操作命令。可以理解的是,该代码内容中还可以包括与自定义的实现函数相关的参数等信息,本实施例在此不做赘述。
    127.本步骤s2120中,建模人员可以通过编辑界面提供的编辑入口输入代码内容,供电子设备获取该代码内容。
    128.在获取用户上传的自定义算子产出机器学习模型的自定义上线方式的代码内容之后,进入:
    129.步骤s2300,运行自定义算子产出机器学习模型,并将产出的机器学习模型和自定义上线方式的代码内容保存至模型文件中。
    130.在本实施例中,针对不同的机器学习问题提供不同的训练数据,进而利用自定义算子对训练数据进行训练以产出机器学习模型。例如可以是在执行本公开实施例的电子设备的指定位置中预先存储对应多种应用场景的训练数据集,该训练数据例如可以是带标注的图像数据、带标注的一张或多张文本数据表或者带标注的语音数据等。
    131.如图3所示,该自定义算子为模型训练算子“sklearn-predictor”,在需要对训练数据进行模型训练时,可以是将“sklearn-predictor”拖曳至执行自动机器学习过程的图形用户界面中,得到“sklearn-predictor”节点,以及,将训练数据“multiclass_uiaut”拖曳至执行自动机器学习过程的图形用户界面中,得到“multiclass_uiaut”节点,并将该“multiclass_uiaut”节点与“sklearn-predictor”节点连接,选择运行,进而利用模型训练算子基于训练数据来训练机器学习模型。
    132.在本实施例中,本步骤s2300中将产出的机器学习模型和自定义上线方式的代码内容保存至模型文件中可以进一步包括如下步骤s2310~s2320:
    133.步骤s2310,基于自定义上线方式的名称,查找自定义上线方式的代码内容。
    134.本步骤s2310中,自定义算子的代码内容中包括自定义上线方式的名称。例如,自定义算子的部分代码内容为“sage_logger.model(“sgd_model”,model_loc,predictor=“sklearn-predict”)”,其中,该代码内容中定义上线方式predictor的名称为“sklearn-predictor”,在此,可以查找名称为“sklearn-predictor”的自定义上线方式的代码内容。
    135.步骤s2320,将产出的机器学习模型和查找到的自定义上线方式的代码内容以目标存储格式保存至模型文件中。
    136.目标存储格式为包括机器学习模型运行时所依赖的环境列表节点、机器学习模型的第一存储位置节点、自定义上线方式的代码内容的第二存储位置节点和可执行文件节点的格式。
    137.例如,该目标存储格式可以为:
    [0138][0139]
    其中,以上模型存储文件夹表示机器学习模型的存储位置,以及,predictor代码存储文件夹表示自定义上线方式的代码内容的存储位置。
    [0140]
    模型文件中包括机器学习模型运行时所依赖的各个环境、基于第一存储位置所存储的机器学习模型、基于第二存储位置所存储的自定义上线方式的代码内容和基于可执行文件节点所展示的可执行文件,该可执行文件中至少包括调用自定义上线方式的操作命令。
    [0141]
    在运行自定义算子产出机器学习模型,并将产出的机器学习模型和自定义上线方式的代码内容保存至模型文件中之后,进入:
    [0142]
    步骤s2400,基于模型文件中的自定义上线方式,将机器学习模型上线。
    [0143]
    本实施例中,在根据以上步骤s2300产出机器学习模型之后,便可根据本步骤基于模型文件中的自定义上线方式,将机器学习模型上线。
    [0144]
    本实施例中,本步骤s2400中基于模型文件中的自定义上线方式,将机器学习模型上线可以进一步包括如下步骤s2410~s2440:
    [0145]
    步骤s2410,提供关于机器学习模型上线的配置界面。
    [0146]
    本实施例中,电子设备可以响应于对机器学习模型的上线操作,提供编辑界面。
    [0147]
    该编辑界面中可以包括编辑入口,该编辑入口可以是输入框、下拉列表、语音输入等。
    [0148]
    步骤s2420,根据通过配置界面输入的配置信息,将机器学习模型打包。
    [0149]
    配置信息涉及以下项之中的至少一项:选择自定义算子的配置项、选择机器学习模型的配置项、及将机器学习模型上线时所需资源的配置项。
    [0150]
    如图4所示,例如可以自定义算子预估,该自定义算子即为以上用户上传的能产出模型的自定义算子,在选择自定义算子预估之后,如图5所示,选择要上线的机器学习模型,该机器学习模型即为以上自定义算子所产出的机器学习模型,在选择机器学习模型之后,进一步选择机器学习模型上线时所需要资源,并点击保存,如图6所示,然后打包应用。
    [0151]
    步骤s2430,从模型文件中查找自定义上线方式。
    [0152]
    本步骤s2430中从模型文件中查找自定义上线方式可以进一步包括如下步骤s2431~s2432:
    [0153]
    步骤s2431,从模型文件中查找调用自定义上线方式的操作命令。
    [0154]
    例如可以是从模型文件中的可执行文件中查找调用自定义上线方式的操作命令。
    [0155]
    步骤s2432,基于操作命令,获取自定义上线方式的代码内容。
    [0156]
    例如,获取到的自定义上线方式的名称为“sklearn-predictor”,即,获取自定义上线方式的名称为“sklearn-predictor”的代码内容。
    [0157]
    步骤s2433,运行自定义上线方式的代码内容,获得自定义上线方式。
    [0158]
    步骤s2440,基于自定义上线方式,将打包后的机器学习模型部署以完成机器学习模型的上线。
    [0159]
    例如,启动服务时会找到模型文件下的predictor实现“sklearn-predictor”的代码调用。
    [0160]
    在根据以上步骤s2400基于模型文件中的自定义上线方式,将机器学习模型上线之后,还包括在应用管理中心查看机器学习模型的上线状态。
    [0161]
    如图7所示,部署后即可在服务页面查看上线服务的状态、日志、监控信息等。
    [0162]
    根据本公开实施例的方法,其不仅支持用户上传能产出模型的自定义算子,还为该自定义算子所产出模型提供对应的自定义上线方式的代码内容,并在运行自定义算子产出机器学习模型之后,将机器学习模型和自定义上线方式的代码内容保存至模型文件中,进而基于模型文件中的自定义上线方式,将机器学习模型上线,从而实现非标准格式的模型上线。
    [0163]
    《装置实施例》
    [0164]
    在本实施例中,提供一种实现机器学习模型的自定义上线的装置8000,如图8所示,包括第一获取模块8100、第二获取模块8200、运行模块8300及保存模块8400。
    [0165]
    该第一获取模块8100,用于获取用户上传的能产出模型的自定义算子。
    [0166]
    该第二获取模块8200,用于获取用户上传的所述自定义算子产出机器学习模型的自定义上线方式的代码内容。
    [0167]
    该运行模块8300,用于运行所述自定义算子产出机器学习模型。
    [0168]
    该保存模块8400,用于将产出的所述机器学习模型和所述自定义上线方式的代码内容保存至模型文件中。
    [0169]
    该上线模块8500,用于基于所述模型文件中的所述自定义上线方式,将所述机器学习模型上线。
    [0170]
    在一个实施例中,所述自定义算子的代码内容中至少包括关于所述机器学习模型的模型信息的内容,
    [0171]
    所述机器学习模型的模型信息至少包括:所述机器学习模型的名称、所述机器学习模型的存储路径和所述自定义上线方式的名称。
    [0172]
    在一个实施例中,所述保存模块8400具体用于;
    [0173]
    所述将产出的所述机器学习模型和所述自定义上线方式的内容保存至模型文件中,包括:
    [0174]
    基于所述自定义上线方式的名称,查找所述自定义上线方式的代码内容;
    [0175]
    将产出的所述机器学习模型和查找到的所述自定义上线方式的代码内容以目标存储格式保存至所述模型文件中。
    [0176]
    在一个实施例中,所述目标存储格式为包括所述机器学习模型运行时所依赖的环境列表节点、所述机器学习模型的第一存储位置节点、所述自定义上线方式的代码内容的第二存储位置节点和可执行文件节点的格式。
    [0177]
    在一个实施例中,所述模型文件中还包括:所述机器学习模型运行时所依赖的各个环境、基于所述第一存储位置所存储的所述机器学习模型、基于所述第二存储位置所存储的所述自定义上线方式的代码内容和基于所述可执行文件节点所展示的所述可执行文件,
    [0178]
    其中,所述可执行文件中至少包括调用所述自定义上线方式的操作命令。
    [0179]
    在一个实施例中,所述上线模块8500具体用于:
    [0180]
    提供关于机器学习模型上线的配置界面;
    [0181]
    根据通过所述配置界面输入的配置信息,将所述机器学习模型打包;
    [0182]
    从所述模型文件中查找所述自定义上线方式;
    [0183]
    基于所述自定义上线方式,将打包后的所述机器学习模型部署以完成所述机器学习模型的上线。
    [0184]
    在一个实施例中,所述上线模块8500具体用于:
    [0185]
    从所述模型文件中查找调用所述自定义上线方式的操作命令;
    [0186]
    基于所述操作命令,获取所述自定义上线方式的代码内容;
    [0187]
    运行所述自定义上线方式的代码内容,获得所述自定义上线方式。
    [0188]
    在一个实施例中,所述配置信息涉及以下项之中的至少一项:选择所述自定义算子的配置项、选择所述机器学习模型的配置项、及将所述机器学习模型上线时所需资源的配置项。
    [0189]
    在一个实施例中,所述自定义算子的代码内容基于编程语言和脚本语言之中的至少一种编写;以及,
    [0190]
    所述自定义上线方式的代码内容基于所述编程语言和所述脚本语言之中的至少一种编写。
    [0191]
    在一个实施例中,所述脚本语言包括自定义脚本语言和主流脚本语言之中的至少一种。
    [0192]
    在一个实施例中,所述自定义上线方式的代码内容中还包括关于对预测数据进行数据预处理的操作命令的内容。
    [0193]
    在一个实施例中,所述第一获取模块8100具体用于:
    [0194]
    根据编辑所述自定义算子的操作,提供编辑界面;
    [0195]
    获取通过所述编辑界面输入的代码内容,其中,所述代码内容包括对输入的训练数据进行数据预处理的操作命令、针对数据预处理后的训练数据进行特征工程的操作命令、根据特征工程的结果进行模型训练的操作命令、及所述机器学习模型的模型信息;
    [0196]
    封装所述代码内容,获得所述自定义算子。
    [0197]
    在一个实施例中,所述第二获取模块8200具体用于:
    [0198]
    根据编辑所述自定义上线方式的操作,提供编辑界面;
    [0199]
    获取通过所述编辑界面输入的代码内容,其中,所述代码内容包括对输入的预测数据进行数据预处理的操作命令、及所述机器学习模型的自定义上线方式的实现函数。
    [0200]
    在一个实施例中,所述上线模块8500还用于:
    [0201]
    在应用管理中心查看所述机器学习模型的上线状态。
    [0202]
    《存储介质实施例》
    [0203]
    本实施例提供了一种计算机可读存储介质,其中,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据上述方法实施例中任一项所述的方法。
    [0204]
    本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
    [0205]
    计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
    [0206]
    这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/
    处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
    [0207]
    用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
    [0208]
    这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
    [0209]
    这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
    [0210]
    也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
    [0211]
    附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对
    于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
    [0212]
    以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

    技术特征:
    1.一种实现机器学习模型的自定义上线的方法,包括:获取用户上传的能产出模型的自定义算子;获取用户上传的所述自定义算子产出机器学习模型的自定义上线方式的代码内容;运行所述自定义算子产出机器学习模型,并将产出的所述机器学习模型和所述自定义上线方式的代码内容保存至模型文件中;基于所述模型文件中的所述自定义上线方式,将所述机器学习模型上线。2.根据权利要求1所述的方法,其中,所述自定义算子的代码内容中至少包括关于所述机器学习模型的模型信息的内容,所述机器学习模型的模型信息至少包括:所述机器学习模型的名称、所述机器学习模型的存储路径和所述自定义上线方式的名称。3.根据权利要求1所述的方法,其中,所述自定义算子的代码内容中包括所述自定义上线方式的名称;所述将产出的所述机器学习模型和所述自定义上线方式的代码内容保存至模型文件中,包括:基于所述自定义上线方式的名称,查找所述自定义上线方式的代码内容;将产出的所述机器学习模型和查找到的所述自定义上线方式的代码内容以目标存储格式保存至所述模型文件中。4.根据权利要求3所述的方法,其中,所述目标存储格式为包括所述机器学习模型运行时所依赖的环境列表节点、所述机器学习模型的第一存储位置节点、所述自定义上线方式的代码内容的第二存储位置节点和可执行文件节点的格式。5.根据权利要求4所述的方法,其中,所述模型文件中包括:所述机器学习模型运行时所依赖的各个环境、基于所述第一存储位置所存储的所述机器学习模型、基于所述第二存储位置所存储的所述自定义上线方式的代码内容和基于所述可执行文件节点所展示的所述可执行文件,其中,所述可执行文件中至少包括调用所述自定义上线方式的操作命令。6.根据权利要求1所述的方法,其中,所述基于所述模型文件中的所述自定义上线方式,将所述机器学习模型上线,包括:提供关于机器学习模型上线的配置界面;根据通过所述配置界面输入的配置信息,将所述机器学习模型打包;从所述模型文件中查找所述自定义上线方式;基于所述自定义上线方式,将打包后的所述机器学习模型部署以完成所述机器学习模型的上线。7.根据权利要求6所述的方法,其中,所述从所述模型文件中查找所述自定义上线方式,包括:从所述模型文件中查找调用所述自定义上线方式的操作命令;基于所述操作命令,获取所述自定义上线方式的代码内容;运行所述自定义上线方式的代码内容,获得所述自定义上线方式。8.一种实现机器学习模型的自定义上线的装置,包括:第一获取模块,用于获取用户上传的能产出模型的自定义算子;
    第二获取模块,获取用户上传的所述自定义算子产出机器学习模型的自定义上线方式的代码内容;运行模块,用于运行所述自定义算子产出机器学习模型;保存模块,用于将产出的所述机器学习模型和所述自定义上线方式的代码内容保存至模型文件中;以及,上线模块,用于基于所述模型文件中的所述自定义上线方式,将所述机器学习模型上线。9.一种包括至少一个计算装置和至少一个存储装置的设备,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据权利要求1至7中任一项所述的方法。10.一种计算机可读存储介质,其中,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至7中任一项所述的方法。

    技术总结
    本公开提出了一种实现机器学习模型的自定义上线的方法、装置及设备,该方法包括:获取用户上传的能产出模型的自定义算子;获取用户上传的所述自定义算子产出机器学习模型的自定义上线方式的内容;运行所述自定义算子产出机器学习模型,并将产出的所述机器学习模型和所述自定义上线方式的代码内容保存至模型文件中;基于所述模型文件中的所述自定义上线方式,将所述机器学习模型上线。将所述机器学习模型上线。将所述机器学习模型上线。


    技术研发人员:张宇 郭朕 王勃 赵庆 王昱森 罗伟锋
    受保护的技术使用者:第四范式(北京)技术有限公司
    技术研发日:2020.11.06
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-23620.html

    最新回复(0)