基于虚拟化环境的分布式视图像识别方法与流程

文档序号:17220683发布日期:2019-03-27 11:55阅读:161来源:国知局
基于虚拟化环境的分布式视图像识别方法与流程

本发明涉及虚拟化技术领域,特别是涉及一种基于虚拟化环境的分布式视图像识别方法。



背景技术:

随着移动互联网及4g网络的普及,人们每天接触到的媒体资讯越来越庞杂,借由移动互联网甚至很多人可以成为媒体信息的生产者。因此,对于新媒体内容的安全监管变成一个迫切的任务,对于规模非常庞大的互联网视图像数据,人工审核已经明显不能满足需求。伴随gpu运算及深度神经网络对于图像识别技术的快速发展,通过机器学习训练进而进行视图像识别的方案已经在非常多的领域展现出越来越重要的实用价值。

当前几个比较主流的深度学习框架,例如ensorflow、mxnet、caffe,各个框架对环境依赖、网络参数调试、模型训练、模型能力实例化均有自己的流程且互相不兼容。

在没有进行虚拟化情况下,如果需要将预处理、caffe、mxnet、tensorflow等框架的模型在同一个服务器上进行实例化,那必须在这台服务器上将这几个框架的环境依赖全部依次安装好,需要解决复杂的环境依赖冲突,如果要将当前服务器的环境移动到另外一台服务器,那就必须全部重新进行环境依赖安装,这个在大规模集群服务器情况下会是一件非常繁重的工作;

在项目工程化过程中,为了能够在一套平台中兼容多个深度学习框架,快速进行模型训练及模型能力实例化变成非常棘手的问题,对于gpu资源虚拟化也没有较成熟的方案,因此急需一个统一的平台规范来解决多框架的环境冲突,让模型训练、模型能力实例化变的更加简单,并管理调度各个模型在多个服务器节点上对gpu资源的分配使用。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于虚拟化环境的分布式视图像识别方法,通过对多个深度学习框架的整合,达到在一个平台环境中对多个深度学习框架模型能力的快速实例化,同时借由平台机制对多服务器节点的gpu资源进行虚拟化管理调配,通过虚拟化方案将项目中各个功能模块作对独立的镜像容器进行实例化,进而达到在单机或多机上快速进行项目部署及集群功能的建立。

本发明的目的是通过以下技术方案来实现的:基于虚拟化环境的分布式视图像识别方法,包括以下步骤:

s1:将视图像数据进行预处理,得到目标视图像数据;

s2:识别目标视图像数据,进行图像分类和目标检测,用统一的流程进行框架对接、模型能力实例化、进程安全保护工作;

s3:通过内部的web进行多服务器节点、多识别容器的部署及gpu资源分配管理;

s4:制作与图像分类功能、目标检测功能分类对应的镜像,并通过工程化脚本定制系统的资源分配功能、镜像加载功能、容器实例化功能以及容器内部服务自启动功能。

所述的步骤1包括以下子步骤:

s101:通过mt从cfg.ini中读取当台服务器节点的配置文件,然后按照配置文件的需求依次驱动相关服务;

s102:通过pre_base为服务管理框架基础文件提供基础数据流支持,并与mt实现反馈通信;

s103:在所述pre_base的基础上,通过preinstance制定及实现图片预处理、视频预处理的基本规则。

所述的步骤1还包括视图像数据的转码工作,采用gpu硬件加速方式将视图像数据转为目标格式的视图像数据。

所述步骤s103中preinstance框架为libkt_if.so,所述libkt_if.so按照时间间隔及关键帧进行抽帧,并将帧数据保存到本地磁盘或memcache服务器中。

所述步骤s2包括以下子步骤:

s201:通过mt从cfg.ini中读取当台服务器节点的配置文件,然后按照配置文件的需求依次驱动相关服务;

s202:通过rp_base为服务管理框架基础文件提供基础数据流支持,并与mt实现反馈通信;

s203:在所述rp_base的基础上,通过darknetinstance、caffeinstace、caffe2instance进行对应的网络加载、图片解析、图片识别流程。

本发明的有益效果是:

1)通过对当前主流的深度学习框架进行整合,达到多种框架模型识别能力的快速部署及实例化,基于平台的定制化开发对gpu多机集群的gpu资源进行虚拟化及管理调度,同时基于虚拟化方案,可以将预处理、模型识别能力包装成独立的容器,可以在单机或多机情况下快速的进行部署,实现了多个深度学习框架图像识别整合及分布式运算的目的,有效节约了整体计算时间,大大提高了计算效率。

2)通过内部的web进行多服务器节点、多识别容器的部署及gpu资源分配管理,借由平台机制对多服务器节点的gpu资源进行虚拟化管理调配,做到多机gpu资源的协同调度管理。

3)通过对虚拟化技术的运用,可以将相关服务及环境依赖全部进行隔离,对于多种深度学习框架(依赖环境比较复杂,部署及其容易造成环境冲突)可以进行快速整合,达到在单机或多机上灵活部署及应用快速实例化,同时借由成熟的分布式集群管理方案,可以对多节点服务器做到大规模的镜像容器应用编排管理。

附图说明

图1为服务器集群分布示意图;

图2为预处理视图像数据过程的示意图;

图3为识别视图像数据过程的示意图;

图4为虚拟化方案的流程示意图。

具体实施方式

下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

参阅图1-4,本发明提供一种技术方案:基于虚拟化环境的分布式视图像识别方法,包括以下步骤:

s1:将视图像数据进行预处理,得到目标视图像数据;

如图2所示,所述的步骤1包括以下子步骤:

s101:通过mt从cfg.ini中读取当台服务器节点的配置文件,然后按照配置文件的需求依次驱动相关服务;

s102:通过pre_base为服务管理框架基础文件提供基础数据流支持,并与mt实现反馈通信;

s103:在所述pre_base的基础上,通过preinstance制定及实现图片预处理、视频预处理的基本规则,即preinstance是基于pre_base父类的对应框架实现的具体服务。

所述步骤s103中preinstance框架为libkt_if.so,所述libkt_if.so按照时间间隔及关键帧进行抽帧,并将帧数据保存到本地磁盘或memcache服务器中,libkt_if.so为预处理基础库,python转接口为其python转接层。

所述的步骤1还包括视图像数据的转码工作,采用gpu(图形处理器)硬件加速方式将视图像数据转为目标格式的视图像数据,利用硬件来替代软件算法以充分利用硬件所固有的快速特性,提高计算效率,进一步的,还包括其他底层库,所述底层库为cuda.so、opencv.so、ffmpeg.so。

s2:识别目标视图像数据,进行图像分类和目标检测,用统一的流程进行框架对接、模型能力实例化、进程安全保护工作,进而拥有了统一的平台规范进行主流深度学习框架对接及模型能力实例化,统一的对外数据输入输出,统一的进程安全保护机制,统一的资源管理及调配机制,通过对多个深度学习框架的整合,达到在一个平台环境中对多个深度学习框架模型能力的快速实例化;

如图3所示,所述步骤s2包括以下子步骤:

s201:通过mt从cfg.ini中读取当台服务器节点的配置文件,然后按照配置文件的需求依次驱动相关服务;

s202:通过rp_base为服务管理框架基础文件提供基础数据流支持,并与mt实现反馈通信;

s203:在所述rp_base的基础上,通过darknetinstance、caffeinstace、caffe2instance进行对应的网络加载、图片解析、图片识别流程。

所述cfg.ini、mt、rp_base、darknetinstance、caffeinstace、caffe2instance组成基础平台服务套件。

进一步的,深度学习框架基础库包括darknet.s、caffe.so、caffe2.so,python转接层为其python转接口,gpu及其他底层库包括cuda.so、opencv.so等。

如图1和图4所示,s3:通过内部的web进行多服务器节点、多识别容器的部署及gpu资源分配管理,将需要处理的业务数据存放在服务器的文件里面,然后进行批量管理,借由平台机制对多服务器节点的gpu资源进行虚拟化管理调配,做到多机gpu资源的协同调度管理;

s4:制作与功能分类对应的镜像,并通过工程化脚本定制系统的资源分配功能、镜像加载功能、容器实例化功能以及容器内部服务自启动功能。

通过该虚拟化方案,可以将项目中各个功能模块作对独立的镜像容器来进行实例化,进而达到在单机或多机上快速进行项目部署及集群功能的建立,将每个深度学习框架、预处理等模块都独立为唯一的镜像,然后可以在多个服务器节点上进行快速的容器实例化,部署管理变的更加简单安全。

另外,通过对虚拟化技术的运用,可以将相关服务及环境依赖全部进行隔离,对于多种深度学习框架(依赖环境比较复杂,部署及其容易造成环境冲突)可以进行快速整合,达到在单机或多机上灵活部署及应用快速实例化,同时借由成熟的分布式集群管理方案,可以对多节点服务器做到大规模的镜像容器应用编排管理。

本发明通过对当前主流的深度学习框架进行整合,达到多种框架模型识别能力的快速部署及实例化,基于平台的定制化开发对gpu多机集群的gpu资源进行虚拟化及管理调度,同时基于虚拟化方案,可以将预处理、模型识别能力包装成独立的容器,可以在单机或多机情况下快速的进行部署,实现了多个深度学习框架图像识别整合及分布式运算的目的,有效节约了整体计算时间,大大提高了计算效率。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1