一种便于部署的机器学习模型系统及其调用方法技术方案

技术编号:25598145 阅读:59 留言:0更新日期:2020-09-11 23:56
本发明专利技术提供一种便于部署的机器学习模型系统及其调用方法。系统包括:python模块,其具有能够被调用的对外接口,且所述python模块内部的机器学习模型的核心算法由python语言编译得到;接口封装模块,其基于C/C++语言对所述python模块的对外接口进行封装,使所述python模块能够直接被外部C/C++调用。本系统主要算法基于python语言,对外提供C/C++接口。从实验到部署不需要改变编程语言,降低了部署难度,并且易于被其他程序调用。

【技术实现步骤摘要】
一种便于部署的机器学习模型系统及其调用方法
本专利技术涉及算法模型部署,具体而言,尤其涉及一种便于部署的机器学习模型系统及其调用方法。
技术介绍
软件行业中进行算法部署时,对外提供C/C++接口是最优选择,C/C++的接口明确且靠近底层,方便沟通和使用。对传统机器学习模型部署,常用方法是在目标终端上,使用现有或自己编写的机器学习框架进行部署。针对深度学习模型,则使用对应模型框架的C/C++接口。由于在模型实验阶段,python语言最为常用,当同时使用传统机器学习模型和深度学习模型时,如果进行部署,将试验阶段python代码转换成C/C++比较困难,而且有的python库没有对应的C/C++库。
技术实现思路
根据上述提出的模型部署时将python代码转换成C/C++困难的技术问题,而提供一种便于部署的机器学习模型系统。本专利技术通过用C/C++对python的接口进行封装来实现外部的C/C++调用,降低了机器学习模型部署所需的时间和难度,并且使训练好的机器学习模型算法可以灵活地被其他程序调用。本专利技术采用的技术手段本文档来自技高网...

【技术保护点】
1.一种便于部署的机器学习模型系统,其特征在于,包括:/npython模块,所述python模块内部的机器学习模型的核心算法由python语言编译得到,且具有能够被调用的对外接口;/n接口封装模块,所述接口封装模块基于C/C++语言对所述python模块的对外接口进行封装,使所述python模块能够直接被外部C/C++调用。/n

【技术特征摘要】
1.一种便于部署的机器学习模型系统,其特征在于,包括:
python模块,所述python模块内部的机器学习模型的核心算法由python语言编译得到,且具有能够被调用的对外接口;
接口封装模块,所述接口封装模块基于C/C++语言对所述python模块的对外接口进行封装,使所述python模块能够直接被外部C/C++调用。


2.根据权利要求1所述的便于部署的机器学习模型系统,其特征在于,所述python模块包括整体流程模块以及预测器模块;
所述整体流程模块用于向接口封装模块提供初始化接口、预测接口以及资源释放接口;
所述预测器模块包括预测器基类、若干预测器子类以及多预测器类,其中,所述预测器基类用于提供共通的数据预处理功能和预测接口的函数声明,所述预测器子类用于提供模型初始化的函数定义和预测接口的函数定义,所述多预测器类用于综合多个预测器子类的结果输出最终预测结果。


3.根据权利要求2所述的便于部署的机器学习模型系统,其特征在于,基于所述预测器基类建立新的预测期子类,通过实现所述预测器基类的预测接口,将新的预测器子类组入预测器模块。


4.根据权利要求2所述的便于部署的机器学习模型系统,其特征在于,所述python模块还包括注册模块,所述注册模块用于生成机器码;
系统开发端获取所述机器码后对其进行加密生成注册码文件,然后利用所述注册码文件进行注册,所述注册模块对该注册码文件是否已经注册过以及是否在有效期内做出判断后,保存该注册状态。


5.根据权利要求2所述的便于部署的机器学习模型系统,其特征在于,所述python模块还包括可视化模块;
相应地,所述整体流程模块还用于向接口封装模块提供可视化接口。


6.一种机器学习模型的调用方法,其特征在于,将权利要求1-5中所述的机器学习模型系统编译为动态库,利用主程序调用所述动态库。

...

【专利技术属性】
技术研发人员:王建超李雪来关军王新琪于丹
申请(专利权)人:大连东软教育科技集团有限公司
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1