基于深度学习预测部分的跨平台实现架构及方法技术

技术编号:18444480 阅读:40 留言:0更新日期:2018-07-14 10:12
本发明专利技术公开了一种基于深度学习预测部分的跨平台实现架构,包括基础层、接口层和开发层;基础层包括集成操作内核、跨平台编译环境、预测代码裁剪配置和人工神经网络;基础层用于封装出深度学习预测部分统一接口;接口层包括所述深度学习预测部分统一接口及接口转换工具;接口转换工具用于将深度学习预测部分统一接口转换成预设目标接口;开发层包括各类开发端,用于连接接口层,并调用与开发端支持接口类型对应的适用接口,以实现深度学习预测部分的跨平台移植。本发明专利技术还公开了一种基于深度学习预测部分的跨平台实现方法。本发明专利技术完善了深度学习开发框架基于深度学习预测部分的跨平台实现,从而提高深度学习预测部分的产品化效率。

Architecture and method of cross platform implementation based on deep learning prediction part

The invention discloses a cross platform implementation architecture based on depth learning prediction, including the basic layer, interface layer and development layer. The basic layer includes integrated operation kernel, cross platform compilation environment, prediction code clipping configuration and artificial neural network; the basic layer is used to encapsulate the unified interface of the depth learning prediction part; The interface layer includes the unified interface and interface conversion tool for depth learning and prediction; the interface conversion tool is used to convert the unified interface of depth learning and prediction into a preset target interface; the development layer includes various types of developers to connect the interface layer and invoke the applicable interface corresponding to the development side support interface type. The cross platform migration of the prediction part of the present depth of learning. The invention also discloses a cross platform implementation method based on the deep learning prediction part. The invention improves the cross platform implementation of the deep learning development framework based on the deep learning prediction part, thereby improving the product efficiency of the deep learning prediction part.

【技术实现步骤摘要】
基于深度学习预测部分的跨平台实现架构及方法
本专利技术涉及机器学习的
,尤其涉及基于深度学习预测部分的跨平台实现架构及方法。
技术介绍
机器学习作为一门多领域交叉学科,是人工智能的核心研究领域。而深度学习是机器学习的关键性技术,其越来越受到各国研究人员的关注和重视。机器学习和深度学习领域有很多的开发框架,例如Tensorflow、Caffe、Theano。其中,Tensorflow是迄今为止应用最广泛、具有优异表现的深度学习开发框架。谷歌公司在2015年开源了Tensorflow的首个版本;而且Tensorflow目前在深度学习开发框架中世界排名第一。但是,目前深度学习开发框架更多是侧重于云计算和在线预测,对于端侧设备本地直接预测的场景都还有很大完善空间。另外,从用户端速度体验、离线预测方案需求、以及端侧设备计算资源充分利用等角度来看,对深度学习的预测部分进行跨平台、轻量级的实现是必要的,而且将会极大地提高深度学习预测部分的产品化效率。以Tensorflow为例,在跨平台预测的实现上,仍存在很多需要完善的方面,具体包括:(1)Tensorflow接口不统一。对于不同平台,提供的实现方案不同;对于不同的编程语言,支持的接口各异,导致用户学习成本上升;不同端侧实现相同业务的代码迥异,开发和维护管理成本高,质量控制困难。(2)Tensorflow应用层接口封装方式不够统一、变化较快,甚至造成部分业务在某些平台上无法实现。(3)Tensorflow官方发布支持平台种类有限。例如官方没有宣称负责支持维护嵌入式设备。在移动端、嵌入式系统等端侧设备的高效率移植、功能的实现、性能调优方面均有待完善。(4)Tensorflow框架内核体量较大、使用应用层接口无法深入。由于抢占云计算研发入口的战略等因素,Tensorflow整体倾向于云计算、在线预测。内核体量较大,包含了训练和预测两部分的代码。多数开发者仅工作在应用层,无法深入Tensorflow底层进行裁剪。
技术实现思路
本专利技术主要目的在于提供一种基于深度学习预测部分的跨平台实现架构及方法,旨在完善深度学习开发框架基于深度学习预测部分的跨平台实现,从而提高深度学习预测部分的产品化效率。为实现上述目的,本专利技术提供的一种基于深度学习预测部分的跨平台实现架构,所述架构包括基础层、接口层和开发层;其中,所述基础层包括集成操作内核、跨平台编译环境、预测代码裁剪配置和人工神经网络;所述基础层用于封装出深度学习预测部分统一接口;所述接口层包括所述深度学习预测部分统一接口及接口转换工具;其中,所述接口转换工具用于将所述深度学习预测部分统一接口转换成预设目标接口;所述开发层包括开发端,用于连接所述接口层,并调用与开发端支持接口类型对应的适用接口,以实现深度学习预测部分的跨平台移植;其中,所述适用接口为所述深度学习预测部分统一接口或者所述预设目标接口。优选地,所述集成操作内核为Tensorflow框架内核。优选地,所述深度学习预测部分统一接口为C++接口,用于连接支持所述C++接口的开发端的连接,以供支持所述C++接口的开发端进行调用;所述接口转换工具为SWIG工具,用于连接不支持所述C++接口的开发端,并将所述C++接口转换成预设目标接口,以供不支持所述C++接口的开发端进行调用。优选地,所述开发层包括支持所述C++接口的第一类开发端、以及不支持所述C++接口的第二类开发端。优选地,所述第一类开发端包括:IOS、C++server、Linux、Embeddeddevice。优选地,所述第二类开发端包括:Android、Pythonserver、Javaserver、Rserver、Goserver。此外,为实现上述目的,本专利技术还提供一种基于深度学习预测部分的跨平台实现方法,应用于如上所述的基于深度学习预测部分的跨平台实现框架,包括如下步骤:搭建基础层,以封装出深度学习预测部分统一接口;其中,所述基础层包括集成操作内核、跨平台编译环境、预测代码裁剪配置和人工神经网络;基于所述深度学习预测部分统一接口,搭建接口层;其中,所述接口层包括所述深度学习预测部分统一接口及接口转换工具;所述接口转换工具用于将所述深度学习预测部分统一接口转换成预设目标接口;当检测到开发端连接所述接口层的请求信号时,确认所述开发端支持的接口类型;根据所述开发端支持的接口类型,确定对应的适用接口,并实现所述开发端对所述适用接口的调用,以实现深度学习预测部分的跨平台移植;其中,所述适用接口为所述深度学习预测部分统一接口或者所述预设目标接口。优选地,所述根据所述开发端支持的接口类型,确定对应的适用接口的步骤,具体包括:当所述开发端支持的接口类型包括所述深度学习预测部分统一接口的接口类型时,确定所述深度学习预测部分统一接口为所述适用接口;当所述开发端支持的接口类型不包括所述深度学习预测部分统一接口的接口类型时,通过所述接口转换工具将所述深度学习预测部分统一接口转换成预设目标接口;其中所述开发端支持的接口类型包括所述预设目标接口的接口类型。优选地,所述集成操作内核为Tensorflow框架内核。优选地,所述深度学习预测部分统一接口为C++接口,用于连接支持所述C++接口的开发端的连接,以供支持所述C++接口的开发端进行调用;所述接口转换工具为SWIG工具,用于连接不支持所述C++接口的开发端,并将所述C++接口转换成预设目标接口,以供不支持所述C++接口的开发端进行调用。优选地,所述开发层包括支持所述C++接口的第一类开发端、以及不支持所述C++接口的第二类开发端;其中,所述第一类开发端包括:IOS、C++server、Linux、Embeddeddevice;所述第二类开发端包括:Android、Pythonserver、Javaserver、Rserver、Goserver。本专利技术提供一种基于深度学习预测部分的跨平台实现架构及方法,对某一深度学习开发框架下在各个开发端上各自实现的纷乱接口进行了剥离,直接使用集成的深度学习开发框架内核,并重新针对业务需求封装出深度学习预测部分统一接口,并结合接口层的接口转换工具的条件性使用,提供适用于不同开发端的相关接口,避免了不同类别开发端重复生成接口,使得不同的开发系统平台、不同编程语言的开发端均可以应用本实施例中的跨平台架构,并实现深度学习的预测功能。同时,通过搭建基础层(包括集成操作内核、跨平台编译环境、预测代码裁剪配置和人工神经网络)与接口层,避免了不同类别开发端重复生成接口、重复定义训练代码等繁琐、重复性操作流程,提高了深度学习预测部分的产品化效率,有助于降低开发系统的维护成本、以及提升软件性能。附图说明图1为本专利技术基于深度学习预测部分的跨平台实现架构的第一实施例框图。图2为本专利技术基于深度学习预测部分的跨平台实现架构的第二实施例框图。图3为本专利技术基于深度学习预测部分的跨平台实现方法的第一实施例的流程示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术提供一种基于深度学习预测部分的跨平台实现架构,包括基础层10、接口层20和开发层30;其中,所述本文档来自技高网
...

【技术保护点】
1.一种基于深度学习预测部分的跨平台实现架构,其特征在于,所述架构包括基础层、接口层和开发层;其中,所述基础层包括集成操作内核、跨平台编译环境、预测代码裁剪配置和人工神经网络;所述基础层用于封装出深度学习预测部分统一接口;所述接口层包括所述深度学习预测部分统一接口及接口转换工具;其中,所述接口转换工具用于将所述深度学习预测部分统一接口转换成预设目标接口;所述开发层包括开发端,用于连接所述接口层,并调用与开发端支持接口类型对应的适用接口,以实现深度学习预测部分的跨平台移植;其中,所述适用接口为所述深度学习预测部分统一接口或者所述预设目标接口。

【技术特征摘要】
1.一种基于深度学习预测部分的跨平台实现架构,其特征在于,所述架构包括基础层、接口层和开发层;其中,所述基础层包括集成操作内核、跨平台编译环境、预测代码裁剪配置和人工神经网络;所述基础层用于封装出深度学习预测部分统一接口;所述接口层包括所述深度学习预测部分统一接口及接口转换工具;其中,所述接口转换工具用于将所述深度学习预测部分统一接口转换成预设目标接口;所述开发层包括开发端,用于连接所述接口层,并调用与开发端支持接口类型对应的适用接口,以实现深度学习预测部分的跨平台移植;其中,所述适用接口为所述深度学习预测部分统一接口或者所述预设目标接口。2.如权利要求1所述的基于深度学习预测部分的跨平台实现架构,其特征在于,所述集成操作内核为Tensorflow框架内核。3.如权利要求2所述的基于深度学习预测部分的跨平台实现架构,其特征在于,所述深度学习预测部分统一接口为C++接口,用于连接支持所述C++接口的开发端的连接,以供支持所述C++接口的开发端进行调用;所述接口转换工具为SWIG工具,用于连接不支持所述C++接口的开发端,并将所述C++接口转换成预设目标接口,以供不支持所述C++接口的开发端进行调用。4.如权利要求3所述的基于深度学习预测部分的跨平台实现架构,其特征在于,所述开发层包括支持所述C++接口的第一类开发端、以及不支持所述C++接口的第二类开发端。5.如权利要求4所述的基于深度学习预测部分的跨平台实现架构,其特征在于,所述第一类开发端包括:IOS、C++server、Linux、Embeddeddevice;所述第二类开发端包括:Android、Pythonserver、Javaserver、Rserver、Goserver。6.一种基于深度学习预测部分的跨平台实现方法,应用于如权利要求1所述的基于深度学习预测部分的跨平台实现框架,其特征在于,包括如下步骤:搭建基础层,以封装出深度学习预测部分统一接口;其中,所述基础层包括集成操作内核、跨平台编译环境、预测代码裁剪配置和人工神经网络;基于所述深度学习预测...

【专利技术属性】
技术研发人员:刘振
申请(专利权)人:深圳竹信科技有限公司
类型:发明
国别省市:广东,44

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

1