CN112579149A - 模型训练程序镜像的生成方法、装置、设备及存储介质 - Google Patents

模型训练程序镜像的生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112579149A
CN112579149A CN202011553757.5A CN202011553757A CN112579149A CN 112579149 A CN112579149 A CN 112579149A CN 202011553757 A CN202011553757 A CN 202011553757A CN 112579149 A CN112579149 A CN 112579149A
Authority
CN
China
Prior art keywords
model training
training program
file
files
generating
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.)
Granted
Application number
CN202011553757.5A
Other languages
English (en)
Other versions
CN112579149B (zh
Inventor
赵庆
郭朕
张宇
罗伟锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
4Paradigm Beijing Technology Co Ltd
Original Assignee
4Paradigm Beijing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 4Paradigm Beijing Technology Co Ltd filed Critical 4Paradigm Beijing Technology Co Ltd
Priority to CN202011553757.5A priority Critical patent/CN112579149B/zh
Publication of CN112579149A publication Critical patent/CN112579149A/zh
Priority to PCT/CN2021/141366 priority patent/WO2022135592A1/zh
Application granted granted Critical
Publication of CN112579149B publication Critical patent/CN112579149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本公开实施例涉及一种模型训练程序镜像的生成方法、装置、设备及存储介质。本公开至少一个实施例中,获取模型训练程序文件、数据集和模型训练程序的配置信息,基于模型训练程序文件和数据集生成不同的层文件,并基于配置信息生成配置文件,进而可生成用于描述这些层文件和配置文件的描述文件,从而将生成层文件、配置文件和描述文件生成为模型训练程序镜像,实现了模型训练程序的统一打包格式规范,便于模型训练程序在各个机器学习平台进行迁移、训练、使用等。

Description

模型训练程序镜像的生成方法、装置、设备及存储介质
技术领域
本公开实施例涉及机器学习技术领域,具体涉及一种模型训练程序镜像的生成方法、装置、设备及存储介质。
背景技术
机器学***台,每个平台有各自的模型训练程序的定义规范。
因为缺乏统一的格式规范,模型训练程序很难迁移到不同的机器学习平台上。同时缺乏有效的模型训练程序打包和分发机制,从而也不能将模型训练程序共享出来供其他开发者使用。另外,各个模型训练程序缺乏有效的方式同时解决注明标签、使用说明文档、程序依赖、存储分发共享等问题。
上述对问题的发现过程的描述,仅用于辅助理解本公开的技术方案,并不代表承认上述内容是现有技术。
发明内容
为了解决现有技术存在的至少一个问题,本公开的至少一个实施例提供了一种模型训练程序镜像的生成方法、装置、设备及存储介质。
第一方面,本公开实施例提出一种模型训练程序镜像的生成方法,包括:
获取模型训练程序文件、数据集和模型训练程序的配置信息;
基于所述模型训练程序文件生成一个或多个第一层文件;
基于所述数据集生成一个或多个第二层文件;
基于所述模型训练程序的配置信息生成配置文件;
生成描述文件,所述描述文件中包括:所述配置文件的描述信息、所述一个或多个第一层文件的描述信息和所述一个或多个第二层文件的描述信息;
生成模型训练程序镜像,所述模型训练程序镜像中包括所述描述文件、所述配置文件、所述一个或多个第一层文件和所述一个或多个第二层文件。
在一些实施例中,所述模型训练程序文件为模型训练程序的可执行文件;
所述基于所述模型训练程序文件生成一个或多个第一层文件包括:基于所述可执行文件生成一个第一层文件。
在一些实施例中,所述模型训练程序文件为模型训练程序的源代码文件和依赖文件;其中,所述依赖文件包括:所述模型训练程序在训练过程中所依赖的一个或多个文件;
所述基于所述模型训练程序文件生成一个或多个第一层文件包括:基于所述源代码文件生成一个第一层文件;基于所述依赖文件生成一个或多个第一层文件。
在一些实施例中,所述数据集中包括测试数据和/或训练数据;
所述基于所述数据集生成一个或多个第二层文件包括:针对所述测试数据生成一个或多个第二层文件;针对所述训练数据生成一个或多个第二层文件。
在一些实施例中,所述模型训练程序的配置信息包括:场景、参数定义和调用方法;所述配置文件包括多个字段;
所述基于所述模型训练程序的配置信息生成配置文件包括:
将所述场景写入所述多个字段中的一个字段;
将所述参数定义和所述调用方法写入所述多个字段中的相同字段或不同字段。
在一些实施例中,所述模型训练程序的配置信息还包括:模型训练程序所属项目的信息和所属项目在源代码管理仓库中的地址;
所述基于所述模型训练程序的配置信息生成配置文件还包括:
将所述模型训练程序所属项目的信息和所属项目在源代码管理仓库中的地址写入所述多个字段中的相同字段或不同字段。
在一些实施例中,所述模型训练程序的配置信息还包括:模型训练程序使用说明的文本信息;
所述基于所述模型训练程序的配置信息生成配置文件还包括:
将所述文本信息写入所述多个字段中的一个字段。
在一些实施例中,所述方法还包括:
获取模型训练程序使用说明的文件;
基于所述模型训练程序使用说明的文件生成一个或多个第三层文件;
相应地,所述描述文件中还包括:所述一个或多个第三层文件的描述信息;所述模型训练程序镜像中还包括所述一个或多个第三层文件。
在一些实施例中,所述生成模型训练程序镜像包括:
基于容器镜像标准,将所述描述文件、所述配置文件、所述一个或多个第一层文件和所述一个或多个第二层文件打包为模型训练程序镜像。
在一些实施例中,所述模型训练程序的配置信息定义在所述模型训练程序文件中;
相应地,获取所述模型训练程序的配置信息包括:解析所述模型训练程序文件,得到所述模型训练程序的配置信息。
第二方面,本公开实施例还提出一种模型训练程序镜像的生成装置,包括:
获取单元,用于获取模型训练程序文件、数据集和模型训练程序的配置信息;
文件生成单元,用于基于所述模型训练程序文件生成一个或多个第一层文件;基于所述数据集生成一个或多个第二层文件;基于所述模型训练程序的配置信息生成配置文件;生成描述文件,所述描述文件中包括:所述配置文件的描述信息、所述一个或多个第一层文件的描述信息和所述一个或多个第二层文件的描述信息;
镜像生成单元,用于生成模型训练程序镜像,所述模型训练程序镜像中包括所述描述文件、所述配置文件、所述一个或多个第一层文件和所述一个或多个第二层文件。
在一些实施例中,所述模型训练程序文件为模型训练程序的可执行文件;
所述文件生成单元基于所述模型训练程序文件生成一个或多个第一层文件包括:基于所述可执行文件生成一个第一层文件。
在一些实施例中,所述模型训练程序文件为模型训练程序的源代码文件和依赖文件;其中,所述依赖文件包括:所述模型训练程序在训练过程中所依赖的一个或多个文件;
所述文件生成单元基于所述模型训练程序文件生成一个或多个第一层文件包括:基于所述源代码文件生成一个第一层文件;基于所述依赖文件生成一个或多个第一层文件。
在一些实施例中,所述数据集中包括测试数据和/或训练数据;
所述文件生成单元基于所述数据集生成一个或多个第二层文件包括:针对所述测试数据生成一个或多个第二层文件;针对所述训练数据生成一个或多个第二层文件。
在一些实施例中,所述模型训练程序的配置信息包括:场景、参数定义和调用装置;所述配置文件包括多个字段;
所述文件生成单元基于所述模型训练程序的配置信息生成配置文件包括:
将所述场景写入所述多个字段中的一个字段;
将所述参数定义和所述调用装置写入所述多个字段中的相同字段或不同字段。
在一些实施例中,所述模型训练程序的配置信息还包括:模型训练程序所属项目的信息和所属项目在源代码管理仓库中的地址;
所述文件生成单元基于所述模型训练程序的配置信息生成配置文件还包括:将所述模型训练程序所属项目的信息和所属项目在源代码管理仓库中的地址写入所述多个字段中的相同字段或不同字段。
在一些实施例中,所述模型训练程序的配置信息还包括:模型训练程序使用说明的文本信息;
所述文件生成单元基于所述模型训练程序的配置信息生成配置文件还包括:将所述文本信息写入所述多个字段中的一个字段。
在一些实施例中,所述获取单元还用于获取模型训练程序使用说明的文件;所述文件生成单元还用于基于所述模型训练程序使用说明的文件生成一个或多个第三层文件;
相应地,所述描述文件中还包括:所述一个或多个第三层文件的描述信息;所述模型训练程序镜像中还包括所述一个或多个第三层文件。
在一些实施例中,所述镜像生成单元用于:
基于容器镜像标准,将所述描述文件、所述配置文件、所述一个或多个第一层文件和所述一个或多个第二层文件打包为模型训练程序镜像。
在一些实施例中,所述模型训练程序的配置信息定义在所述模型训练程序文件中;
相应地,所述获取单元获取所述模型训练程序的配置信息包括:解析所述模型训练程序文件,得到所述模型训练程序的配置信息。
第三方面,本公开实施例还提出一种电子设备,包括:处理器和存储器;所述处理器通过调用所述存储器存储的程序或指令,用于执行如第一方面任一实施例所述方法的步骤。
第四方面,本公开实施例还提出一种非暂态计算机可读存储介质,用于存储程序或指令,所述程序或指令使计算机执行如第一方面任一实施例所述方法的步骤。
可见,本公开的至少一个实施例中,通过基于模型训练程序文件和数据集生成不同的层文件,并基于配置信息生成配置文件,进而可生成用于描述这些层文件和配置文件的描述文件,从而将生成层文件、配置文件和描述文件生成为模型训练程序镜像,实现了模型训练程序的统一打包格式规范,便于模型训练程序在各个机器学习平台进行迁移、训练、使用等。
另外,本公开的至少一个实施例中,模型训练程序镜像通过扩展开放容器标准(Open Container Initiative,OCI)实现将模型训练程序打包成镜像,便能同时解决掉打包格式统一、程序依赖、使用说明、标签等问题。此外,借助于大量存在的OCI镜像存储设施完成模型训练程序的分发和共享,解决目前难以分发和共享模型训练程序的问题。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种模型训练程序镜像的生成方法的示例性流程图;
图2是本公开实施例提供的一种模型训练程序镜像的生成装置的示例性框图;
图3是本公开实施例提供的一种电子设备的示例性框图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。基于所描述的本公开的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
针对目前对模型训练程序缺乏统一的格式规范,模型训练程序很难迁移到不同的机器学***台进行迁移、训练、使用等。
另外,针对目前缺乏有效的模型训练程序打包和分发机制,无法将模型训练程序共享出来供其他开发者使用的问题,以及目前各个模型训练程序缺乏有效的方式同时解决注明标签、使用说明文档、程序依赖、存储分发共享等问题,本公开实施例中模型训练程序镜像通过扩展开放容器标准(Open Container Initiative,OCI)实现将模型训练程序打包成镜像,便能同时解决掉打包格式统一、程序依赖、使用说明、标签等问题。此外,借助于大量存在的OCI镜像存储设施完成模型训练程序的分发和共享,解决目前难以分发和共享模型训练程序的问题。
图1为本公开实施例提供的一种模型训练程序镜像的生成方法的示例性流程图。该方法的执行主体为电子设备,电子设备可以理解为机器学***台无关的设备。在一些实施例中,电子设备可以为智能手机、平板电脑,笔记本电脑等移动设备,也可以为个人台式计算机、服务器等固定设备,其中,服务器可以为单个服务器,也可以为服务器群组,服务器群组可以是集中式的,也可以是分布式的。为便于描述,以下实施例中以电子设备为执行主体说明模型训练程序镜像的生成方法的流程。
在步骤101中,电子设备获取模型训练程序文件、数据集和模型训练程序的配置信息。其中,数据集可包括用于训练模型的训练数据和用于测试模型的测试数据。具体地,模型训练程序可基于训练数据训练模型,并基于测试数据测试训练后的模型。
在一些实施例中,电子设备可提供用户界面(User Interface,UI),以便用户可通过该UI输入模型训练程序的配置信息。在一些实施例中,模型训练程序文件和/或数据集可在本地获取,也可通过网络远程获取。
在一些实施例中,模型训练程序的配置信息可定义在模型训练程序文件中。相应地,电子设备获取模型训练程序的配置信息包括:解析模型训练程序文件,得到模型训练程序的配置信息。
在一些实施例中,电子设备还可获取模型训练程序使用说明的文件。模型训练程序使用说明的文件可以是图片,也可以是文档。
在步骤102中,电子设备基于模型训练程序文件生成一个或多个第一层文件。其中,层文件的定义借用容器镜像标准中的层(Layer)文件的定义,不再赘述,其中,容器镜像标准例如为OCI标准中的容器镜像标准(Image Spec)。本实施例扩展了容器镜像标准中的Layer。
在一些实施例中,模型训练程序文件为可执行文件,机器学习平台中的操作***可直接加载执行该可执行文件。电子设备用一个Layer放该可执行文件,具体地,电子设备基于该可执行文件生成一个第一层文件。
在一些实施例中,模型训练程序文件为模型训练程序的源代码文件和依赖文件,其中,依赖文件包括:模型训练程序在训练过程中所依赖的一个或多个文件。在一些实施例中,电子设备基于源代码文件生成一个第一层文件,并基于依赖文件生成一个或多个第一层文件,其中,基于依赖文件生成的第一层文件的数量,取决于依赖文件中包括的子文件的数量。本实施例中,电子设备用一个Layer放源代码文件,用一个或多个Layer放依赖文件。
在一些实施例中,依赖文件中有多个子文件,每个子文件可分别放在不同的Layer中,或,部分子文件可放在相同的Layer中,或,全部子文件放在同一个Layer中。
在步骤103中,电子设备基于数据集生成一个或多个第二层文件。本实施例扩展了容器镜像标准中的Layer。在一些实施例中,基于数据集包括测试数据和训练数据,电子设备针对测试数据生成一个或多个第二层文件,且针对训练数据生成一个或多个第二层文件。本实施例中,电子设备针对测试数据和训练数据,分别采用一个或多个Layer来存放,Layer数量可基于数据量来确定。
在一些实施例中,电子设备可基于获取的模型训练程序使用说明的文件,生成一个或多个第三层文件。本实施例扩展了容器镜像标准中的Layer。例如,模型训练程序使用说明的文件是文档,那么电子设备可用一个Layer放该文档,具体地,电子设备基于该文档生成一个第三层文件。又例如,模型训练程序使用说明的文件包括多张图片,那么电子设备基于这多张图片,生成一个或多个第三层文件,其中,第三层文件的数量取决于模型训练程序使用说明的文件中包括的图片的数量。
在一些实施例中,模型训练程序使用说明的文件包括多张图片,每张图片可分别放在不同的Layer中,或,部分图片可放在相同的Layer中,或,全部图片放在同一个Layer中。
在步骤104中,电子设备基于模型训练程序的配置信息生成配置文件。其中,配置文件类似于容器镜像标准中的Config文件。本实施例扩展了容器镜像标准中的Config文件。在一些实施例中,模型训练程序的配置信息可包括但不限于:场景、参数定义和调用方法。其中,场景与机器学习所要解决的问题相关。
在一些实施例中,若机器学习所要解决的问题是二分类问题,具体地,根据数据样本上抽取出的特征,判定其属于有限个类别中的哪一个。比如:垃圾邮件识别(结果类别:1、垃圾邮件;2、正常邮件),那么场景为垃圾邮件分类场景。
在一些实施例中,若机器学习所要解决的问题是回归问题,具体地,根据数据样本上抽取出的特征,预测一个连续值的结果。比如:某个电影的票房预测,那么场景为票房预测场景。
在一些实施例中,若机器学习所要解决的问题是聚类问题,具体地,根据数据样本上抽取出的特征,让样本抱团(即相近/相关的样本在一团内)。比如:新闻分类,那么场景为新闻聚类场景。
在一些实施例中,电子设备生成的配置文件包括多个字段。电子设备可将配置信息中的场景写入一个字段,例如,电子设备可将配置信息中的场景写入标签(label)字段中,其中,label字段类似于Config文件中的label字段,具体地,在label字段中,场景为键值对,比如:senario=classification,这个键值对表示场景为二分类场景。
电子设备可将配置信息中的参数定义和调用方法写入相同字段或不同字段。例如,电子设备可将参数定义和调用方法写入相同字段:元信息(meta)字段。其中,meta字段类似于Config文件中的meta字段,但写入的内容不相同。在一些实施例中,在meta字段中还可以写入模型训练程序的相关信息,相关信息例如为文本信息,该文本信息为模型训练程序使用说明的文本信息,用于说明模型训练程序如何使用。
在一些实施例中,模型训练程序的配置信息还可包括但不限于:模型训练程序所属项目的信息和所属项目在源代码管理仓库中的地址。其中,模型训练程序所属项目的信息例如为项目主页,所属项目在源代码管理仓库中的地址例如为Github地址。
在一些实施例中,电子设备可将模型训练程序所属项目的信息和所属项目在源代码管理仓库中的地址写入配置文件多个字段中的相同字段或不同字段。例如,电子设备可将模型训练程序所属项目的信息和所属项目在源代码管理仓库中的地址均写入meta字段中。
在一些实施例中,模型训练程序的配置信息还可包括但不限于:模型训练程序使用说明的文本信息。电子设备可将该文本信息写入配置文件多个字段中的一个字段,例如meta字段中。
在一些实施例中,配置文件的多个字段中包括注解(annotation)字段,其中,annotation字段类似于Config文件中的annotation字段。电子设备可在annotation字段中写入注明信息、备注信息等便于用户了解模型训练程序的信息。在一些实施例中,配置文件的多个字段中还可包括镜像创建信息的相关字段,例如作者字段,创建时间字段等。在一些实施例中,注明信息、备注信息等便于用户了解模型训练程序的信息可定义在模型训练程序文件中。相应地,电子设备可解析模型训练程序文件,获取注明信息、备注信息等,进而将这些信息写入到annotation字段中。
在步骤105中,电子设备生成描述文件,描述文件中包括:配置文件的描述信息、一个或多个第一层文件的描述信息和一个或多个第二层文件的描述信息。在一些实施例中,电子设备若基于获取的模型训练程序使用说明的文件,生成一个或多个第三层文件,则电子设备生成的描述文件中还包括:一个或多个第三层文件的描述信息。在一些实施例中,描述文件类似于容器镜像标准中的Manifest文件。
在步骤106中,电子设备生成模型训练程序镜像,模型训练程序镜像中包括描述文件、配置文件、一个或多个第一层文件和一个或多个第二层文件。在一些实施例中,电子设备若基于获取的模型训练程序使用说明的文件,生成一个或多个第三层文件,则电子设备生成的模型训练程序镜像中还包括:一个或多个第三层文件。
在一些实施例中,电子设备基于容器镜像标准,将描述文件、配置文件、一个或多个第一层文件和一个或多个第二层文件打包为模型训练程序镜像。在一些实施例中,电子设备若基于获取的模型训练程序使用说明的文件,生成一个或多个第三层文件,则电子设备基于容器镜像标准,将描述文件、配置文件、一个或多个第一层文件、一个或多个第二层文件和一个或多个第三层文件打包为模型训练程序镜像。
这样,模型训练程序镜像为采用统一的打包格式规范打包的镜像,便于模型训练程序在各个机器学习平台进行迁移、训练、使用等,实现“一处书写到处训练”的目标。
另外,模型训练程序镜像为通过扩展开放容器标准(Open ContainerInitiative,OCI)将模型训练程序打包成的镜像,具体地,本公开至少一个实施例中扩展了OCI标准中的Config文件和Layer。便能同时解决掉打包格式统一、程序依赖、使用说明、标签等问题。此外,借助于大量存在的OCI镜像存储设施完成模型训练程序的分发和共享,解决目前难以分发和共享模型训练程序的问题。
在一些实施例中,电子设备可通过类似Docker Build的命令行工具,来完成模型训练程序镜像的创建工作。模型训练程序镜像与应用容器引擎(Docker)镜像完全兼容,能直接作为Docker镜像使用,使用方便,也能作为普通Docker镜像进行分发和存储。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员能够理解,本公开实施例并不受所描述的动作顺序的限制,因为依据本公开实施例,某些步骤可以采用其他顺序或者同时进行。另外,本领域技术人员能够理解,说明书中所描述的实施例均属于可选实施例。
图2为本公开实施例提供的一种模型训练程序镜像的生成装置的示例性框图。如图2所示,生成装置可包括但不限于:获取单元21、文件生成单元22和镜像生成单元23。各单元具体说明如下:
获取单元21,用于获取模型训练程序文件、数据集和模型训练程序的配置信息;
文件生成单元22,用于基于模型训练程序文件生成一个或多个第一层文件;基于数据集生成一个或多个第二层文件;基于模型训练程序的配置信息生成配置文件;生成描述文件,描述文件中包括:配置文件的描述信息、一个或多个第一层文件的描述信息和一个或多个第二层文件的描述信息;
镜像生成单元23,用于生成模型训练程序镜像,模型训练程序镜像中包括描述文件、配置文件、一个或多个第一层文件和一个或多个第二层文件。
在一些实施例中,模型训练程序文件为模型训练程序的可执行文件;
文件生成单元22基于模型训练程序文件生成一个或多个第一层文件包括:基于可执行文件生成一个第一层文件。
在一些实施例中,模型训练程序文件为模型训练程序的源代码文件和依赖文件;其中,依赖文件包括:模型训练程序在训练过程中所依赖的一个或多个文件;
文件生成单元22基于模型训练程序文件生成一个或多个第一层文件包括:基于源代码文件生成一个第一层文件;基于依赖文件生成一个或多个第一层文件。
在一些实施例中,数据集中包括测试数据和/或训练数据;
文件生成单元22基于数据集生成一个或多个第二层文件包括:针对测试数据生成一个或多个第二层文件;针对训练数据生成一个或多个第二层文件。
在一些实施例中,模型训练程序的配置信息包括:场景、参数定义和调用装置;配置文件包括多个字段;
文件生成单元22基于模型训练程序的配置信息生成配置文件包括:
将场景写入多个字段中的一个字段;
将参数定义和调用装置写入多个字段中的相同字段或不同字段。
在一些实施例中,模型训练程序的配置信息还包括:模型训练程序所属项目的信息和所属项目在源代码管理仓库中的地址;
文件生成单元22基于模型训练程序的配置信息生成配置文件还包括:将模型训练程序所属项目的信息和所属项目在源代码管理仓库中的地址写入多个字段中的相同字段或不同字段。
在一些实施例中,模型训练程序的配置信息还包括:模型训练程序使用说明的文本信息;
文件生成单元22基于模型训练程序的配置信息生成配置文件还包括:将文本信息写入多个字段中的一个字段。
在一些实施例中,获取单元21还用于获取模型训练程序使用说明的文件;
文件生成单元22还用于基于模型训练程序使用说明的文件生成一个或多个第三层文件;
相应地,描述文件中还包括:一个或多个第三层文件的描述信息;模型训练程序镜像中还包括一个或多个第三层文件。
在一些实施例中,镜像生成单元23用于:
基于容器镜像标准,将描述文件、配置文件、一个或多个第一层文件和一个或多个第二层文件打包为模型训练程序镜像。
在一些实施例中,模型训练程序的配置信息定义在模型训练程序文件中;
相应地,获取单元21获取模型训练程序的配置信息包括:解析模型训练程序文件,得到模型训练程序的配置信息。
模型训练程序镜像的生成装置的实施细节可参考行为模型训练程序镜像的生成方法各实施例,为避免重复描述,在此不再赘述。
在一些实施例中,模型训练程序镜像的生成装置中各单元的划分仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如可以将多个单元实现为一个单元;也可以将一个单元划分为多个子单元。可以理解的是,各个单元或子单元能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。
图3是本公开实施例提供的一种电子设备的结构示意图。如图3所示,电子设备包括:至少一个处理器31、至少一个存储器32和至少一个通信接口33。电子设备中的各个组件通过总线***34耦合在一起。通信接口33,用于与外部设备之间的信息传输。可理解地,总线***34用于实现这些组件之间的连接通信。总线***34除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但为了清楚说明起见,在图3中将各种总线都标为总线***34。
可以理解,本实施例中的存储器32可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
在一些实施方式中,存储器32存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作***和应用程序。
其中,操作***,包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础任务以及处理基于硬件的任务。应用程序,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用任务。实现本公开实施例提供的模型训练程序镜像的生成方法的程序可以包含在应用程序中。
在本公开实施例中,处理器31通过调用存储器32存储的程序或指令,具体的,可以是应用程序中存储的程序或指令,处理器31用于执行本公开实施例提供的模型训练程序镜像的生成方法各实施例的步骤。
本公开实施例提供的模型训练程序镜像的生成方法可以应用于处理器31中,或者由处理器31实现。处理器31可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器31中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器31可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本公开实施例提供的模型训练程序镜像的生成方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器32,处理器31读取存储器32中的信息,结合其硬件完成方法的步骤。
本公开实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如模型训练程序镜像的生成方法各实施例的步骤,为避免重复描述,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。
本领域的技术人员能够理解,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
虽然结合附图描述了本公开的实施方式,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (10)

1.一种模型训练程序镜像的生成方法,包括:
获取模型训练程序文件、数据集和模型训练程序的配置信息;
基于所述模型训练程序文件生成一个或多个第一层文件;
基于所述数据集生成一个或多个第二层文件;
基于所述模型训练程序的配置信息生成配置文件;
生成描述文件,所述描述文件中包括:所述配置文件的描述信息、所述一个或多个第一层文件的描述信息和所述一个或多个第二层文件的描述信息;
生成模型训练程序镜像,所述模型训练程序镜像中包括所述描述文件、所述配置文件、所述一个或多个第一层文件和所述一个或多个第二层文件。
2.根据权利要求1所述的方法,其中,所述模型训练程序文件为模型训练程序的可执行文件;
所述基于所述模型训练程序文件生成一个或多个第一层文件包括:基于所述可执行文件生成一个第一层文件。
3.根据权利要求1所述的方法,其中,所述模型训练程序文件为模型训练程序的源代码文件和依赖文件;其中,所述依赖文件包括:所述模型训练程序在训练过程中所依赖的一个或多个文件;
所述基于所述模型训练程序文件生成一个或多个第一层文件包括:基于所述源代码文件生成一个第一层文件;基于所述依赖文件生成一个或多个第一层文件。
4.根据权利要求1所述的方法,其中,所述数据集中包括测试数据和/或训练数据;
所述基于所述数据集生成一个或多个第二层文件包括:针对所述测试数据生成一个或多个第二层文件;针对所述训练数据生成一个或多个第二层文件。
5.根据权利要求1所述的方法,其中,所述模型训练程序的配置信息包括:场景、参数定义和调用方法;所述配置文件包括多个字段;
所述基于所述模型训练程序的配置信息生成配置文件包括:
将所述场景写入所述多个字段中的一个字段;
将所述参数定义和所述调用方法写入所述多个字段中的相同字段或不同字段。
6.根据权利要求5所述的方法,其中,所述模型训练程序的配置信息还包括:模型训练程序所属项目的信息和所属项目在源代码管理仓库中的地址;
所述基于所述模型训练程序的配置信息生成配置文件还包括:
将所述模型训练程序所属项目的信息和所属项目在源代码管理仓库中的地址写入所述多个字段中的相同字段或不同字段。
7.根据权利要求5所述的方法,其中,所述模型训练程序的配置信息还包括:模型训练程序使用说明的文本信息;
所述基于所述模型训练程序的配置信息生成配置文件还包括:
将所述文本信息写入所述多个字段中的一个字段。
8.一种模型训练程序镜像的生成装置,包括:
获取单元,用于获取模型训练程序文件、数据集和模型训练程序的配置信息;
文件生成单元,用于基于所述模型训练程序文件生成一个或多个第一层文件;基于所述数据集生成一个或多个第二层文件;基于所述模型训练程序的配置信息生成配置文件;生成描述文件,所述描述文件中包括:所述配置文件的描述信息、所述一个或多个第一层文件的描述信息和所述一个或多个第二层文件的描述信息;
镜像生成单元,用于生成模型训练程序镜像,所述模型训练程序镜像中包括所述描述文件、所述配置文件、所述一个或多个第一层文件和所述一个或多个第二层文件。
9.一种电子设备,包括:处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至7任一项所述方法的步骤。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至7任一项所述方法的步骤。
CN202011553757.5A 2020-12-24 2020-12-24 模型训练程序镜像的生成方法、装置、设备及存储介质 Active CN112579149B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011553757.5A CN112579149B (zh) 2020-12-24 2020-12-24 模型训练程序镜像的生成方法、装置、设备及存储介质
PCT/CN2021/141366 WO2022135592A1 (zh) 2020-12-24 2021-12-24 模型训练程序镜像的生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011553757.5A CN112579149B (zh) 2020-12-24 2020-12-24 模型训练程序镜像的生成方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112579149A true CN112579149A (zh) 2021-03-30
CN112579149B CN112579149B (zh) 2024-01-30

Family

ID=75139500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011553757.5A Active CN112579149B (zh) 2020-12-24 2020-12-24 模型训练程序镜像的生成方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN112579149B (zh)
WO (1) WO2022135592A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022135592A1 (zh) * 2020-12-24 2022-06-30 第四范式(北京)技术有限公司 模型训练程序镜像的生成方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144661A (zh) * 2018-07-05 2019-01-04 杭州电子科技大学 一种基于docker的深度学习管理方法
CN110083334A (zh) * 2018-01-25 2019-08-02 北京顺智信科技有限公司 模型上线的方法及装置
CN110795089A (zh) * 2019-10-29 2020-02-14 中国建设银行股份有限公司 一种代码生成方法、装置、设备和存储介质
CN110852449A (zh) * 2019-11-25 2020-02-28 北京百度网讯科技有限公司 模型迁移方法和电子设备
CN110928553A (zh) * 2019-10-16 2020-03-27 中国平安人寿保险股份有限公司 深度学习模型的部署方法、装置和***
CN111580926A (zh) * 2020-03-25 2020-08-25 中国平安财产保险股份有限公司 模型发布方法、模型部署方法、装置、设备及存储介质
CN111813814A (zh) * 2020-07-30 2020-10-23 浪潮通用软件有限公司 一种支持多种机器学习框架的通用模型管理方法和装置
US10867091B1 (en) * 2018-08-17 2020-12-15 Synopsys, Inc. Machine learning based power optimization using parallel training and localized data generation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579149B (zh) * 2020-12-24 2024-01-30 第四范式(北京)技术有限公司 模型训练程序镜像的生成方法、装置、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083334A (zh) * 2018-01-25 2019-08-02 北京顺智信科技有限公司 模型上线的方法及装置
CN109144661A (zh) * 2018-07-05 2019-01-04 杭州电子科技大学 一种基于docker的深度学习管理方法
US10867091B1 (en) * 2018-08-17 2020-12-15 Synopsys, Inc. Machine learning based power optimization using parallel training and localized data generation
CN110928553A (zh) * 2019-10-16 2020-03-27 中国平安人寿保险股份有限公司 深度学习模型的部署方法、装置和***
CN110795089A (zh) * 2019-10-29 2020-02-14 中国建设银行股份有限公司 一种代码生成方法、装置、设备和存储介质
CN110852449A (zh) * 2019-11-25 2020-02-28 北京百度网讯科技有限公司 模型迁移方法和电子设备
CN111580926A (zh) * 2020-03-25 2020-08-25 中国平安财产保险股份有限公司 模型发布方法、模型部署方法、装置、设备及存储介质
CN111813814A (zh) * 2020-07-30 2020-10-23 浪潮通用软件有限公司 一种支持多种机器学习框架的通用模型管理方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022135592A1 (zh) * 2020-12-24 2022-06-30 第四范式(北京)技术有限公司 模型训练程序镜像的生成方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112579149B (zh) 2024-01-30
WO2022135592A1 (zh) 2022-06-30

Similar Documents

Publication Publication Date Title
US8490049B2 (en) Faceted, tag-based approach for the design and composition of components and applications in component-based systems
WO2019112821A1 (en) Content based transformation for digital documents
US20210406981A1 (en) Method and apparatus of determining display page, electronic device, and medium
CN102880683A (zh) 一种可行性研究报告的自动网络生成***及其生成方法
CN117520514A (zh) 一种问答任务处理方法、装置、设备及可读存储介质
CN107391535A (zh) 在文档应用中搜索文档的方法及装置
CN114327374A (zh) 业务流程的生成方法、装置及计算机设备
CN112579149A (zh) 模型训练程序镜像的生成方法、装置、设备及存储介质
CN112199200A (zh) 资源调度方法、装置、计算机设备和存储介质
US11449677B2 (en) Cognitive hierarchical content distribution
CN115525778A (zh) 企业文档处理方法、装置及存储介质
CN115756692A (zh) 基于样式属性自动组合展示页面的方法及其相关设备
CN113568998A (zh) 一种知识服务资源处理方法、装置、设备及存储介质
CN112417295A (zh) 一种教育云信息推送方法、存储介质及***
CN112418260A (zh) 模型训练方法、信息提示方法、装置、设备及介质
CN117033249B (zh) 一种测试用例生成方法、装置、计算机设备及存储介质
US20190050467A1 (en) Method and System for Content Creation and Management
CN113569007B (zh) 一种处理知识服务资源的方法、装置及存储介质
US20240086467A1 (en) Control system for controlling management and tagging of digital cards stored in decentralized content storage
CN110780996B (zh) 进程优化方法、装置、存储介质和计算机设备
Mukherjee et al. Big data analytics with service-oriented architecture
US11599357B2 (en) Schema-based machine-learning model task deduction
US20180129472A1 (en) Semantic consolidation of data
CN117251621A (zh) 业务匹配方法、装置、计算机设备、存储介质和产品
CN107092470B (zh) 一种微件Widget注册方法及装置

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
GR01 Patent grant
GR01 Patent grant