CN113780536A - 一种云端深度学习模型转换方法、系统、设备及介质 - Google Patents
一种云端深度学习模型转换方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN113780536A CN113780536A CN202111275766.7A CN202111275766A CN113780536A CN 113780536 A CN113780536 A CN 113780536A CN 202111275766 A CN202111275766 A CN 202111275766A CN 113780536 A CN113780536 A CN 113780536A
- Authority
- CN
- China
- Prior art keywords
- model
- inference
- machine instance
- converted
- training
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Abstract
本发明公开了一种云端深度学习模型转换方法、系统、设备及介质,所述方法包括以下步骤:获取待转换模型及模型转换请求信息;查询获得匹配训练机器实例;采用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构,获得中间模型;查询获得匹配推理机器实例;采用匹配推理机器实例加载所述中间模型,解析和遍历所述中间模型的网络结构,将其每一层转换到匹配推理机器实例的推理框架使用的模型格式,获得转换后的模型。本发明提供的方法,对用户屏蔽了不同训练框架转换到众多推理框架的细节,可节约学习成本、开发成本、环境安装部署成本、硬件准备/调试的成本等,能够提高生产效率。
Description
技术领域
本发明属于深度学习模型技术领域,特别涉及一种云端深度学习模型转换方法、系统、设备及介质。
背景技术
深度学习领域的人工智能(Artificial Intelligence,AI)模型开发一般分为两个独立的阶段,包括:
(1)使用主流的深度学习训练框架如PyTorch、TensorFlow、MXNet来训练出符合业务需求的模型,称为训练模型;
(2)深度学习训练框架一般不适合直接部署到产品/生产环境,需要把训练模型转换为在推理框架上可用的模型,称为推理模型。
基于以上的现有主流开发流程,业界尚存在一些痛点,具体包括:
应用程序一般分为前端、后端/服务器云端,它们各自的硬件资源不同,所用的推理框架往往也是不同的;为了合理分配计算,部分AI模型会放在前端/边缘设备端部署执行,部分AI模型会放在后端/服务器云端部署执行。目前现有的传统做法中,算法工程师需要针对不同的推理框架和硬件设备执行模型转换,导致开发效率低,算法工程师的负担重,影响工程进度;另外,各个推理框架之间的通用性较差,使用成本高。示例性的,各个推理框架都会推出专用的模型转换工具,支持从不同的训练框架模型转换到自家的推理框架模型,但是不会支持转换到别家推理框架;各个推理框架专用的模型转换工具在用法、原理上还会存在较大差异,甚至相互之间有些使用经验还没有借鉴意义。执行模型转换工作的人员需要学习不同推理框架的模型转换方法,熟悉各个推理框架专用的模型转换工具在用法、原理、常见的使用技巧,需要分别学习、分别积累经验;执行模型转换工作还需要安装环境、编译推理框架和转换工具的代码为可执行程序,期间涉及大量的细节、潜在的bug或者环境不兼容导致的问题等等。有的训练框架或推理框架推出了云端模型转换服务,免去安装环节,但是也只仅支持转换到自家的推理框架模型(https://ai.baidu.com/easyedge/home,https://www.mnn.zone/#download-mnn-workstation,http://www.openailab.com/int/ability/list3.html,以上都有突出针对不同系统和异构计算平台的支持,但是实际后端的深度学习推理引擎都是各自自家的,并不支持别家产品)。
另外,实际应用中通常都要对模型的输入做预处理、对模型的输出做后处理,而训练模型保存的计算图是不包含输入预处理、输出后处理的计算步骤的(解释性的,输入预处理一般放在训练数据加载模块处理;输出后处理一般不参与训练,所以训练模型没有保存);但是,推理模型是需要包含完整的模型输入预处理、模型输出后处理的计算步骤的,通过开发人员手工开发加入相关计算步骤,会导致费时费力、容易出现错误。
发明内容
本发明的目的在于提供一种云端深度学习模型转换方法、系统、设备及介质,以解决上述存在的一个或多个技术问题。本发明提供的方法,对用户屏蔽了不同训练框架转换到众多推理框架的细节,可节约学习成本、开发成本、环境安装部署成本、硬件准备/调试的成本等,能够提高生产效率。
为达到上述目的,本发明采用以下技术方案:
本发明第一方面提供的一种跨框架、跨平台云端深度学习模型转换方法,包括以下步骤:
获取待转换模型及模型转换请求信息;
基于所述模型转换请求信息获取训练查询ID;基于所述训练查询ID从预设的训练机器实例库中,查询获得匹配训练机器实例;采用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构,获得中间模型;
基于所述模型转换请求信息获取推理查询ID;基于所述推理查询ID从预设的推理机器实例库中,查询获得匹配推理机器实例;采用匹配推理机器实例加载所述中间模型,解析和遍历所述中间模型的网络结构,将其每一层转换到匹配推理机器实例的推理框架使用的模型格式,获得转换后的模型。
本发明方法的进一步改进在于,所述模型转换请求信息包括:模型运行的硬件设备、操作系统、训练框架和推理框架。
本发明方法的进一步改进在于,所述预设的训练机器实例库包括预设的多个训练机器实例和多个推理机器实例;
其中,所述训练机器实例为安装操作系统和训练框架的服务器端或PC端;所述推理机器实例为安装操作系统和推理框架的服务器端或PC端;每个训练机器实例记录有训练查询ID,每个推理机器实例记录有推理查询ID。
本发明方法的进一步改进在于,所述训练查询ID的命名为操作系统名、CPU名、GPU名和训练框架名的组合;所述推理查询ID的命名为操作系统名、CPU名、GPU名和推理框架名的组合。
本发明方法的进一步改进在于,所述预设的训练机器实例库设置有用于调用模型转换功能的API;
其中,所述API以Python函数接口定义为要传入的模型转换请求信息的路径。
本发明方法的进一步改进在于,所述采用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构,获得中间模型的步骤具体包括:
采用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构,将其每一层转换到模型中间表示格式ONNX的规范定义的格式,收集所有转换完成的层,保存为ONNX模型作为初始中间模型;
基于所述模型转换请求信息对所述初始中间模型进行输入输出预处理,获得处理后的中间模型。
本发明方法的进一步改进在于,所述采用匹配推理机器实例加载所述中间模型,解析和遍历所述中间模型的网络结构,将其每一层转换到匹配推理机器实例的推理框架使用的模型格式,获得转换后的模型的步骤具体包括:
采用匹配推理机器实例加载所述处理后的中间模型,解析和遍历所述处理后的中间模型的网络结构,将其每一层转换到匹配推理机器实例的推理框架使用的模型格式,收集所有转换完成的层保存为匹配推理机器实例的推理框架所使用的模型格式,获得转换后的推理模型。
本发明第二方面提供的一种跨框架、跨平台云端深度学习模型转换系统,包括:
模型及信息获取模块,用于获取待转换模型及模型转换请求信息;
中间模型获取模块,用于基于所述模型转换请求信息获取训练查询ID;基于所述训练查询ID从预设的训练机器实例库中,查询获得匹配训练机器实例;采用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构,获得中间模型;
转换模型获取模块,用于基于所述模型转换请求信息获取推理查询ID;基于所述推理查询ID从预设的推理机器实例库中,查询获得匹配推理机器实例;采用匹配推理机器实例加载所述中间模型,解析和遍历所述中间模型的网络结构,将其每一层转换到匹配推理机器实例的推理框架使用的模型格式,获得转换后的模型。
本发明第三方面提供的一种电子设备,包括:处理器;存储器,用于存储计算机程序指令;其特征在于,所述计算机程序指令由所述处理器加载并运行时,所述处理器执行本发明任一项上述的跨框架、跨平台云端深度学习模型转换方法。
本发明第四方面提供的一种可读存储介质,所述可读存储介质存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器加载并运行时,所述处理器执行本发明任一项上述的跨框架、跨平台云端深度学习模型转换方法。
与现有技术相比,本发明具有以下有益效果:
本发明提供的方法,对用户屏蔽了不同训练框架转换到众多推理框架的细节,节约学习成本、开发成本、环境安装部署成本、硬件准备/调试的成本,能够大大提升用户(一般是算法模型开发人员)的生产效率,缩短算法模型持续优化迭代的周期,有利于产品的升级优化。
本发明方法中的ID格式设计,可方便、快速地根据用户的需求查找到对应的功能的机器实例来执行服务。
本发明中,使用中间模型做转换,根据用户请求信息定义的功能需求,可自动把对模型的输入前处理、输出后处理翻译转换成中间模型格式的算子,并添加、合并到中间模型的计算图中,然后保存为新的中间模型,再用于转换,可降低工作强度,提高准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面对实施例或现有技术描述中所需要使用的附图做简单的介绍;显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1的一种跨框架、跨平台云端深度学习模型转换方法的流程示意图;
图2是本发明具体实施例2中,跨框架、跨平台通用云端深度学习模型转换服务架构的简略示意图;
图3是本发明具体实施例2中,跨框架、跨平台通用云端深度学习模型转换服务架构的示例示意图;
图4是本发明实施例3的一种跨框架、跨平台云端深度学习模型转换系统的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
实施例1
请参阅图1,本发明实施例1的一种跨框架、跨平台云端深度学习模型转换方法,包括以下步骤:
获取待转换模型及模型转换请求信息;
基于所述模型转换请求信息获取训练查询ID;基于所述训练查询ID从预设的训练机器实例库中,查询获得匹配训练机器实例;采用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构,获得中间模型;
基于所述模型转换请求信息获取推理查询ID;基于所述推理查询ID从预设的推理机器实例库中,查询获得匹配推理机器实例;采用匹配推理机器实例加载所述中间模型,解析和遍历所述中间模型的网络结构,将其每一层转换到匹配推理机器实例的推理框架使用的模型格式,获得转换后的模型。
本发明上述实施例提供的方法,对用户屏蔽了不同训练框架转换到众多推理框架的细节,节约学习成本、开发成本、环境安装部署成本、硬件准备/调试的成本,能够大大提升用户(一般是算法模型开发人员)的生产效率,缩短算法模型持续优化迭代的周期,有利于产品的升级优化。
本发明上述实施例提供的技术方案的原理包括:转换服务框架在云端(以下描述都发生在云端)安装好所有的训练框架、推理框架、各个厂家的模型转换工具、执行环境、硬件设备资源,用户指定的训练模型将会被上传到云端,然后自动判断并选择合适的目标环境和硬件设备,自动生成符合目标模型转换工具的模型转换命令,并调用目标模型转换工具,来执行实际的模型转换操作,等待结果返回;等待期间,实时向用户前端发送模型转换的进度、反馈信息;实际的模型转换完成后,将得到的推理框架模型文件收集并下发到用户前端,提示模型转换成功,完成一次服务。
实施例2
请参阅图2和3,基于上述实施例1,本发明实施例2提供的一种跨框架、跨平台通用云端深度学习模型转换服务架构,该服务架构设计了在云端/服务器端为算法人员/工程开发人员提供统一使用接口的、通用的模型转换服务,用户无须安装与推理框架相关的任何程序,就可以通过网页浏览器或者Python API将不同深度学习训练框架(示例性的,PyTorch、TensorFlow、MXNet)的模型,转换到多种多样的推理框架(示例性的,TensorRT、OpenVINO、ncnn、MNN、TVM、Tengine-lite)的模型。相应的,用户仅需要简单学习该转换服务框架的使用方法,就可以任意执行模型转换工作,能够降低工作量和难度,节省人力成本。
本发明实施例2的一种跨框架、跨平台通用云端深度学习模型转换服务架构的实施步骤具体包括以下步骤:
1、获取待转换模型及模型转换请求信息;所述模型转换请求信息包括模型运行的硬件设备、操作系统、训练框架和推理框架;优选的,还可以包括存储路径等;
2、基于所述模型转换请求信息获取训练查询ID;示例性的,训练查询ID格式定义如下:操作系统名+CPU名+GPU名+训练框架名;基于所述训练查询ID从预设的训练机器实例库中,查询获得匹配训练机器实例;使用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构(即计算图和获取权重参数),将其每一层转换到模型中间表示格式ONNX的规范定义的格式,收集所有转换完成的层,保存为ONNX模型作为中间模型;基于所述模型转换请求信息对所述中间模型进行输入输出预处理,获得处理后的中间模型;
3、基于所述模型转换请求信息获取推理查询ID;示例性的,推理查询ID格式定义如下:操作系统名+CPU名+GPU名+推理框架名;基于所述推理查询ID从预设的推理机器实例库中,查询获得匹配推理机器实例;使用匹配推理机器实例加载所述处理后的中间模型,解析和遍历所述处理后的中间模型的网络结构(即计算图和获取权重参数),将其每一层转换到该推理框架使用的模型格式,收集所有转换完成的层,保存为该推理框架所使用的模型格式,作为完成转换后获得的推理模型。
基于本发明上述实施例2提供的技术方案可知,本发明的核心创新点包括:机器实例跟框架(训练+推理)的两两组合较多,本发明的ID格式的设计可以方便、快速地根据用户的需求查找到对应的功能的机器实例来执行服务;另外,使用中间模型做转换,并且根据用户配置文件定义的功能需求,自动把对模型的输入前处理、输出后处理翻译转换成中间模型格式的算子,并添加、合并到中间模型的计算图中,然后保存为新的中间模型,再用于转换。示例性的,加载中间模型构建成计算图,在计算图的输入添加“输入前处理”对应转换后的中间模型格式的算子;在计算图的输出追加“输出后处理”对应转换后的中间模型格式的算子得到新的计算图。
本发明实施例中,作为更进一步的完善优化,预设的训练及推理机器实例库的获取步骤包括:
(1)准备产品生产环境中常用的硬件设备,包括:服务器端、PC端,并安装操作系统。
示例性,服务器端可以包括:硬件有服务器型号Intel CPU、NVIDIA服务器型GPU,操作系统为Ubuntu Linux;PC端可以包括:硬件有消费级的Intel CPU、AMD CPU、AMD GPU、NVIDIA消费级GPU,操作系统为Windows;将以上每一个安装完成的设备称为机器实例。
(2)取步骤(1)的部分机器实例,分别安装训练框架:PyTorch、TensorFlow、MXNet,以上称为训练机器实例;取步骤(1)的部分机器实例,分别安装推理框架:TensorRT、OpenVINO、ncnn、MNN、TVM、Tengine-lite,以上称为推理机器实例。
(3)服务器端:记录训练机器实例的ID,该ID格式定义如下:操作系统名+CPU名+GPU名+训练框架名;示例性的,ID为Ubuntu+Intel_core_i7+TitanXp+PyTorch。记录推理机器实例的ID,该ID格式定义如下:操作系统名+CPU名+GPU名+推理框架名;示例性的,ID为Ubuntu+Intel_core_i7+TitanXp+TensorRT。
(4)对用户提供统一的调用模型转换功能的API,该API以Python函数接口定义如下:xengine_converter.convert(yaml_config_file_path);其中,参数yaml_config_file_path为用户要传入的接口配置文件的路径。
示例性的,API要用到配置文件,用户需要在配置文件填入:模型运行的硬件设备(device)、操作系统(platform)、训练框架(source_framework)、推理框架(destination_framework)、训练模型文件路径(input_network)、输出结果保存路径(output_dir)、输出的推理模型的文件名(output_model_name)、输入张量的定义(input.name,shape,dtype)和输入的预处理参数(mean_values,scale_values)、输出张量的定义(output.name)和可选的输出后处理步骤(output.postprocess);解释性的,此处的配置文件内容即为模型转换请求信息。
可选的,以上的input和output项可以填入多个,分别表示有多个输入张量和多个输出张量。以上配置文件为结构化的数据定义,方便用户为模型转换的相关细节信息做出明确的定义和指定。
示例性的,客户端:(用户)创建步骤(4)定义的接口配置文件,填入转换模型相关的信息,保存该文件到路径FILE_PATH_A。(用户)调用步骤(4)定义的Python API,参数为配置文件路径FILE_PATH_A。读取配置文件内容,获取训练模型的文件路径,使用TCP连接网络传输将其发送到服务器端;读取配置文件内容,使用TCP连接网络传输将该内容发送到服务器端。
示例性的,定义模型的中间表示格式时,可以有多种表示格式;其中一种是开放的深度神经网络模型交换表示格式ONNX,这是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。ONNX是一种开放式的文件格式。ONNX的规范及代码主要由微软,亚马逊,Facebook和IBM等公司共同开发,以开放源代码的方式托管在Github上。
本发明实施例中,输入输出预处理,对保存的ONNX中间模型进行处理,包括:
1)设置输入张量的名称为input.name;
2)设置输入张量的维度(形状shape)为input.shape;
3)设置输入张量的数据类型为input.dtype;
4)对输入张量input后追加一个减法计算层,计算为:input-mean_values;
5)对计算结果张量后追加一个除法计算层,计算为:(input-mean_values)/scale_values;
6)设置输出张量的名称为output.name;
7)如果输出后处理步骤output.postprocess没有填值,则忽略之;
8)如果输出后处理步骤output.postprocess设置了相关选项,该选项为预定义的处理过程。可选项只有:norm;其中,后处理步骤norm操作为对输出张量output执行归一化处理。具体为对输出张量output后连续追加一系列的层:乘法Mul、求和ReduceSum、开方根Sqrt、除法Div,计算为:Div(output,Sqrt(ReduceSum(Mul(output,output))))。
添加完以上处理步骤后,将处理过模型保存为新的ONNX中间模型。
本发明实施例提供的技术方案中,配置文件定义了用户转换模型的最小必要信息,并定义了对模型的输入前处理、输出后处理;该配置文件:格式简洁、简单易懂,屏蔽了所有框架(训练/推理)、机器硬件的细节信息和领域相关信息,用户只需定义输入输出、模型转换的源和目标(框架、文件、路径)即可完成转换。
综上所述,基于本发明上述实施例公开的技术方案,本发明为用户提供了统一的、简洁的接口来执行模型转换功能;模型转换服务架构对用户屏蔽了不同训练框架转换到众多推理框架的细节,节约学习成本、开发成本、环境安装部署成本、硬件准备/调试的成本,因此大大提升了用户(一般是算法模型开发人员)的生产效率,缩短了算法模型持续优化迭代的周期,有利于产品的升级优化。
实施例3
请参阅图4,下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于装置实施例中未纰漏的细节,请参照本发明方法实施例。
本发明实施例的一种跨框架、跨平台云端深度学习模型转换系统,包括:
模型及信息获取模块,用于获取待转换模型及模型转换请求信息;
中间模型获取模块,用于基于所述模型转换请求信息获取训练查询ID;基于所述训练查询ID从预设的训练机器实例库中,查询获得匹配训练机器实例;采用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构,获得中间模型;
转换模型获取模块,用于基于所述模型转换请求信息获取推理查询ID;基于所述推理查询ID从预设的推理机器实例库中,查询获得匹配推理机器实例;采用匹配推理机器实例加载所述中间模型,解析和遍历所述中间模型的网络结构,将其每一层转换到匹配推理机器实例的推理框架使用的模型格式,获得转换后的模型。
实施例4
本发明实施例4中,提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于跨框架、跨平台云端深度学习模型转换方法的操作。
实施例5
本发明实施例5中,提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关跨框架、跨平台云端深度学习模型转换方法的相应步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种云端深度学习模型转换方法,其特征在于,包括以下步骤:
获取待转换模型及模型转换请求信息;
基于所述模型转换请求信息获取训练查询ID;基于所述训练查询ID从预设的训练机器实例库中,查询获得匹配训练机器实例;采用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构,获得中间模型;
基于所述模型转换请求信息获取推理查询ID;基于所述推理查询ID从预设的推理机器实例库中,查询获得匹配推理机器实例;采用匹配推理机器实例加载所述中间模型,解析和遍历所述中间模型的网络结构,将其每一层转换到匹配推理机器实例的推理框架使用的模型格式,获得转换后的模型。
2.根据权利要求1所述的一种云端深度学习模型转换方法,其特征在于,所述模型转换请求信息包括:模型运行的硬件设备、操作系统、训练框架和推理框架。
3.根据权利要求1所述的一种云端深度学习模型转换方法,其特征在于,所述预设的训练机器实例库包括预设的多个训练机器实例和多个推理机器实例;
其中,所述训练机器实例为安装操作系统和训练框架的服务器端或PC端;所述推理机器实例为安装操作系统和推理框架的服务器端或PC端;每个训练机器实例记录有训练查询ID,每个推理机器实例记录有推理查询ID。
4.根据权利要求1或3所述的一种云端深度学习模型转换方法,其特征在于,
所述训练查询ID的命名为操作系统名、CPU名、GPU名和训练框架名的组合;
所述推理查询ID的命名为操作系统名、CPU名、GPU名和推理框架名的组合。
5.根据权利要求3所述的一种云端深度学习模型转换方法,其特征在于,所述预设的训练机器实例库设置有用于调用模型转换功能的API;
其中,所述API以Python函数接口定义为要传入的模型转换请求信息的路径。
6.根据权利要求1所述的一种云端深度学习模型转换方法,其特征在于,所述采用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构,获得中间模型包括:
采用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构,将其每一层转换到模型中间表示格式ONNX的规范定义的格式,收集所有转换完成的层,保存为ONNX模型作为初始中间模型;
基于所述模型转换请求信息对所述初始中间模型进行输入输出预处理,获得处理后的中间模型。
7.根据权利要求6所述的一种云端深度学习模型转换方法,其特征在于,所述采用匹配推理机器实例加载所述中间模型,解析和遍历所述中间模型的网络结构,将其每一层转换到匹配推理机器实例的推理框架使用的模型格式,获得转换后的模型包括:
采用匹配推理机器实例加载所述处理后的中间模型,解析和遍历所述处理后的中间模型的网络结构,将其每一层转换到匹配推理机器实例的推理框架使用的模型格式,收集所有转换完成的层保存为匹配推理机器实例的推理框架所使用的模型格式,获得转换后的推理模型。
8.一种云端深度学习模型转换系统,其特征在于,包括:
模型及信息获取模块,用于获取待转换模型及模型转换请求信息;
中间模型获取模块,用于基于所述模型转换请求信息获取训练查询ID;基于所述训练查询ID从预设的训练机器实例库中,查询获得匹配训练机器实例;采用查询获得的匹配训练机器实例加载所述待转换模型,解析和遍历待转换模型的网络结构,获得中间模型;
转换模型获取模块,用于基于所述模型转换请求信息获取推理查询ID;基于所述推理查询ID从预设的推理机器实例库中,查询获得匹配推理机器实例;采用匹配推理机器实例加载所述中间模型,解析和遍历所述中间模型的网络结构,将其每一层转换到匹配推理机器实例的推理框架使用的模型格式,获得转换后的模型。
9.一种电子设备,包括:处理器;存储器,用于存储计算机程序指令;其特征在于,
所述计算机程序指令由所述处理器加载并运行时,所述处理器执行权利要求1至7中任一项所述的云端深度学习模型转换方法。
10.一种可读存储介质,所述可读存储介质存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器加载并运行时,所述处理器执行权利要求1至7中任一项所述的云端深度学习模型转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111275766.7A CN113780536A (zh) | 2021-10-29 | 2021-10-29 | 一种云端深度学习模型转换方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111275766.7A CN113780536A (zh) | 2021-10-29 | 2021-10-29 | 一种云端深度学习模型转换方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113780536A true CN113780536A (zh) | 2021-12-10 |
Family
ID=78956705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111275766.7A Pending CN113780536A (zh) | 2021-10-29 | 2021-10-29 | 一种云端深度学习模型转换方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113780536A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114611714A (zh) * | 2022-05-11 | 2022-06-10 | 成都数之联科技股份有限公司 | 模型处理方法、装置、系统、电子设备及存储介质 |
CN115098203A (zh) * | 2022-06-17 | 2022-09-23 | 山东浪潮科学研究院有限公司 | 一种多语言适配的机器学习模型库的生成方法 |
CN116362336A (zh) * | 2023-06-02 | 2023-06-30 | 之江实验室 | 一种模型推理交互方法、电子设备、可读存储介质 |
CN116976443A (zh) * | 2023-09-22 | 2023-10-31 | 浙江大华技术股份有限公司 | 一种性能指标调试方法、终端设备以及计算机存储介质 |
-
2021
- 2021-10-29 CN CN202111275766.7A patent/CN113780536A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114611714A (zh) * | 2022-05-11 | 2022-06-10 | 成都数之联科技股份有限公司 | 模型处理方法、装置、系统、电子设备及存储介质 |
CN114611714B (zh) * | 2022-05-11 | 2022-09-02 | 成都数之联科技股份有限公司 | 模型处理方法、装置、系统、电子设备及存储介质 |
CN115098203A (zh) * | 2022-06-17 | 2022-09-23 | 山东浪潮科学研究院有限公司 | 一种多语言适配的机器学习模型库的生成方法 |
CN116362336A (zh) * | 2023-06-02 | 2023-06-30 | 之江实验室 | 一种模型推理交互方法、电子设备、可读存储介质 |
CN116362336B (zh) * | 2023-06-02 | 2023-08-22 | 之江实验室 | 一种模型推理交互方法、电子设备、可读存储介质 |
CN116976443A (zh) * | 2023-09-22 | 2023-10-31 | 浙江大华技术股份有限公司 | 一种性能指标调试方法、终端设备以及计算机存储介质 |
CN116976443B (zh) * | 2023-09-22 | 2023-12-29 | 浙江大华技术股份有限公司 | 一种性能指标调试方法、终端设备以及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113780536A (zh) | 一种云端深度学习模型转换方法、系统、设备及介质 | |
US11783099B2 (en) | Autonomous surrogate model creation platform | |
CN111459889B (zh) | 一种用于物联网平台的设备数据模型生成方法和装置 | |
JP2018530070A (ja) | クラウドベースのコンピューティング環境上の基盤を構築、最適化及び実施するシステム及び方法 | |
Bergmayr et al. | Cloud modeling languages by example | |
Aksakalli et al. | Systematic approach for generation of feasible deployment alternatives for microservices | |
CN115185539B (zh) | 一种生成可执行动态链接库文件方法、装置及存储介质 | |
CN111813814A (zh) | 一种支持多种机器学习框架的通用模型管理方法和装置 | |
Brabra et al. | Model-driven orchestration for cloud resources | |
CN112947960A (zh) | 一种基于机器学习的风险模型部署方法及系统 | |
CN102375743B (zh) | 一种基于模型和模板开发soa系统的方法 | |
Dagkakis et al. | ManPy: an open‐source software tool for building discrete event simulation models of manufacturing systems | |
Sun et al. | Scalable saas-based process customization with casewalls | |
CN104793928A (zh) | 一种基于Java的开发与运行平台实现方法及系统 | |
CN111240681A (zh) | 一种不同编程语言的转换方法及装置 | |
Gao et al. | Fs-real: A real-world cross-device federated learning platform | |
Schneider et al. | Integration of test-driven agile simulation approach in service-oriented tool environment | |
CN113760462A (zh) | 一种调度自动化系统验证环境的构建方法及装置 | |
Ramisetty et al. | Ontology integration for advanced manufacturing collaboration in cloud platforms | |
Keller et al. | A configuration complexity model and its application to a change management system | |
CN112507453A (zh) | 一种以气动为核心的多学科耦合分析系统及方法 | |
CN117272700B (zh) | 一种建筑机电能源系统在线仿真平台实现方法及系统 | |
Süslü et al. | SPEjs: A symbolic partial evaluator for JavaScript | |
KR101273374B1 (ko) | 플러그 인 기반의 시뮬레이션 워크플로우 실행 시스템 및 방법 | |
Evangelinos et al. | Rapid real-time interdisciplinary ocean forecasting using adaptive sampling and adaptive modeling and legacy codes: Component encapsulation using XML |
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 |