CN115293365A - 机器学习模型的管理方法、装置、管理平台和存储介质 - Google Patents
机器学习模型的管理方法、装置、管理平台和存储介质 Download PDFInfo
- Publication number
- CN115293365A CN115293365A CN202211015154.9A CN202211015154A CN115293365A CN 115293365 A CN115293365 A CN 115293365A CN 202211015154 A CN202211015154 A CN 202211015154A CN 115293365 A CN115293365 A CN 115293365A
- Authority
- CN
- China
- Prior art keywords
- model
- file
- target model
- description information
- target
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了机器学习模型的管理方法、装置、管理平台和存储介质。通过模型导入页面接收目标模型的文件压缩包,并在确定解压内容通过验证后,将配置描述信息存储至数据库;根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将解压文件夹存储于模型文件目录下;通过模型列表页面接收启用指令,从数据库中获取配置描述信息,生成启用配置项;增加启用配置项,以在模型管理平台中上线目标模型。本发明的技术方案解决了因新增或者更新机器学习模型而导致的修改操作复杂、不能够可视化以及数据不能同步和共享的问题,实现了机器学习模型自动化导入及上线的操作,减轻了开发人员的工作难度。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种机器学习模型的管理方法、装置、管理平台和存储介质。
背景技术
随着人工智能技术的飞速发展,通过机器学习及深度学习模型对业务数据进行建模分析已是各行业的重要需求之一。TensorFlow是一个由Google公司提供并开源的端到端机器学习平台,具有全面健康的生态和丰富的资源库,可帮助开发者轻松构建由机器学习提供支持的应用。Kubernetes平台,可以对一个应用创建多个实例的容器,通过平台内置的负载均衡策略,实现对这一组应用的负载均衡访问,同时平台集群保证了在部分机器故障时应用功能的可用性。Kubernetes支持持久化卷存储以及持久卷声明,供应用的容器挂载,以实现集群各节点容器数据的持久存储和数据的同步共享。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:当新增机器学习模型时,需要将新模型固化后的文件手动拷贝到服务可识别的路径,并且修改模型配置文件,然后重启服务后,才能启动新增的模型,模型新增及修改操作复杂,容易出错。如果业务场景需要经常更新模型,这将大大加重了工作人员的工作量、以及比较难实现处于不同集群服务器上容器的数据的同步和共享。
发明内容
本发明提供了一种机器学习模型的管理方法、装置、管理平台和存储介质,以实现机器学习模型自动化上下线以及删除的操作,减轻了开发人员的工作难度。
根据本发明的一方面,提供了一种TensorFlow模型的管理方法,由模型管理平台执行,其中,包括:
通过模型导入页面接收目标模型的文件压缩包,并在确定文件压缩包的解压内容通过验证后,将目标模型的配置描述信息存储至数据库;
根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将与文件压缩包对应的解压文件夹存储于模型文件目录下;
通过模型列表页面接收对目标模型的启用指令,从数据库中获取目标模型的配置描述信息,并根据配置描述信息,生成目标模型的启用配置项;模型列表页面中展示的模型列表与数据库中所存储的模型相匹配;
在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项,以在模型管理平台中上线目标模型。
根据本发明的另一方面,提供了一种TensorFlow模型的管理装置,其中,包括:
配置描述信息存储模块,用于通过模型导入页面接收目标模型的文件压缩包,并在确定文件压缩包的解压内容通过验证后,将目标模型的配置描述信息存储至数据库;
解压文件夹存储模块,用于根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将与文件压缩包对应的解压文件夹存储于模型文件目录下;
启用配置项生成模块,用于通过模型列表页面接收对目标模型的启用指令,从数据库中获取目标模型的配置描述信息,并根据配置描述信息,生成目标模型的启用配置项;模型列表页面中展示的模型列表与数据库中所存储的模型相匹配;
启用配置项增加模块,用于在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项,以在模型管理平台中上线目标模型。
根据本发明的另一方面,提供了一种模型管理平台,其中,所述模型管理平台中包括Kubernetes集群,所述Kubernetes集群中的多个Kubernetes节点分别部署TensorFlow服务容器;各TensorFlow服务容器具有预设的刷新时间;各TensorFlow服务容器和各模型维护服务容器分别挂载预先创建的共享存储卷;其中,各TensorFlow服务容器用于执行本发明任一实施例所述的TensorFlow模型的管理方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的TensorFlow模型的管理方法。
本发明实施例的技术方案,通过模型导入页面接收目标模型的文件压缩包,并在确定解压内容通过验证后,将配置描述信息存储至数据库;根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将解压文件夹存储于模型文件目录下;通过模型列表页面接收启用指令,从数据库中获取配置描述信息,生成启用配置项;增加启用配置项,以在模型管理平台中上线目标模型。本发明的技术方案解决了因新增或者更新机器学习模型而导致的修改操作复杂、不能够可视化以及数据不能同步和共享的问题,实现了机器学习模型自动化导入及上线的操作,减轻了开发人员的工作难度,实现了在不同集群服务器上数据的同步和共享。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是根据本发明实施例一提供的一种TensorFlow模型的管理方法的流程图;
图1b是根据本发明实施例一提供的方法中的对目标模型进行启用的结构示意图;
图2a是根据本发明实施例二提供的另一种TensorFlow模型的管理方法的流程图;
图2b是根据本发明实施例二提供的方法中的对目标模型进行删除的结构示意图;
图3是根据本发明实施例三提供的一种TensorFlow模型的管理装置的结构示意图;
图4是实现本发明实施例的TensorFlow模型的管理方法的管理平台的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“目标”、“当前”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1a为本发明实施例一提供了一种TensorFlow模型的管理方法的流程图,本实施例可适用于机器学习模型更新或者新增的情况,该方法可以由TensorFlow模型的管理装置来执行,该TensorFlow模型的管理装置可以采用硬件和/或软件的形式实现。
相应的,如图1a所示,该方法包括:
S110、通过模型导入页面接收目标模型的文件压缩包,并在确定文件压缩包的解压内容通过验证后,将目标模型的配置描述信息存储至数据库。
其中,模型导入页面可以是在模型管理平台上能够进行模型导入的页面。目标模型可以是在模型管理平台上进行待新增或者待更新的模型。配置描述信息可以是描述目标模型的基本配置信息,具体的,配置描述信息可以包括模型的唯一标识和模型的类型。数据库可以是MySQL数据库。
可以理解的是,由模型管理平台的模型导入页面导入算法工程师离线训练的目标模型所关联的文件压缩包,模型管理平台业务服务完成对导入文件压缩包的解压内容的基本校验后,解析模型包中约定好的模型配置信息文件,提取配置描述信息,并将配置描述信息存储到MySQL数据库。
具体的,模型管理平台部署环境准备包括:准备Kubernetes集群环境,并且安装nfs-utils工具,建nfs格式的PV(共享存储卷,Persistent Volume),访问模型设置为ReadWriteMany,可供多节点挂载,并且创建对应的PVC(共享卷声明,Persistent VolumeClaim)。
考虑到模型管理平台的负载均衡以及高可用性能,选择Kubernetes作为部署平台,多节点部署平台的TensorFlow服务容器。考虑到容器数据的持久化存储以及不同容器的数据共享,选择Kubernetes支持的PV和PVC存储资源对象,创建存储PV,访问模式为ReadWriteMany,可供多个节点多个服务容器挂载,并且创建对应的PVC。
进一步的,基于Kubernetes多节点部署TensorFlow服务容器,通过“--model_config_file_poll_wait_seconds=30”设置刷新时间为30s,所有节点的TensorFlow服务容器,将配置的模型可识别目录,目录包含了配置文件models.config,比如目录路径可以是/models/,选择新建的PVC(名称为PVC_NAME)挂载,所有TensorFlow服务容器中模型配置文件及配置描述信息记录文件models.config持久化存储及数据同步共享。
其中,配置描述信息记录文件可以是由描述目标模型的基本配置信息而构成的信息记录文件,模型配置文件可以是关于目标模型的配置进行描述的信息文件。
基于Kubernetes多节点部署管理平台选择PVC_NAME挂载,如此实现各TensorFlow服务容器在模型配置文件及配置描述信息记录文件models.config这两种类型数据的同步共享。
另外的,TensorFlow服务容器中可以实现模型的导入、启用和停用,在每个Kubernetes节点上还可以挂载模型维护服务容器,具体的,模型维护服务容器可以实现对数据库中各模型的组织和管理。
可选的,在确定文件压缩包的解压内容通过验证后,将目标模型的配置描述信息存储至数据库,包括:对文件压缩包进行解压处理,得到与文件压缩包对应的解压文件夹;解析所述解压文件夹的目录结构,并读取解压文件夹中的配置描述信息记录文件;如果确定所述目录结构满足预设的结构要求,且配置描述信息记录文件中包含模型必备属性的属性值,则确定文件压缩包的解压内容通过验证;将所述配置描述信息记录文件中记录的目标模型的配置描述信息存储至数据库。
在本实施例中,预设的结构要求可以是在模型管理平台上的目录预设结构,具体的,可以设置预设的结构要求包含模型文件目录,并且在模型文件目录下存在相应的子目录。要是当前目录结构与预设的结构要求不匹配,则没有通过验证。如果当前目录结构与预设的结构要求匹配,需要接着判断配置描述信息记录文件中是否包含模型必备属性的属性值,若是,则通过验证,否则,则没有通过验证。
其中,模型必备属性的属性值,包含模型的类型以及唯一标识等参数。
可以理解的是,首先模型管理平台需要对文件压缩包进行解压,通过解压处理,可以得到解压文件夹。进一步的,解析解压文件的目录结构,并获取得到配置描述信息记录文件,可以确定目录结构是由几级目录结构来构成。
相应的,判断目录结构是否满足预设的结构要求,如果不满足,则直接反馈验证不通过的信息。如果满足,则确定文件压缩包的解压内容通过验证。并且,模型管理平台可以将配置描述信息记录文件中记录的目标模型的配置描述信息存储至数据库,也即将模型的类型和唯一标识等参数存储至数据库。
S120、根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将与文件压缩包对应的解压文件夹存储于模型文件目录下。
其中,文件存储标识可以是当目标模型存储于数据库中,数据库会向模型管理平台发送关于目标模型存储的标识,数据库存储每一个目标模型对应的反馈的文件存储标识都是唯一的,模型管理平台可以根据文件存储标识确定相关目标模型。
具体的,模型文件目录可以是能够进行检索文件的列表目录。具体的,模型文件目录位于模型管理平台上,能够在相关模型文件目录下存储相应的解压文件夹。
可选的,根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,包括:在所述TensorFlow服务的识别目录下,新建以文件存储标识为目录名文件夹,以目标模型的类型为子目录的模型文件目录。
其中,目录名文件夹可以是以目录名进行文件命名的文件夹。子目录可以是在模型文件目录下存在的下一分级的目录,可以理解的是,一个模型文件目录下有一个对应的子目录,并且模型文件目录可以新建目录名文件夹,并且以文件存储标识来作为文件夹目录名。
可以理解的是,算法工程师根据采样数据,基于TensorFlow平台训练出目标模型,并根据约定好的配置文件格式,将包含模型配置信息的模型配置文件和配置描述信息记录文件打包。具体的,训练出的模型保存为一个pb文件(也即saved_model.pb)和一个变量文件夹(variables),目标模型包在模型文件目录下,包含模型配置信息的文件config.json。
进一步的,运维将算法工程师提供的目标模型包,由模型管理平台的WEB页面导入到系统。具体的,目标模型的文件压缩包导入模型管理平台,模型管理平台会解压目标模型压缩包,并校验其目录结构是否满足预设的结构要求、以及配置描述信息中必须属性是否不为空,若满足,则说明文件压缩包的解压内容通过验证。
相应的,模型管理平台提取目标模型的基本信息以及配置信息入库,并利用数据库表自增主键生成该条模型记录的唯一标识KEY,在TensorFlow服务配置的可识别目录下,新建以KEY为目录名文件夹,目标模型的类型TYPE为子目录,存储目标模型文件,如配置的Tensorflow模型文件目录为models,存储模型文件的目录为/models/KEY/TYPE。
这样设置的好处在于:通过在TensorFlow服务的识别目录下,新建以文件存储标识为目录名文件夹,以目标模型的类型为子目录的模型文件目录。这样可以更加清楚明确地在模型管理平台构建目标模型的相关的模型文件目录,可以更加准确快速地进行查找。
S130、通过模型列表页面接收对目标模型的启用指令,从数据库中获取目标模型的配置描述信息,并根据配置描述信息,生成目标模型的启用配置项。
其中,模型列表页面中展示的模型列表与数据库中所存储的模型相匹配。
其中,模型列表页面可以是在模型管理平台上能够展示目标模型的页面。启用指令可以是能够使用目标模型的指令。启用指令可以是在模型管理平台对模型进行启用的指令。启用配置项可以是根据数据库的反馈配置描述信息,需要对目标模型进行配置的内容。
可选的,通过模型列表页面接收对目标模型的启用指令,从数据库中获取目标模型的配置描述信息,并根据配置描述信息,生成目标模型的启用配置项,包括:通过模型列表页面接收对目标模型的启用指令,并根据启动指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;在所述配置描述信息中提取所述目标模型的类型,并根据所述目标模型的文件存储标识和类型,构建与所述目标模型对应的唯一名称以及存储路径;将所述唯一名称以及存储路径填充于预设的启用配置项生成模板中,生成目标模型的启用配置项。
其中,启用配置项生成模板可以是进行启用配置项配置所使用的模板。
示例性的,在模型管理平台上可以查看目标模型的基本信息和详细的配置描述信息,比如训练的次数、标准化参数等值,通过这些值,可以了解模型训练的场景,有助于分析模型的优劣。
模型管理平台可以发送TensorFlow服务上线该模型请求。模型管理平台可以自动将目标模型的配置描述信息写入到TensorFlow服务的配置描述信息记录文件models.config。
接着,通过模型列表页面接收对目标模型的启用指令,并根据启动指令中包括的目标模型的文件存储标识,也即KEY,从数据库中获取目标模型的配置描述信息;在配置描述信息中提取目标模型的类型,也即TYPE,并根据目标模型的文件存储标识和类型,构建与目标模型对应的唯一名称以及存储路径;将唯一名称以及存储路径填充于预设的启用配置项生成模板中,生成目标模型的启用配置项。具体的,假设预设的启用配置项生成模板为:config:{name:,base_path:,model_platform:"TensorFlow"}。因此,可以约定目标模型在models.config中唯一名称为"模型类型_KEY",即TYPE_KEY,所以models.config要求的启用配置项的信息格式:config:{name:"TYPE_KEY",base_path:"/models/KEY/TYPE",model_platform:"TensorFlow"}。
这样设置的好处在于:通过从配置描述信息中提取目标模型的类型,并根据目标模型的文件存储标识和类型,构建与目标模型对应的唯一名称以及存储路径,并生成目标模型的启用配置项。这样可以每个目标模型都能生成对应的启用配置项,从而能够更加准确地在模型管理平台上来上线目标模型,通过目标模型的类型和文件存储标识来确定唯一名称和存储路径,从而能够减轻工作人员的工作难度。
S140、在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项,以在模型管理平台中上线目标模型。
其中,模型配置文件可以是关于目标模型的配置进行描述的信息文件。模型管理平台可以是能够管理多个目标模型的平台,具体的,可以管理目标模型的描述管理信息、模型配置文件等信息的平台。
续前例,在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项,也就是增加,config:{name:"TYPE_KEY",base_path:"/models/KEY/TYPE",model_platform:"TensorFlow"}至模型管理平台中,这样就可以实现在模型管理平台中上线目标模型。
另外的,在模型管理平台上访问已启动的目标模型。TensorFlow服务自带Restful和GRPC接口服务,可通过Restful API接口和GRPC接口形式在模型管理平台上访问已启用的目标模型。
两种方式都需要先明确模型的名称、输入、输出。模型的名称,可通过模型列表页面查看,确定模型名称后,可通过TensorFlow自身的元数据查看接口url:http://${url}:${port}/v1/models/${MODEL_NAME}/metadata,获得对应目标模型的输入和输出,按输入的格式,组装入参,通过Restful API或者GRPC的通信协议访问模型接口,获得目标模型运行返回数据后,根据输出格式,解析返回数据。
如图1b所示,为对目标模型进行启用的结构示意图,通过模型列表页面(WEB页面)接收对目标模型的启用指令,并通过启用模型接口到数据库接口进行目标模型配置描述信息的查询,数据库将模型配置信息返回给模型管理平台。模型管理平台根据配置描述信息,生成目标模型的启用配置项,可以具体包括模型名称和存储路径的获取,并将其配置于配置描述信息记录文件models.config。进一步的,在TensorFlow服务的模型配置文件中,增加并更新目标模型的启用配置项,以在模型管理平台中上线目标模型。
可选的,在将目标模型的配置描述信息存储至数据库之后,还包括:通过模型列表页面接收对目标模型的详情查看指令,并根据详情查看指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;将所述目标模型的配置描述信息反馈至模型列表页面进行用户展示。
其中,详情查看指令可以是描述查看当前模型详细信息的指令。具体的,可以通过向模型管理平台发送详情查看指令,其中在详情查看指令中包括文件存储标识,可以在相应的数据库通过文件存储标识进行查找并反馈给用户。
在模型管理平台上,用户可以查看目标模型详细的配置描述信息,比如训练的次数、标准化参数等值。用户通过接收到目标模型的相关参数值,可以更加准确地了解模型训练的场景,有助于分析模型的优劣。
本发明实施例的技术方案,通过模型导入页面接收目标模型的文件压缩包,并在确定解压内容通过验证后,将配置描述信息存储至数据库;根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将解压文件夹存储于模型文件目录下;通过模型列表页面接收启用指令,从数据库中获取配置描述信息,生成启用配置项;增加启用配置项,以在模型管理平台中上线目标模型。本发明的技术方案解决了因新增或者更新机器学习模型而导致的修改操作复杂、不能够可视化以及数据不能同步和共享的问题,实现了机器学习模型自动化导入及上线的操作,减轻了开发人员的工作难度,实现了在不同集群服务器上数据的同步和共享。
实施例二
图2a为本发明实施例二提供的另一种TensorFlow模型的管理方法的流程图,本实施例以上述各实施例为基础进行细化,在本实施例中,将在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动的操作进行进一步细化。如图2a所示,该方法包括:
S210、通过模型导入页面接收目标模型的文件压缩包,并在确定文件压缩包的解压内容通过验证后,将目标模型的配置描述信息存储至数据库。
S220、根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将与文件压缩包对应的解压文件夹存储于模型文件目录下。
S230、通过模型列表页面接收对目标模型的启用指令,从数据库中获取目标模型的配置描述信息,并根据配置描述信息,生成目标模型的启用配置项。
S240、在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项,以在模型管理平台中上线目标模型。
S250、通过模型列表页面接收对目标模型的停用指令,并根据停用指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息。
其中,停用指令可以是在模型管理平台对模型进行停用的指令。
S260、在所述配置描述信息中提取所述目标模型的类型,并根据所述目标模型的文件存储标识和类型,构建与所述目标模型对应的唯一名称。
S270、在TensorFlow服务的模型配置文件中,删除与所述唯一名称匹配的启用配置项,以在模型管理平台中下线目标模型。
示例性的,在模型管理平台上,当接收到目标模型的停用指令之后,可以获得目标模型的文件存储标识KEY和配置描述信息。进一步的,可以得到目标模型的类型TYPE,并构建唯一的名称TYPE_KEY。
相应的,可以发送TensorFlow服务下线该目标模型的请求,模型管理平台会根据约定的唯一目标模型名,即TYPE_KEY,会删除模型配置文件models.config中以”TYPE_KEY”为模型名的启用配置项模块,TensorFlow服务自动刷新操作触发后,会在模型管理平台上,下线以TYPE_KEY为名称的目标模型。
可选的,在TensorFlow服务的模型配置文件中,删除与所述唯一名称匹配的启用配置项之后,还包括:通过模型列表页面接收对目标模型的删除指令,并根据停用指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;在所述配置描述信息中提取所述目标模型的类型,并根据所述目标模型的文件存储标识和类型,确定所述目标模型在TensorFlow服务的识别目录下的模型文件目录;删除所述模型文件目录,并在所述数据库中删除目标模型的配置描述信息,以在模型管理平台中删除目标模型。
其中,删除指令可以是在模型管理平台对模型进行删除的指令。
可以理解的是,只有模型的状态为未启用的状态时,才可以从模型管理平台将模型进行删除操作,能够实现对非必要的模型在模型管理平台上进行删除。进一步的,在模型管理平台上,对目标模型的相关模型文件目录进行删除,并且也需要删除掉数据库中的相关描述配置信息,才可以实现对目标模型的删除。
如图2b所示,为对目标模型进行删除的结构示意图,通过模型列表页面(WEB页面)接收对目标模型的删除指令,并通过删除模型接口到数据库接口进行目标模型配置描述信息的查询,数据库将模型配置描述信息返回给模型管理平台。模型管理平台根据配置描述信息,确定目标模型在TensorFlow服务的识别目录下的模型文件目录;删除模型文件目录,并在数据库中删除目标模型的配置描述信息。进一步的,在确定删除完成目标模型的配置描述信息之后,需要根据模型存储路径删除文件夹,以在模型管理平台中删除目标模型。
示例性的,在模型管理平台上,当接收到目标模型的删除指令之后,可以获得目标模型的文件存储标识KEY和配置描述信息。进一步的,可以得到目标模型的类型TYPE,确定目标模型在TensorFlow服务的识别目录下的模型文件目录,也即KEY命名的目录名文件夹这个目录。
相应的,可以发送TensorFlow服务删除该目标模型的请求,模型管理平台会根据存储的父级目录路径,也即/models/KEY,来删除KEY这一层目录,并且删除该目标模型在数据库中的记录,来实现删除目标模型。
本发明实施例的技术方案,通过模型导入页面接收目标模型的文件压缩包,并在确定解压内容通过验证后,将配置描述信息存储至数据库;根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将解压文件夹存储于模型文件目录下;通过模型列表页面接收启用指令,从数据库中获取配置描述信息,生成启用配置项;增加启用配置项,以在模型管理平台中上线目标模型;通过模型列表页面接收对目标模型的停用指令,并根据停用指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;在所述配置描述信息中提取所述目标模型的类型,并根据所述目标模型的文件存储标识和类型,构建与所述目标模型对应的唯一名称;在TensorFlow服务的模型配置文件中,删除与所述唯一名称匹配的启用配置项,以在模型管理平台中下线目标模型。实现了机器学习模型自动化停用和删除的操作,从而可以简化模型操作步骤,减轻了开发人员的工作难度。
实施例三
图3为本发明实施例三提供的一种TensorFlow模型的管理装置的结构示意图。本实施例所提供的一种TensorFlow模型的管理装置可以通过软件和/或硬件来实现,可配置于服务器或者终端设备中来实现本发明实施例中的一种TensorFlow模型的管理方法。如图3所示,该装置包括:配置描述信息存储模块310、解压文件夹存储模块320、启用配置项生成模块330和启用配置项增加模块340。
其中,配置描述信息存储模块310,用于通过模型导入页面接收目标模型的文件压缩包,并在确定文件压缩包的解压内容通过验证后,将目标模型的配置描述信息存储至数据库;
解压文件夹存储模块320,用于根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将与文件压缩包对应的解压文件夹存储于模型文件目录下;
启用配置项生成模块330,用于通过模型列表页面接收对目标模型的启用指令,从数据库中获取目标模型的配置描述信息,并根据配置描述信息,生成目标模型的启用配置项;模型列表页面中展示的模型列表与数据库中所存储的模型相匹配;
启用配置项增加模块340,用于在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项,以在模型管理平台中上线目标模型。
本发明实施例的技术方案,通过模型导入页面接收目标模型的文件压缩包,并在确定解压内容通过验证后,将配置描述信息存储至数据库;根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将解压文件夹存储于模型文件目录下;通过模型列表页面接收启用指令,从数据库中获取配置描述信息,生成启用配置项;增加启用配置项,以在模型管理平台中上线目标模型。本发明的技术方案解决了因新增或者更新机器学习模型而导致的修改操作复杂、不能够可视化以及数据不能同步和共享的问题,实现了机器学习模型自动化导入及上线的操作,减轻了开发人员的工作难度,实现了在不同集群服务器上数据的同步和共享。
可选的,配置描述信息存储模块310,具体用于:对文件压缩包进行解压处理,得到与文件压缩包对应的解压文件夹;解析所述解压文件夹的目录结构,并读取解压文件夹中的配置描述信息记录文件;如果确定所述目录结构满足预设的结构要求,且配置描述信息记录文件中包含模型必备属性的属性值,则确定文件压缩包的解压内容通过验证;将所述配置描述信息记录文件中记录的目标模型的配置描述信息存储至数据库。
可选的,解压文件夹存储模块320,具体用于:在所述TensorFlow服务的识别目录下,新建以文件存储标识为目录名文件夹,以目标模型的类型为子目录的模型文件目录。
可选的,启用配置项生成模块330,具体用于:通过模型列表页面接收对目标模型的启用指令,并根据启动指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;在所述配置描述信息中提取所述目标模型的类型,并根据所述目标模型的文件存储标识和类型,构建与所述目标模型对应的唯一名称以及存储路径;将所述唯一名称以及存储路径填充于预设的启用配置项生成模板中,生成目标模型的启用配置项。
可选的,还包括,配置描述信息反馈模块,具体用于:在将目标模型的配置描述信息存储至数据库之后,通过模型列表页面接收对目标模型的详情查看指令,并根据详情查看指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;将所述目标模型的配置描述信息反馈至模型列表页面进行用户展示。
可选的,还包括,启用配置项删除模块,在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项之后,具体包括:
配置描述信息获取单元,用于通过模型列表页面接收对目标模型的停用指令,并根据停用指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;
唯一名称构建单元,用于在所述配置描述信息中提取所述目标模型的类型,并根据所述目标模型的文件存储标识和类型,构建与所述目标模型对应的唯一名称;
启用配置项删除单元,用于在TensorFlow服务的模型配置文件中,删除与所述唯一名称匹配的启用配置项,以在模型管理平台中下线目标模型。
可选的,还包括,配置描述信息删除单元,在TensorFlow服务的模型配置文件中,删除与所述唯一名称匹配的启用配置项之后,具体用于:通过模型列表页面接收对目标模型的删除指令,并根据删除指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;在所述配置描述信息中提取所述目标模型的类型,并根据所述目标模型的文件存储标识和类型,确定所述目标模型在TensorFlow服务的识别目录下的模型文件目录;删除所述模型文件目录,并在所述数据库中删除目标模型的配置描述信息,以在模型管理平台中删除目标模型。
本发明实施例所提供的TensorFlow模型的管理装置可执行本发明任意实施例所提供的TensorFlow模型的管理方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四提供的一种模型管理平台的结构示意图。所述模型管理平台410中包括Kubernetes集群420,所述Kubernetes集群420中的多个Kubernetes节点430分别部署TensorFlow服务容器440;各TensorFlow服务容器440具有预设的刷新时间;各TensorFlow服务容器440分别挂载预先创建的共享存储卷;
其中,各TensorFlow服务容器440用于执行本发明中任一项所述的TensorFlow模型的管理方法,该方法包括:通过模型导入页面接收目标模型的文件压缩包,并在确定文件压缩包的解压内容通过验证后,将目标模型的配置描述信息存储至数据库;根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将与文件压缩包对应的解压文件夹存储于模型文件目录下;通过模型列表页面接收对目标模型的启用指令,从数据库中获取目标模型的配置描述信息,并根据配置描述信息,生成目标模型的启用配置项;模型列表页面中展示的模型列表与数据库中所存储的模型相匹配;在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项,以在模型管理平台中上线目标模型。
另外的,分布式存储一般都是使用的NFS这类型的分布式文件管理系统,具体的,可以在各TensorFlow服务容器分别挂载预先创建的NFS格式的共享存储卷,这里不做限定。
进一步的,在多个Kubernetes节点430中,可以进一步部署模型维护服务容器(图中未示出),实现对数据库中存储的各模型的组织和管理。相应的,同样可以将该上述模型维护服务容器挂载共享存储卷,以进一步扩充模型管理平台的功能。
本发明实施例的技术方案,通过模型导入页面接收目标模型的文件压缩包,并在确定解压内容通过验证后,将配置描述信息存储至数据库;根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将解压文件夹存储于模型文件目录下;通过模型列表页面接收启用指令,从数据库中获取配置描述信息,生成启用配置项;增加启用配置项,以在模型管理平台中上线目标模型。本发明的技术方案解决了因新增或者更新机器学习模型而导致的修改操作复杂、不能够可视化以及数据不能同步和共享的问题,实现了机器学习模型自动化上下线以及删除的操作,减轻了开发人员的工作难度,实现了在不同集群服务器上数据的同步和共享。
实施例五
本发明实施例五还提供一种包含计算机可读存储介质,所述计算机可读指令在由计算机处理器执行时用于执行一种TensorFlow模型的管理方法,该方法包括:通过模型导入页面接收目标模型的文件压缩包,并在确定文件压缩包的解压内容通过验证后,将目标模型的配置描述信息存储至数据库;根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将与文件压缩包对应的解压文件夹存储于模型文件目录下;通过模型列表页面接收对目标模型的启用指令,从数据库中获取目标模型的配置描述信息,并根据配置描述信息,生成目标模型的启用配置项;模型列表页面中展示的模型列表与数据库中所存储的模型相匹配;在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项,以在模型管理平台中上线目标模型。
当然,本发明实施例所提供的一种包含计算机可读存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的TensorFlow模型的管理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述TensorFlow模型的管理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种TensorFlow模型的管理方法,由模型管理平台执行,其特征在于,包括:
通过模型导入页面接收目标模型的文件压缩包,并在确定文件压缩包的解压内容通过验证后,将目标模型的配置描述信息存储至数据库;
根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将与文件压缩包对应的解压文件夹存储于模型文件目录下;
通过模型列表页面接收对目标模型的启用指令,从数据库中获取目标模型的配置描述信息,并根据配置描述信息,生成目标模型的启用配置项;模型列表页面中展示的模型列表与数据库中所存储的模型相匹配;
在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项,以在模型管理平台中上线目标模型。
2.根据权利要求1所述的方法,其特征在于,在确定文件压缩包的解压内容通过验证后,将目标模型的配置描述信息存储至数据库,包括:
对文件压缩包进行解压处理,得到与文件压缩包对应的解压文件夹;
解析所述解压文件夹的目录结构,并读取解压文件夹中的配置描述信息记录文件;
如果确定所述目录结构满足预设的结构要求,且配置描述信息记录文件中包含模型必备属性的属性值,则确定文件压缩包的解压内容通过验证;
将所述配置描述信息记录文件中记录的目标模型的配置描述信息存储至数据库。
3.根据权利要求1所述的方法,其特征在于,根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,包括:
在所述TensorFlow服务的识别目录下,新建以文件存储标识为目录名文件夹,以目标模型的类型为子目录的模型文件目录。
4.根据权利要求3所述的方法,其特征在于,通过模型列表页面接收对目标模型的启用指令,从数据库中获取目标模型的配置描述信息,并根据配置描述信息,生成目标模型的启用配置项,包括:
通过模型列表页面接收对目标模型的启用指令,并根据启动指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;
在所述配置描述信息中提取所述目标模型的类型,并根据所述目标模型的文件存储标识和类型,构建与所述目标模型对应的唯一名称以及存储路径;
将所述唯一名称以及存储路径填充于预设的启用配置项生成模板中,生成目标模型的启用配置项。
5.根据权利要求1所述的方法,其特征在于,在将目标模型的配置描述信息存储至数据库之后,还包括:
通过模型列表页面接收对目标模型的详情查看指令,并根据详情查看指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;
将所述目标模型的配置描述信息反馈至模型列表页面进行用户展示。
6.根据权利要求1所述的方法,其特征在于,在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项之后,还包括:
通过模型列表页面接收对目标模型的停用指令,并根据停用指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;
在所述配置描述信息中提取所述目标模型的类型,并根据所述目标模型的文件存储标识和类型,构建与所述目标模型对应的唯一名称;
在TensorFlow服务的模型配置文件中,删除与所述唯一名称匹配的启用配置项,以在模型管理平台中下线目标模型。
7.根据权利要求6所述的方法,其特征在于,在TensorFlow服务的模型配置文件中,删除与所述唯一名称匹配的启用配置项之后,还包括:
通过模型列表页面接收对目标模型的删除指令,并根据删除指令中包括的所述目标模型的文件存储标识,从数据库中获取目标模型的配置描述信息;
在所述配置描述信息中提取所述目标模型的类型,并根据所述目标模型的文件存储标识和类型,确定所述目标模型在TensorFlow服务的识别目录下的模型文件目录;
删除所述模型文件目录,并在所述数据库中删除目标模型的配置描述信息,以在模型管理平台中删除目标模型。
8.一种TensorFlow模型的管理装置,其特征在于,包括:
配置描述信息存储模块,用于通过模型导入页面接收目标模型的文件压缩包,并在确定文件压缩包的解压内容通过验证后,将目标模型的配置描述信息存储至数据库;
解压文件夹存储模块,用于根据数据库针对目标模型返回的文件存储标识,在TensorFlow服务的识别目录下建立模型文件目录,并将与文件压缩包对应的解压文件夹存储于模型文件目录下;
启用配置项生成模块,用于通过模型列表页面接收对目标模型的启用指令,从数据库中获取目标模型的配置描述信息,并根据配置描述信息,生成目标模型的启用配置项;模型列表页面中展示的模型列表与数据库中所存储的模型相匹配;
启用配置项增加模块,用于在TensorFlow服务的模型配置文件中,增加目标模型的启用配置项,以在模型管理平台中上线目标模型。
9.一种模型管理平台,其特征在于,包括:Kubernetes集群,所述Kubernetes集群中的多个Kubernetes节点分别部署TensorFlow服务容器;各TensorFlow服务容器具有预设的刷新时间;各TensorFlow服务容器分别挂载预先创建的共享存储卷;
其中,各TensorFlow服务容器用于执行如权利要求1-7任一项所述的TensorFlow模型的管理方法。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的TensorFlow模型的管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211015154.9A CN115293365A (zh) | 2022-08-23 | 2022-08-23 | 机器学习模型的管理方法、装置、管理平台和存储介质 |
PCT/CN2023/093188 WO2024041035A1 (zh) | 2022-08-23 | 2023-05-10 | 机器学习模型的管理方法、装置、管理平台和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211015154.9A CN115293365A (zh) | 2022-08-23 | 2022-08-23 | 机器学习模型的管理方法、装置、管理平台和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115293365A true CN115293365A (zh) | 2022-11-04 |
Family
ID=83831710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211015154.9A Pending CN115293365A (zh) | 2022-08-23 | 2022-08-23 | 机器学习模型的管理方法、装置、管理平台和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115293365A (zh) |
WO (1) | WO2024041035A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024041035A1 (zh) * | 2022-08-23 | 2024-02-29 | 网络通信与安全紫金山实验室 | 机器学习模型的管理方法、装置、管理平台和存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083334B (zh) * | 2018-01-25 | 2023-06-20 | 百融至信(北京)科技有限公司 | 模型上线的方法及装置 |
CN108491549B (zh) * | 2018-04-09 | 2022-02-01 | 深圳市茁壮网络股份有限公司 | 一种分布式存储系统中文件目录的创建方法及装置 |
CN109254992B (zh) * | 2018-10-12 | 2020-11-20 | 京东数字科技控股有限公司 | 项目生成方法及系统、计算机系统和计算机可读存储介质 |
CN109508238A (zh) * | 2019-01-05 | 2019-03-22 | 咪付(广西)网络技术有限公司 | 一种用于深度学习的资源管理系统及方法 |
CN110569085A (zh) * | 2019-08-15 | 2019-12-13 | 上海易点时空网络有限公司 | 配置文件加载方法及系统 |
CN112015519A (zh) * | 2020-08-28 | 2020-12-01 | 江苏银承网络科技股份有限公司 | 模型线上部署方法及装置 |
CN114385192A (zh) * | 2022-01-18 | 2022-04-22 | 北京字节跳动网络技术有限公司 | 一种应用部署方法、装置、计算机设备和存储介质 |
CN114721674A (zh) * | 2022-04-26 | 2022-07-08 | 上海浦东发展银行股份有限公司 | 一种模型部署方法、装置、设备及存储介质 |
CN115293365A (zh) * | 2022-08-23 | 2022-11-04 | 网络通信与安全紫金山实验室 | 机器学习模型的管理方法、装置、管理平台和存储介质 |
-
2022
- 2022-08-23 CN CN202211015154.9A patent/CN115293365A/zh active Pending
-
2023
- 2023-05-10 WO PCT/CN2023/093188 patent/WO2024041035A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024041035A1 (zh) * | 2022-08-23 | 2024-02-29 | 网络通信与安全紫金山实验室 | 机器学习模型的管理方法、装置、管理平台和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024041035A1 (zh) | 2024-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3408745B1 (en) | Automatically updating a hybrid application | |
CN107797767B (zh) | 一种基于容器技术部署分布式存储系统及其存储方法 | |
CN110347651A (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
CN110784498B (zh) | 一种个性化数据容灾方法及装置 | |
CN108540351B (zh) | 分布式大数据服务的自动化测试方法 | |
CN105608228B (zh) | 一种高效的分布式的rdf数据存储方法 | |
CN112114849B (zh) | 一种资源更新方法和装置 | |
CN115293365A (zh) | 机器学习模型的管理方法、装置、管理平台和存储介质 | |
CN117271460B (zh) | 基于科研数字对象语用关系的科研数联网服务方法与系统 | |
CN106603610B (zh) | 一种数据获取以及同步方法、装置 | |
CN102724301B (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
CN111274004B (zh) | 进程实例管理方法、装置及计算机存储介质 | |
CN113032356A (zh) | 一种客舱分布式文件存储系统及实现方法 | |
CN112035466A (zh) | 一种区块链查询外置索引开发框架 | |
CN107547607B (zh) | 一种集群迁移方法及装置 | |
CN111147226A (zh) | 数据存储方法、装置及存储介质 | |
CN114996236A (zh) | 融合存储系统的数据处理方法、装置、设备及存储介质 | |
CN110007937B (zh) | 一种系统更新的方法和系统 | |
JPWO2016067370A1 (ja) | 情報処理装置、方法およびプログラム | |
CN111813533B (zh) | 模型实例化的动态管理方法和装置及存储介质 | |
CN117971774B (zh) | 文件集恢复方法、装置、计算机设备、介质及程序产品 | |
CN117176743B (zh) | 数据处理方法、装置、设备、可读存储介质及程序产品 | |
CN109167826A (zh) | Web应用的上架方法、装置及系统 | |
CN113595829B (zh) | 压力测试方法、装置、电子设备及存储介质 | |
CN116991815B (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 |