一种高效的深度学习模型部署框架制造技术

技术编号:24408933 阅读:60 留言:0更新日期:2020-06-06 08:19
本发明专利技术涉及人工智能的技术领域,特别是涉及一种高效的深度学习模型部署框架,以当前市面上最优的算法作为基础,以JSON配置文件为纽带,将算法以指定顺序执行,实现了深度学习主干网络在指定设备环境的组建和运行,实现了深度学习模型由python端一键部署至指定设备的功能,同时模型模块实现了实用模型算法的一键迁移检测、识别和系统部署,模型部署采用JSON配置文件,易于维护、管理和更新;包括算法模块、接口模块、组织模块、网络模块和模型模块,算法模块、接口模块、组织模块、网络模块和模型模块的关系呈金字塔结构,算法模块提供基础算法作为整个深度学习框架的基础。

An efficient deployment framework of deep learning model

【技术实现步骤摘要】
一种高效的深度学习模型部署框架
本专利技术涉及人工智能的
,特别是涉及一种高效的深度学习模型部署框架。
技术介绍
众所周知,近几年随着人工智能的飞速发展,智能设备在监控、识别、检测等领域发挥着重要作用,也涌现出许多优秀的方案和产品。而人工智能模型的部署是人工智能产品中繁琐且重要的环节,为了提高模型的部署效率专利技术了一种高效的深度学习模型部署框架,该框架使用C/C++开发,使用JSON文本部署模型。目前在人工智能领域中,存在许多优秀的深度学习模型部署框架,如CMSIS-NN,NCNN等,但该类的深度学习模型部署框架更多的是考虑通用性,因此在指定设备或产品上无法将模型性能发挥至极致,现有的深度学习模型部署框架仍处于开发和优化阶段,如果将其用于产品的开发可能存在隐患且不利于后期维护,支持一键部署的模型较单一,大多数只支持热门的网络结构,如VGG系列、Resnet系列和YOLO系列等,对于用户自己搭建的网络结构支持并不理想,且在跨平台和多系统支持上具有局限性。
技术实现思路
为解决上述技术问题,本专利技术提供一种融合现有深度学习算法库的最优算法,可跨平台,支持多系统,模型部署灵活、方便,易维护、管理和更新,在指定设备或产品中,可将模型的性能发挥至极致的高效的深度学习模型部署框架。本专利技术的一种高效的深度学习模型部署框架,包括算法模块、接口模块、组织模块、网络模块和模型模块,算法模块、接口模块、组织模块、网络模块和模型模块的关系呈金字塔结构,算法模块提供基础算法作为整个深度学习框架的基础,接口模块对算法模块进行组装或二次封装,为组织模块提供易用、灵活的接口函数,起到桥梁的作用,组织模块为整个深度学习框架的核心,通过解析JSON模型配置文件获取模型的网络信息,并根据模型的网络信息导出模型参数,同时根据模型网络各层间的顺序调用相对应的接口函数,从而实现模型一键部署功能,网络模块为组织模块的产物,网络模块提供当下热门且实用的主干网络,开发人员可直接将网络模块的主干网络应用于开发过程中,模型模块为整个深度学习框架的应用实例,由组织模块或网络模块提供主干网络,由接口模块提供算法接口函数,由算法模块提供基础算法,开发人员可直接将该模块中的模型用于开发过程。本专利技术的一种高效的深度学习模型部署框架,算法模块包括卷积、池化,全连接、图像处理等算法,算法模块作为深度学习框架的最底层,使用C语言和汇编语言编写一个个独立的算法,为整个深度学习框架提供算法基础。本专利技术的一种高效的深度学习模型部署框架,接口模块使用函数指针的方式对算法进行组装或二次封装,从而使得接口函数变得灵活和易于调用。本专利技术的一种高效的深度学习模型部署框架,组织模块通过读取JSON模型配置文件,获取模型结构信息,在python端时,通过读取JSON文件的模型结构信息,将Keras、Tensorflow或PyTorch框架下的模型参数导出,并保存为特定文件格式,在C/C++端时,通过读取JSON文件的模型结构信息、设备或产品性能信息和导出的模型参数,组建出一个可直接运行于C/C++端的深度学习网络。本专利技术的一种高效的深度学习模型部署框架,网络模块块记录和实现了目前实用、热门的网络结构,包括VGG系列、ResNet系列、MobileNet系列、Darknet等主干网络。本专利技术的一种高效的深度学习模型部署框架,模型模块记录和实现了当前实用的网络模型,包括MTCNN模型、RetinaNet模型、YOLO-V3模型、人脸检测识别模型等,用户直接调用或修改模型参数即可将该模块中的模型算法应用于指定设备或产品中。本专利技术的一种高效的深度学习模型部署框架,整个深度学习框架以算法模块为基础,组织模块为核心,各模块间相互独立、互不影响。与现有技术相比本专利技术的有益效果为:以当前市面上最优的算法作为基础,以JSON配置文件为纽带,将算法以指定顺序执行,实现了深度学习主干网络在指定设备环境的组建和运行,实现了深度学习模型由python端一键部署至指定设备的功能,同时模型模块实现了实用模型算法的一键迁移检测、识别和系统部署,是深度学习模型部署至指定设备环境的巨大创新专利技术,在实际开发部署中,开发人员只需要根据自己的模型结构、配置信息编写JSON文件即可将训练完成的模型部署至指定设备环境,降低了深度学习模型部署的难度,同时也提高了开发人员的工作效率以及深度学习模型算法的落地能力,模型部署采用JSON配置文件,当模型网络结构发生变化时,只需要相应的修改JSON配置文件即可完成重新部署,易于维护、管理和更新。附图说明图1是本专利技术的框架各模块间关系及结构示意图;图2是框架的使用流程示意图;附图中标记:1、算法模块;2、接口模块;3、组织模块;4、网络模块;5、模型模块。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。如图1至图2所示,本专利技术的一种高效的深度学习模型部署框架,包括算法模块1、接口模块2、组织模块3、网络模块4和模型模块5,算法模块1、接口模块2、组织模块3、网络模块4和模型模块5的关系呈金字塔结构,收集当下通用算法库及深度学习算法库中最优的基础算法、图像处理算法及神经网络算法,并将该类算法编写为本框架中的基础算法,作为整个深度学习框架的基础,对算法模块1中的基础算法做二次封装或组装成新的网络元件(如残差网络结构、Inception网络结构等),使得算法在组织模块3中变得易用、灵活,编写JSON一键网络部署文件,文件内容分配置信息、网络结构、训练参数和模型性能四个部分:配置信息包括运行系统(Windows、Linux、LiteOS等)、编译环境、编译命令、网络输入尺寸和网络输出尺寸;网络结构包括卷积层信息、池化层信息、全连接层信息、BatchNormalization层信息、separable卷积层信息、DepthwiseConvolution卷积层信息、激活函数信息、残差网络结构信息和Inception网络结构信息;训练参数包括学习率、优化器算法、优化器参数、损失函数信息、正则函数、正则系数、批次信息、训练次数和随机种子;模型性能内有训练集总样本数、训练集各类样本数、验证集总样本数、验证集各类样本数、模型总mAP和模型各类别mAP;在python端,程序解析JSON文件,根据JSON文件中的网络结构信息,将训练完成的模型参数从TensorFlow、Keras或PyTorch深度学习框架中导出,并保存为本地的参数文件,其中,该参数文件的模型参数按层保存,每层的前半部分记录对应层的网络结构信息,后半部记录该层的所有参数内容,在C/C++端,程序解析JSON文件,根据JSON文件中的配置信息、运行系统、编译命令等在本框架中选择最适合该系统的算法,同时根据JSON文件的网络结构信息及对应的模型参数文件,利用本深度学习框架组建出模型的主干网络并直接用于开发过程,在网络模块4中,已经编写好本文档来自技高网...

【技术保护点】
1.一种高效的深度学习模型部署框架,其特征在于,包括算法模块(1)、接口模块(2)、组织模块(3)、网络模块(4)和模型模块(5),算法模块(1)、接口模块(2)、组织模块(3)、网络模块(4)和模型模块(5)的关系呈金字塔结构,算法模块(1)提供基础算法作为整个深度学习框架的基础,接口模块(2)对算法模块(1)进行组装或二次封装,为组织模块(3)提供易用、灵活的接口函数,起到桥梁的作用,组织模块(3)为整个深度学习框架的核心,通过解析JSON模型配置文件获取模型的网络信息,并根据模型的网络信息导出模型参数,同时根据模型网络各层间的顺序调用相对应的接口函数,从而实现模型一键部署功能,网络模块(4)为组织模块(3)的产物,网络模块(4)提供当下热门且实用的主干网络,开发人员可直接将网络模块(4)的主干网络应用于开发过程中,模型模块(5)为整个深度学习框架的应用实例,由组织模块(3)或网络模块(4)提供主干网络,由接口模块(2)提供算法接口函数,由算法模块(1)提供基础算法,开发人员可直接将该模块中的模型用于开发过程。/n

【技术特征摘要】
1.一种高效的深度学习模型部署框架,其特征在于,包括算法模块(1)、接口模块(2)、组织模块(3)、网络模块(4)和模型模块(5),算法模块(1)、接口模块(2)、组织模块(3)、网络模块(4)和模型模块(5)的关系呈金字塔结构,算法模块(1)提供基础算法作为整个深度学习框架的基础,接口模块(2)对算法模块(1)进行组装或二次封装,为组织模块(3)提供易用、灵活的接口函数,起到桥梁的作用,组织模块(3)为整个深度学习框架的核心,通过解析JSON模型配置文件获取模型的网络信息,并根据模型的网络信息导出模型参数,同时根据模型网络各层间的顺序调用相对应的接口函数,从而实现模型一键部署功能,网络模块(4)为组织模块(3)的产物,网络模块(4)提供当下热门且实用的主干网络,开发人员可直接将网络模块(4)的主干网络应用于开发过程中,模型模块(5)为整个深度学习框架的应用实例,由组织模块(3)或网络模块(4)提供主干网络,由接口模块(2)提供算法接口函数,由算法模块(1)提供基础算法,开发人员可直接将该模块中的模型用于开发过程。


2.如权利要求1所述的一种高效的深度学习模型部署框架,其特征在于,算法模块(1)包括卷积、池化,全连接、图像处理等算法,算法模块(1)作为深度学习框架的最底层,使用C语言和汇编语言编写一个个独立的算法,为整个深度学习框架提供算法基础。


3.如权利要求2所述的一种高效的深度学习模型部...

【专利技术属性】
技术研发人员:王亮廖镜森杨嘉盛
申请(专利权)人:深圳市守行智能科技有限公司
类型:发明
国别省市:广东;44

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

1