CN112130895A - 一种可移植性的模型发布方法、装置和存储介质 - Google Patents
一种可移植性的模型发布方法、装置和存储介质 Download PDFInfo
- Publication number
- CN112130895A CN112130895A CN202010772714.XA CN202010772714A CN112130895A CN 112130895 A CN112130895 A CN 112130895A CN 202010772714 A CN202010772714 A CN 202010772714A CN 112130895 A CN112130895 A CN 112130895A
- Authority
- CN
- China
- Prior art keywords
- operator
- model
- release
- stage
- units
- 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
Links
Images
Classifications
-
- 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/76—Adapting program code to run in a different environment; Porting
Abstract
本发明提供了一种可移植性的模型发布方法、装置和存储介质,算子阶段获取,接收算子训练模型,所述算子训练模型中包括多个算子单元,将所述算子训练模型中的多个算子单元进行划分,对每个算子单元独立封装为一个算子阶段;算子单元逻辑关系获取,提取算子单元间的逻辑关系;算子发布模型建立,获取多个算子阶段及算子阶段对应算子单元间的逻辑关系,建立算子发布模型;模型文件转化,将所述算子发布模型转化为Json格式的模型文件。本发明的方法能够直接完成全流程的发布,全流程的所述模型文件在被转化后,只需要将数据输入模型文件,即可得出全流程处理后的数据结果,全流程的操作都不需要使用多种不同的运行环境,提高运行便捷度。
Description
技术领域
本发明涉及机器学习领域,尤其涉及一种可移植性的模型发布方法、装置和存储介质。
背景技术
随着互联网、大数据等相关技术的不断更新,人们通过人工智能等技术对传统行业的应用能力也在飞速提高。由最初的数据挖掘技术发展到机器学习以至于到现在火热的深度学习技术,每项技术的出现都在冲击着传统技术,促使技术、业务的不断发展、更新。新技术的不断推陈出新,新技术框架也在紧随其后,在这个技术日新月异的时代,要求我们在做产品设计、项目落地设计过程中,充分考虑对新技术、新框架的适应能力、兼容能力。
针对现代机器学习、深度学习等涉及到的模型训练、模型应用等技术领域,业界也出现了实现框架及组件,如:机器学习应用较多的Spark MLlib、深度学习的TensorFlow、Pytorch等,不同的编程框架使用的核心编程语言也不尽相同,有的适用Python,有适用java、scala等;不同的框架又有自己独立的模型发布方式,框架之间的模型训练和发布技术互不兼容,这就造成了模型的利用率会下降,新模型的出现提高了模型的能力,但是基于新框架对下游业务应用系统来说不一定能够快速顺利的抛弃原有的模型利用技术而迭代到新技术平台上,难以发布,这就造成了新技术应用的壁垒,业务推广上存在障碍。
因此,本领域亟需一种可移植性的模型发布方法、装置和存储介质。
因此,有鉴于此,提出本发明。
发明内容
本发明的目的在于提供一种可移植性的模型发布方法、装置和存储介质,以解决上述至少一个技术问题。
本发明的第一方面提供了一种可移植性的模型发布方法,包括以下步骤:
算子阶段获取,接收算子训练模型,所述算子训练模型中包括多个算子单元,多个所述算子单元相配合完成处理任务,将所述算子训练模型中的多个算子单元进行划分,对每个算子单元独立封装为一个算子阶段;
算子单元逻辑关系获取,根据多个所述算子单元在算子训练模型中运行的先后顺序,提取算子单元间的逻辑关系;
算子发布模型建立,获取多个算子阶段及算子阶段对应算子单元间的逻辑关系,根据算子单元间的逻辑关系将多个算子阶段相连接,建立算子发布模型;
模型文件转化,接收算子发布模型,将所述算子发布模型转化为Json格式的模型文件。
采用上述方案,所述模型文件在被转化后,只需要将数据输入模型文件,使模型文件在指定的环境下运行,即可得出需要处理的数据结果,不需要根据模型中的算子的不同核心编程语言使用多种不同的运行环境,提高运行便捷度;另一方面,当训练模型添加或更新内部算子时,不需要为更新的算子重新构建运行环境,打破了新技术应用的壁垒,提高技术更新能力。
进一步地,所述算子发布模型建立还包括算子发布模型接入口创建,所述算子发布模型接入口创建包括步骤:
首算子阶段判断,接收所述算子发布模型,将算子发布模型运行时第一个运行的算子阶段判定为首算子阶段;
数据输入通道建立,所述数据输入通道一端与首算子阶段相连通用于向首算子阶段输入数据,另一端创建为算子发布模型接入口,所述算子发布模型接入口用于接收算子发布模型的输入数据。
采用上述方案,第三方可以将算子发布模型接入口建立在网页、app等位置,使用者可以从网页或app的算子发布模型接入口输入数据,不需要再次进行程序处理,提供使用时的便捷度。
优选地,所述算子发布模型建立还包括算子发布模型输出口创建,所述算子发布模型输出口创建包括步骤:
尾算子阶段判断,接收所述算子发布模型,将算子发布模型运行时最后一个运行的算子阶段判定为尾算子阶段;
数据输出通道建立,所述数据输出通道一端与尾算子阶段相连通用于传输尾算子阶段的输出数据,另一端创建为算子发布模型输出口,所述算子发布模型输出口用于输出算子发布模型的输出数据。
更优选地,所述算子发布模型接入口与算子发布模型输出口设置于同一界面上。
采用上述方案,将算子发布模型接入口与算子发布模型输出口设置于同一界面上,使用者能够在输入数据后,在同一界面上接收到输出数据,不需要重新进入其他界面,降低操作的复杂度,提高工作效率。
进一步地,所述算子训练模型为开发人员建立的算子模型,所述算子模型能独立完成数据处理任务,所述算子单元的运行环境可以有多种。
进一步地,所述算子单元逻辑关系获取的步骤还包括:
算子单元逻辑图获取,根据多个所述算子单元在算子训练模型中运行的先后顺序建立算子单元逻辑图,根据所述算子单元逻辑图提取算子单元间的逻辑关系。
采用上述方案,所述算子单元在算子训练模型中运行的先后顺序难以直接提取,在提取之前先建立算子单元逻辑图,使算子单元间的逻辑关系更加直观,便于提取。
进一步地,所述模型文件转化还包括步骤:
嵌套算子阶段,将转化为Json格式的算子阶段以嵌套结构排布,将所述首算子阶段设置在嵌套结构最内层,将所述尾算子阶段设置在嵌套结构最外层。
采用上述方案,使用者将需要处理的数据输入嵌套结构最内层,逐层向外输出,不需要再进行指向,提高运行效率。
进一步地,所述可移植性的模型发布方法还包括算子模型更新,当算子模型更新为增加算子时包括步骤:
接收更新算子单元,所述更新算子单元为需要加入到原模型文件中的算子单元;
更新算子单元转化,将更新算子单元根据PFA规范转化为Json格式;
逻辑关系确定,确定更新算子单元与原模型文件中的算子单元间的逻辑关系,将转化为Json格式的更新算子单元加入所述嵌套结构中。
采用上述方案,使所述模型文件实现可移植功能,并且提高模型文件的拓展灵活性,提高模型文件更新简便性。
进一步地,当算子模型更新为减少算子时包括步骤:
减少算子确定,确定原模型文件中需要减少的算子阶段;
减少算子位置确定,确定减少的算子阶段在原嵌套结构中的位置;
减少算子删除,将需要减少的算子阶段从原嵌套结构中删除。
采用上述方案,当需要减少多余算子阶段时,可以直接从嵌套结构中进行删除,提高模型文件更新速度。
本发明的第二方面提供了一种可移植性的模型发布系统,包括:
算子阶段获取模块,用于接收算子训练模型,所述算子训练模型中包括多个算子单元,多个所述算子单元相配合完成处理任务,将所述算子训练模型中的多个算子单元进行划分,对每个算子单元独立封装为一个算子阶段;
算子单元逻辑关系获取模块,用于根据多个所述算子单元在算子训练模型中运行的先后顺序,提取算子单元间的逻辑关系;
算子发布模型建立模块,用于获取多个算子阶段及算子阶段对应算子单元间的逻辑关系,根据算子单元间的逻辑关系将多个算子阶段相连接,建立算子发布模型;
模型文件转化模块,用于接收算子发布模型,将所述算子发布模型转化为Json格式的模型文件。
采用上述方案,所述模型文件在被转化后,只需要将数据输入模型文件,使模型文件在指定的环境下运行,即可得出需要处理的数据结果,不需要根据模型中的算子的不同核心编程语言使用多种不同的运行环境,提高运行便捷度;另一方面,当训练模型添加或更新内部算子时,不需要为更新的算子重新构建运行环境,打破了新技术应用的壁垒,提高技术更新能力。
进一步地,所述算子发布模型建立模块还包括算子发布模型接入口创建模块,所述算子发布模型接入口创建模块包括:
首算子阶段判断模块,用于接收所述算子发布模型,将算子发布模型运行时第一个运行的算子阶段判定为首算子阶段;
数据输入通道建立模块,所述数据输入通道一端与首算子阶段相连通用于向首算子阶段输入数据,另一端创建为算子发布模型接入口,所述算子发布模型接入口用于接收算子发布模型的输入数据。
采用上述方案,第三方可以将算子发布模型接入口建立在网页、app等位置,使用者可以从网页或app的算子发布模型接入口输入数据,不需要再次进行程序处理,提供使用时的便捷度。
优选地,所述算子发布模型建立模块还包括算子发布模型输出口创建模块,所述算子发布模型输出口创建模块包括:
尾算子阶段判断模块,用于接收所述算子发布模型,将算子发布模型运行时最后一个运行的算子阶段判定为尾算子阶段;
数据输出通道建立模块,所述数据输出通道一端与尾算子阶段相连通用于传输尾算子阶段的输出数据,另一端创建为算子发布模型输出口,所述算子发布模型输出口用于输出算子发布模型的输出数据。
更优选地,所述算子发布模型接入口与算子发布模型输出口设置于同一界面上。
采用上述方案,将算子发布模型接入口与算子发布模型输出口设置于同一界面上,使用者能够在输入数据后,在同一界面上接收到输出数据,不需要重新进入其他界面,降低操作的复杂度,提高工作效率。
进一步地,所述算子训练模型为开发人员建立的算子模型,所述算子模型能独立完成数据处理任务,所述算子单元的运行环境可以有多种。
进一步地,所述算子单元逻辑关系获取模块还包括:
算子单元逻辑图获取模块,用于根据多个所述算子单元在算子训练模型中运行的先后顺序建立算子单元逻辑图,根据所述算子单元逻辑图提取算子单元间的逻辑关系。
采用上述方案,所述算子单元在算子训练模型中运行的先后顺序难以直接提取,在提取之前先建立算子单元逻辑图,使算子单元间的逻辑关系更加直观,便于提取。
采用上述方案,所述算子训练数据为开发人员训练算子模型时所需的数据,在模型发布时,只需要将训练完成的模型进行发布,将所述算子数据中的算子训练数据删除,减少数据总量,提高发布效率。
进一步地,所述模型文件转化模块还包括:
嵌套算子阶段模块,将转化为Json格式的算子阶段以嵌套结构排布,将所述首算子阶段设置在嵌套结构最内层,将所述尾算子阶段设置在嵌套结构最外层。
采用上述方案,使用者将需要处理的数据输入嵌套结构最内层,逐层向外输出,不需要再进行指向,提高运行效率。
进一步地,所述可移植性的模型发布系统还包括算子模型更新模块,当算子模型更新为增加算子时包括:
接收更新算子单元模块,所述更新算子单元为需要加入到原模型文件中的算子单元;
更新算子单元转化模块,用于将更新算子单元根据PFA规范转化为Json格式;
逻辑关系确定模块,用于确定更新算子单元与原模型文件中的算子单元间的逻辑关系,将转化为Json格式的更新算子单元加入所述嵌套结构中。
采用上述方案,使所述模型文件实现可移植功能,并且提高模型文件的拓展灵活性,提高模型文件更新简便性。
进一步地,当算子模型更新为减少算子时包括:
减少算子确定模块,用于确定原模型文件中需要减少的算子阶段;
减少算子位置确定模块,用于确定减少的算子阶段在原嵌套结构中的位置;
减少算子删除模块,用于将需要减少的算子阶段从原嵌套结构中删除。
采用上述方案,当需要减少多余算子阶段时,可以直接从嵌套结构中进行删除,提高模型文件更新速度。
进一步地,所述算子模型更新的减少算子和增加算子可以单独作为增加算子或减少算子的更新,也可以在同一更新规划中同时进行增加和减少的步骤。
本发明的第三方面提供了一种可移植性的模型发布装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法。
本发明的第四方面提供了一种存储介质,所述存储介质包括一个或多个程序,所述一个或多个程序可以被处理器执行以完成上述的方法。
综上所述,本发明具有以下有益效果:
1、本发明的可移植性的模型发布方法,所述模型文件在被转化后,只需要将数据输入模型文件,使模型文件在指定的环境下运行,即可得出需要处理的数据结果,不需要根据模型中的算子的不同核心编程语言使用多种不同的运行环境,提高运行便捷度;
2、本发明的可移植性的模型发布方法,所述算子集中可以包括多种不同的算子模块,业务人员可以直接在算子集中提取需要的算子模块,减少寻找需要的算子所花费时间,提高工作效率;
3、本发明的可移植性的模型发布方法,将算子发布模型接入口与算子发布模型输出口设置于同一界面上,使用者能够在输入数据后,在同一界面上接收到输出数据,不需要重新进入其他界面,降低操作的复杂度,提高工作效率;
4、本发明的可移植性的模型发布方法,使用者将需要处理的数据输入嵌套结构最内层,逐层向外输出,不需要再进行指向,提高运行效率;
5、本发明的算子集调用方法,所述算子单元在算子训练模型中运行的先后顺序难以直接提取,在提取之前先建立算子单元逻辑图,使算子单元间的逻辑关系更加直观,便于提取。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明可移植性的模型发布方法一种实施方式的流程图;
图2为本发明可移植性的模型发布方法另一种实施方式的流程图;
图3为对图1细化步骤的流程图;
图4为对图2细化步骤的流程图;
图5为本发明可移植性的模型发布系统一种实施方式的示意图;
图6为本发明可移植性的模型发布系统第二种实施方式的示意图;
图7为本发明可移植性的模型发布系统第三种实施方式的示意图;
图8为所述Dag图的示意图;
图9为所述嵌套结构的结构示意图;
图10为对图1另一种细化步骤的流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
如图1所示,本发明的第一方面提供了一种可移植性的模型发布方法,包括以下步骤:
S100、算子阶段获取,接收算子训练模型,所述算子训练模型中包括多个算子单元,多个所述算子单元相配合完成处理任务,将所述算子训练模型中的多个算子单元进行划分,对每个算子单元独立封装为一个算子阶段;
在具体实施过程中,所述算子训练模型为开发人员在训练算子模型过程中的算子模型,所述算子模型能独立完成处理任务,所述算子单元为算子模型中的数据处理单元,所述数据处理单元用于完成处理任务过程中的处理步骤,所述数据处理单元包括但不限于分词单元、词过滤单元或TFIDF转换单元;所述算子阶段为算子单元从算子训练模型中独立封装后的算子单元,所述多个算子阶段相连接能够完成原算子训练模型所对应的处理任务。
S200、算子单元逻辑关系获取,根据多个所述算子单元在算子训练模型中运行的先后顺序,提取算子单元间的逻辑关系;
在具体实施过程中,所述算子训练模型中的算子单元为顺序处理,数据先从在先的算子单元进行处理,在后的算子单元接收在先的算子单元处理后的数据,进行处理,再将处理后的数据输入下一级算子,所述算子单元逻辑关系即为算子单元间的处理顺序。
S300、算子发布模型建立,获取多个算子阶段及算子阶段对应算子单元间的逻辑关系,根据算子单元间的逻辑关系将多个算子阶段相连接,建立算子发布模型;
在具体实施过程中,所述算子发布模型为算子阶段依照算子单元间的逻辑关系相连接建立的模型,所述算子发布模型中的算子阶段为各自独立的处理部分,所述算子训练模型中的算子单元没有进行封装不能独立。
S400、模型文件转化,接收算子发布模型,将所述算子发布模型转化为Json格式的模型文件;
在具体实施过程中,所述算子发布模型根据PFA规范转化为Json格式的模型文件。
在具体实施过程中,所述PFA规范(The Portable Format for Analytics,可移植分析格式)为通过获得可编译的数据信息,编译成可运行状态的组合,并以Json文档的形式生成结果,所述Json文档格式(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式,它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据,简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
采用上述方案,所述模型文件在被转化后,只需要将数据输入模型文件,使模型文件在指定的环境下运行,即可得出需要处理的数据结果,不需要根据模型中的算子的不同核心编程语言使用多种不同的运行环境,提高运行便捷度;另一方面,当训练模型添加或更新内部算子时,不需要为更新的算子重新构建运行环境,打破了新技术应用的壁垒,提高技术更新能力。
如图3、10所示,在步骤S300、算子发布模型建立中还包括S310、算子发布模型接入口创建,所述算子发布模型接入口创建包括步骤:
S311、首算子阶段判断,接收所述算子发布模型,将算子发布模型运行时第一个运行的算子阶段判定为首算子阶段;
在具体实施过程中,所述首算子阶段为数据处理过程中负责处理原始数据的算子阶段,并将处理过的输出的数据向下游的算子阶段传输。
S312、数据输入通道建立,所述数据输入通道一端与首算子阶段相连通用于向首算子阶段输入数据,另一端创建为算子发布模型接入口,所述算子发布模型接入口用于接收算子发布模型的输入数据;
在具体实施过程中,所述数据输入通道可以为互联网通道,输入数据通过互联网通道输入首算子阶段,所述算子发布模型接入口可以为网页中的窗口,输入数据从该窗口进入互联网通道。
采用上述方案,第三方可以将算子发布模型接入口建立在网页、app等位置,使用者可以从网页或app的算子发布模型接入口输入数据,不需要再次进行程序处理,提供使用时的便捷度。
在步骤S300、算子发布模型建立中还包括S320、算子发布模型输出口创建,所述S320、算子发布模型输出口创建包括步骤:
S321、尾算子阶段判断,接收所述算子发布模型,将算子发布模型运行时最后一个运行的算子阶段判定为尾算子阶段;
在具体实施过程中,所述尾算子阶段为数据处理过程中负责将全过程处理的数据输出的算子阶段,所述尾算子阶段处理完成的数据即为最终数据。
S322、数据输出通道建立,所述数据输出通道一端与尾算子阶段相连通用于传输尾算子阶段的输出数据,另一端创建为算子发布模型输出口,所述算子发布模型输出口用于输出算子发布模型的输出数据。
在具体实施过程中,所述数据输出通道也可以为互联网通道,输出数据通过互联网通道向外输出,所述算子发布模型输出口可以为网页中的窗口,使用者可以从窗口提取输出数据。
在具体实施过程中,所述算子发布模型接入口与算子发布模型输出口设置于同一界面上,所述界面可以为网页或app界面等。
采用上述方案,将算子发布模型接入口与算子发布模型输出口设置于同一界面上,使用者能够在输入数据后,在同一界面上接收到输出数据,不需要重新进入其他界面,降低操作的复杂度,提高工作效率。
在具体实施过程中,所述算子训练模型为开发人员建立的算子模型,所述算子模型能独立完成数据处理任务,所述算子单元的运行环境可以有多种。
在具体实施过程中,所述算子单元的运行环境包括但不限于TensorFlow、Caffe、Spark、Mahout等;TensorFlow是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief;Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎,Spark是UC Berkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点,但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS;Caffe,全称Convolutional Architecture for Fast Feature Embedding,是一个兼具表达性、速度和思维模块化的深度学习框架,由伯克利人工智能研究小组和伯克利视觉和学习中心开发。
在步骤S200、算子单元逻辑关系获取中还包括步骤:
S210、算子单元逻辑图获取,根据多个所述算子单元在算子训练模型中运行的先后顺序建立算子单元逻辑图,根据所述算子单元逻辑图提取算子单元间的逻辑关系;
如图3、8所示,在具体实施过程中,所述算子单元逻辑图用于表征多个所述算子单元间的逻辑关系,所述算子单元逻辑图为无环图,所述无环图可以为Dag图(DirectedAcyclic Graph,无回路有向图),Dag数据结构跟踪基本块中值和变量的计算和赋值,块中使用的来自别处的值表示为叶子结点,值上的操作表示为内部结点,新值的赋值表示为将目标变量或临时变量的名字附加到表示赋值的结点上。
采用上述方案,所述算子单元在算子训练模型中运行的先后顺序难以直接提取,在提取之前先建立算子单元逻辑图,使算子单元间的逻辑关系更加直观,便于提取。
如图3、9所示,在步骤S400、模型文件转化中还包括步骤:
S410、嵌套算子阶段,将转化为Json格式的算子阶段以嵌套结构排布,将所述首算子阶段设置在嵌套结构最内层,将所述尾算子阶段设置在嵌套结构最外层。
采用上述方案,使用者将需要处理的数据输入嵌套结构最内层,逐层向外输出,不需要再进行指向,提高运行效率。
如图2、4所示,在本发明一个优选的实施方式中,所述可移植性的模型发布方法还包括S500、算子模型更新,当算子模型更新为S510、增加算子时包括步骤:
S511、接收更新算子单元,所述更新算子单元为需要加入到原模型文件中的算子单元;
在具体实施过程中,所述更新算子单元为原模型文件更新后需要加入的算子单元。
S512、更新算子单元转化,将更新算子单元根据PFA规范转化为Json格式;
在具体实施过程中,原模型文件中的算子单元的格式都为Json格式,将将更新算子单元根据PFA规范转化为Json格式,便于统一格式,将更新算子单元加入原模型文件中,完成更新。
S513、逻辑关系确定,确定更新算子单元与原模型文件中的算子单元间的逻辑关系,将转化为Json格式的更新算子单元加入所述嵌套结构中;
在具体实施过程中,需要加入所述原模型文件中的算子单元在原模型文件中的算子单元间的位置为一个确定的位置,若需要在A算子和B算子中间加入C算子优化计算,则C算子的位置应该在A算子和B算子之间,将C算子嵌套在A算子和B算子之间。
采用上述方案,使所述模型文件实现可移植功能,并且提高模型文件的拓展灵活性,提高模型文件更新简便性。
在具体实施过程中,当算子模型更新为S520、减少算子时包括步骤:
S521、减少算子确定,确定原模型文件中需要减少的算子阶段;
在具体实施过程中,所述减少算子为原模型文件更新后需要删除的算子阶段。
S522、减少算子位置确定,确定减少的算子阶段在原嵌套结构中的位置;
在具体实施过程中,若有A、B、C三个算子阶段,在嵌套结构中,A在最内层,B在最外层,C嵌套在A、B之间,则数据处理顺序为A-C-B,若模型文件没有C算子阶段依旧可以完成处理任务,则C可以从模型文件中删除,确定C的位置,即可删除C算子阶段。
S523、减少算子删除,将需要减少的算子阶段从原嵌套结构中删除;
在具体实施过程中,若C算子阶段从模型文件中删除,则数据处理顺序为A-B,数据从A处理后直接进入B进行处理。
采用上述方案,当需要减少多余算子阶段时,可以直接从嵌套结构中进行删除,提高模型文件更新速度。
在具体实施过程中,所述算子单元中包括有算子标签,所述算子标签中包括但不限于算子名称、算子版本号和算子运行参数等;所述S210、算子筛选和S230、算子数据筛选均通过筛选算子标签进行筛选。
如图5所示,本发明的第二方面提供了一种可移植性的模型发布系统,包括:
算子阶段获取模块100,用于接收算子训练模型,所述算子训练模型中包括多个算子单元,多个所述算子单元相配合完成处理任务,将所述算子训练模型中的多个算子单元进行划分,对每个算子单元独立封装为一个算子阶段;
算子单元逻辑关系获取模块200,用于根据多个所述算子单元在算子训练模型中运行的先后顺序,提取算子单元间的逻辑关系;
算子发布模型建立模块300,用于获取多个算子阶段及算子阶段对应算子单元间的逻辑关系,根据算子单元间的逻辑关系将多个算子阶段相连接,建立算子发布模型;
模型文件转化模块400,用于接收算子发布模型,将所述算子发布模型转化为Json格式的模型文件。
采用上述方案,所述模型文件在被转化后,只需要将数据输入模型文件,使模型文件在指定的环境下运行,即可得出需要处理的数据结果,不需要根据模型中的算子的不同核心编程语言使用多种不同的运行环境,提高运行便捷度;另一方面,当训练模型添加或更新内部算子时,不需要为更新的算子重新构建运行环境,打破了新技术应用的壁垒,提高技术更新能力。
如图5、7所示,在具体实施过程中,所述算子发布模型建立模块300还包括算子发布模型接入口创建模块310,所述算子发布模型接入口创建模块包括:
首算子阶段判断模块311,用于接收所述算子发布模型,将算子发布模型运行时第一个运行的算子阶段判定为首算子阶段;
数据输入通道建立模块312,所述数据输入通道一端与首算子阶段相连通用于向首算子阶段输入数据,另一端创建为算子发布模型接入口,所述算子发布模型接入口用于接收算子发布模型的输入数据。
采用上述方案,第三方可以将算子发布模型接入口建立在网页、app等位置,使用者可以从网页或app的算子发布模型接入口输入数据,不需要再次进行程序处理,提供使用时的便捷度。
在具体实施过程中,所述算子发布模型建立模块300还包括算子发布模型输出口创建模块320,所述算子发布模型输出口创建模块包括:
尾算子阶段判断模块321,用于接收所述算子发布模型,将算子发布模型运行时最后一个运行的算子阶段判定为尾算子阶段;
数据输出通道建立模块322,所述数据输出通道一端与尾算子阶段相连通用于传输尾算子阶段的输出数据,另一端创建为算子发布模型输出口,所述算子发布模型输出口用于输出算子发布模型的输出数据。
在本发明一个优选的实施方式中,所述算子发布模型接入口与算子发布模型输出口设置于同一界面上。
采用上述方案,将算子发布模型接入口与算子发布模型输出口设置于同一界面上,使用者能够在输入数据后,在同一界面上接收到输出数据,不需要重新进入其他界面,降低操作的复杂度,提高工作效率。
在具体实施过程中,所述算子训练模型为开发人员建立的算子模型,所述算子模型能独立完成数据处理任务,所述算子单元的运行环境可以有多种。
在具体实施过程中,所述算子单元逻辑关系获取模块200还包括:
算子单元逻辑图获取模块210,用于根据多个所述算子单元在算子训练模型中运行的先后顺序建立算子单元逻辑图,根据所述算子单元逻辑图提取算子单元间的逻辑关系。
采用上述方案,所述算子单元在算子训练模型中运行的先后顺序难以直接提取,在提取之前先建立算子单元逻辑图,使算子单元间的逻辑关系更加直观,便于提取。
在具体实施过程中,所述模型文件转化模块400还包括:
嵌套算子阶段模块410,将转化为Json格式的算子阶段以嵌套结构排布,将所述首算子阶段设置在嵌套结构最内层,将所述尾算子阶段设置在嵌套结构最外层。
采用上述方案,使用者将需要处理的数据输入嵌套结构最内层,逐层向外输出,不需要再进行指向,提高运行效率。
如图6、7所示,在本发明一个优选的实施方式中,所述可移植性的模型发布系统还包括算子模型更新模块500,当算子模型更新为增加算子模块510时包括:
接收更新算子单元模块511,所述更新算子单元为需要加入到原模型文件中的算子单元;
更新算子单元转化模块512,用于将更新算子单元根据PFA规范转化为Json格式;
逻辑关系确定模块513,用于确定更新算子单元与原模型文件中的算子单元间的逻辑关系,将转化为Json格式的更新算子单元加入所述嵌套结构中。
采用上述方案,使所述模型文件实现可移植功能,并且提高模型文件的拓展灵活性,提高模型文件更新简便性。
在具体实施过程中,当算子模型更新为减少算子模块520时包括:
减少算子确定模块521,用于确定原模型文件中需要减少的算子阶段;
减少算子位置确定模块522,用于确定减少的算子阶段在原嵌套结构中的位置;
减少算子删除模块523,用于将需要减少的算子阶段从原嵌套结构中删除。
采用上述方案,当需要减少多余算子阶段时,可以直接从嵌套结构中进行删除,提高模型文件更新速度。
本发明的第三方面提供了一种可移植性的模型发布装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法。
本发明的第四方面提供了一种存储介质,所述存储介质包括一个或多个程序,所述一个或多个程序可以被处理器执行以完成上述的方法。
应当指出,对于本领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
应当理解,本申请实施例中,从权、各个实施例、特征可以互相组合结合,都能实现解决前述技术问题。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Rerad-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种可移植性的模型发布方法,其特征在于:包括以下步骤:
算子阶段获取,接收算子训练模型,所述算子训练模型中包括多个算子单元,多个所述算子单元相配合完成处理任务,将所述算子训练模型中的多个算子单元进行划分,对每个算子单元独立封装为一个算子阶段;
算子单元逻辑关系获取,根据多个所述算子单元在算子训练模型中运行的先后顺序,提取算子单元间的逻辑关系;
算子发布模型建立,获取多个算子阶段及算子阶段对应算子单元间的逻辑关系,根据算子单元间的逻辑关系将多个算子阶段相连接,建立算子发布模型;
模型文件转化,接收算子发布模型,将所述算子发布模型转化为Json格式的模型文件。
2.根据权利要求1所述的可移植性的模型发布方法,其特征在于:所述算子发布模型建立还包括算子发布模型接入口创建,所述算子发布模型接入口创建包括步骤:
首算子阶段判断,接收所述算子发布模型,将算子发布模型运行时第一个运行的算子阶段判定为首算子阶段;
数据输入通道建立,所述数据输入通道一端与首算子阶段相连通用于向首算子阶段输入数据,另一端创建为算子发布模型接入口,所述算子发布模型接入口用于接收算子发布模型的输入数据。
3.根据权利要求2所述的可移植性的模型发布方法,其特征在于:所述算子发布模型建立还包括算子发布模型输出口创建,所述算子发布模型输出口创建包括步骤:
尾算子阶段判断,接收所述算子发布模型,将算子发布模型运行时最后一个运行的算子阶段判定为尾算子阶段;
数据输出通道建立,所述数据输出通道一端与尾算子阶段相连通用于传输尾算子阶段的输出数据,另一端创建为算子发布模型输出口,所述算子发布模型输出口用于输出算子发布模型的输出数据。
4.根据权利要求3所述的可移植性的模型发布方法,其特征在于:所述算子发布模型接入口与算子发布模型输出口设置于同一界面上。
5.根据权利要求4所述的可移植性的模型发布方法,其特征在于:所述算子单元逻辑关系获取的步骤还包括:
算子单元逻辑图获取,根据多个所述算子单元在算子训练模型中运行的先后顺序建立算子单元逻辑图,根据所述算子单元逻辑图提取算子单元间的逻辑关系。
6.根据权利要求3-5任一项所述的可移植性的模型发布方法,其特征在于:所述模型文件转化还包括步骤:
嵌套算子阶段,将转化为Json格式的算子阶段以嵌套结构排布,将所述首算子阶段设置在嵌套结构最内层,将所述尾算子阶段设置在嵌套结构最外层。
7.根据权利要求6所述的可移植性的模型发布方法,其特征在于:所述可移植性的模型发布方法还包括算子模型更新,当算子模型更新为增加算子时包括步骤:
接收更新算子单元,所述更新算子单元为需要加入到原模型文件中的算子单元;
更新算子单元转化,将更新算子单元根据PFA规范转化为Json格式;
逻辑关系确定,确定更新算子单元与原模型文件中的算子单元间的逻辑关系,将转化为Json格式的更新算子单元加入所述嵌套结构中。
8.根据权利要求7所述的可移植性的模型发布方法,其特征在于:当算子模型更新为减少算子时包括步骤:
减少算子确定,确定原模型文件中需要减少的算子阶段;
减少算子位置确定,确定减少的算子阶段在原嵌套结构中的位置;
减少算子删除,将需要减少的算子阶段从原嵌套结构中删除。
9.一种可移植性的模型发布装置,其特征在于:包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述权利要求1-8任一项的方法。
10.一种存储介质,其特征在于:所述存储介质包括一个或多个程序,所述一个或多个程序可以被处理器执行以完成上述权利要求1-8任一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010772714.XA CN112130895B (zh) | 2020-08-04 | 2020-08-04 | 一种可移植性的模型发布方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010772714.XA CN112130895B (zh) | 2020-08-04 | 2020-08-04 | 一种可移植性的模型发布方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112130895A true CN112130895A (zh) | 2020-12-25 |
CN112130895B CN112130895B (zh) | 2022-04-15 |
Family
ID=73850645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010772714.XA Active CN112130895B (zh) | 2020-08-04 | 2020-08-04 | 一种可移植性的模型发布方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112130895B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477531A (zh) * | 2008-12-08 | 2009-07-08 | 山东浪潮齐鲁软件产业股份有限公司 | 一种流程模型从测试环境发布到生产环境的实现方法 |
WO2018146514A1 (en) * | 2017-02-07 | 2018-08-16 | Qatar University | Generalized operational perceptrons: newgeneration artificial neural networks |
CN109857833A (zh) * | 2018-12-30 | 2019-06-07 | 贝壳技术有限公司 | 一种规则引擎实现方法、装置及电子设备 |
CN110825511A (zh) * | 2019-11-07 | 2020-02-21 | 北京集奥聚合科技有限公司 | 一种基于建模平台模型运行流程调度方法 |
CN111028226A (zh) * | 2019-12-16 | 2020-04-17 | 北京百度网讯科技有限公司 | 算法移植的方法及装置 |
CN111291882A (zh) * | 2018-12-06 | 2020-06-16 | 北京百度网讯科技有限公司 | 一种模型转换的方法、装置、设备和计算机存储介质 |
CN111399853A (zh) * | 2020-02-20 | 2020-07-10 | 四川新网银行股份有限公司 | 机器学习模型与自定义算子的模板化部署方法 |
-
2020
- 2020-08-04 CN CN202010772714.XA patent/CN112130895B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477531A (zh) * | 2008-12-08 | 2009-07-08 | 山东浪潮齐鲁软件产业股份有限公司 | 一种流程模型从测试环境发布到生产环境的实现方法 |
WO2018146514A1 (en) * | 2017-02-07 | 2018-08-16 | Qatar University | Generalized operational perceptrons: newgeneration artificial neural networks |
CN111291882A (zh) * | 2018-12-06 | 2020-06-16 | 北京百度网讯科技有限公司 | 一种模型转换的方法、装置、设备和计算机存储介质 |
CN109857833A (zh) * | 2018-12-30 | 2019-06-07 | 贝壳技术有限公司 | 一种规则引擎实现方法、装置及电子设备 |
CN110825511A (zh) * | 2019-11-07 | 2020-02-21 | 北京集奥聚合科技有限公司 | 一种基于建模平台模型运行流程调度方法 |
CN111028226A (zh) * | 2019-12-16 | 2020-04-17 | 北京百度网讯科技有限公司 | 算法移植的方法及装置 |
CN111399853A (zh) * | 2020-02-20 | 2020-07-10 | 四川新网银行股份有限公司 | 机器学习模型与自定义算子的模板化部署方法 |
Non-Patent Citations (1)
Title |
---|
肖堃: "多层卷积神经网络深度学习算法可移植性分析", 《哈尔滨工程大学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112130895B (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112288091B (zh) | 基于多模态知识图谱的知识推理方法 | |
Alzubaidi et al. | Review of deep learning: concepts, CNN architectures, challenges, applications, future directions | |
Potash et al. | Here's my point: Joint pointer architecture for argument mining | |
CN110968660B (zh) | 基于联合训练模型的信息抽取方法和系统 | |
CN107133210A (zh) | 方案文本生成方法及系统 | |
CN106294313A (zh) | 学习用于实体消歧的实体及单词嵌入 | |
KR20180127622A (ko) | 텍스트 데이터 수집 및 분석을 위한 시스템 | |
CN111373406B (zh) | 使用问题匹配的先验知识提取的加速仿真设置过程 | |
CN106528613A (zh) | 智能问答方法及装置 | |
EP4111301A1 (en) | Learned graph optimizations for compilers | |
CN115512005A (zh) | 一种数据处理方法及其装置 | |
WO2024083121A1 (zh) | 一种数据处理方法及其装置 | |
CN113157183A (zh) | 深度学习模型构建方法、装置、电子设备及存储介质 | |
Li et al. | Automatically classifying non-functional requirements using deep neural network | |
CN112130895B (zh) | 一种可移植性的模型发布方法、装置和存储介质 | |
CN113505583A (zh) | 基于语义决策图神经网络的情感原因子句对提取方法 | |
WO2021120177A1 (zh) | 编译神经网络模型的方法和装置 | |
CN110457208A (zh) | 符号执行的引导方法、装置、设备及计算机可读存储介质 | |
CN115146730A (zh) | 一种基于bert模型的账单分类方法及装置 | |
KR20230065017A (ko) | 인공지능 분석 기반 프로그램 소스코드의 요약문 생성 장치 및 방법 | |
CN114816422A (zh) | 转换plsql代码的方法、装置、电子设备及存储介质 | |
CN114547308A (zh) | 文本处理的方法、装置、电子设备及存储介质 | |
Lee et al. | Deep neural network model construction with interactive code reuse and automatic code transformation | |
CN113392220A (zh) | 一种知识图谱生成方法、装置、计算机设备及存储介质 | |
Zhu et al. | TAG: UML Activity Diagram Deeply Supervised Generation from Business Textural Specification |
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 |