本申请公开了一种深度学习模型任务处理方法、系统、服务器及存储介质。深度学习模型任务处理方法包括:远程过程调用服务接收深度学习模型任务请求,并将深度学习模型任务请求存储至消息中间件;消息中间件将深度学习模型任务请求分发至分布式任务队列的多个任务执行单元;多个任务执行单元并发执行处理深度学习模型任务请求,获得执行结果。通过上述方式,本申请能够降低技术成本,有效便捷的提供深度学习模型任务处理服务。
Task processing method, system, server and storage medium of deep learning model
【技术实现步骤摘要】
深度学习模型任务处理方法、系统、服务器及存储介质
本申请涉及智能服务领域,特别是涉及深度学习模型任务处理方法、系统、服务器及存储介质。
技术介绍
随着智能服务的发展,越来越多的领域场景使用预先训练的模型进行目标检测、目标识别等,如深度学习模型。但是,模型的部署训练是一个复杂的过程,大致可以分成为六个步骤,首先我们要确定工作任务,确定完工作任务后可能需要大致设计模型,确定完成模型后再确定模型大致需要什么数据,并着手收集数据,将收集的数据进行调整并用于训练模型,将训练的模型用于测试集中进行测试来验证训练的模型效果。如果效果未能达到上线要求,则需要重新回过头来收集更多的数据亦或者重新调整模型设计直到训练的模型的测试精度达到上线标准。另外,模型一般部署在GPU服务器上,需要考虑服务器的选型、依赖的软件选型、环境的规划等。复杂的模型部署方案有操作系统要求,既需要支持模型框架导出的模型,后端也需要调度CPU、GPU等异构计算资源等等。这使得模型处理深度学习任务需要很高的成本。
技术实现思路
本申请主要解决的技术问题是提供一种深度学习模型任务处理方法、系统、服务器及存储介质,能够降低深度学习模型任务处理的技术成本,有效便捷的提供深度学习模型任务处理服务。为解决上述技术问题,本申请采用的一个技术方案是:提供一种深度学习模型任务处理方法,深度学习模型任务处理方法包括:远程过程调用服务接收深度学习模型任务请求,并将深度学习模型任务请求存储至消息中间件;消息中间件将深度学习模型任务请求分发至分布式任务队列的多个任务执行单元;多个任务执行单元并发执行处理深度学习模型任务请求,获得执行结果。其中,多个任务执行单元将执行结果存储至消息中间件。其中,远程过程调用服务调取消息中间件中的执行结果,将执行结果返回用户方。其中,远程过程调用服务接收深度学习模型任务请求包括:代理服务接收深度学习模型任务请求,并监听远程过程调用服务的服务端口;代理服务向远程过程调用服务转发深度学习模型任务请求。其中,远程过程调用服务、消息中间件和分布式任务队列集成为任务处理服务,任务处理服务至少为两个,代理服务向远程过程调用服务转发深度学习模型任务请求包括:代理服务将深度学习模型任务请求随机转发给任意一个任务处理服务的远程过程调用服务。其中,分布式任务队列为Celery,消息中间件为RabbitMQ,远程过程调用服务为gRPC,代理服务为nginx。为解决上述技术问题,本申请采用的另一个技术方案是:提供一种深度学习模型任务处理系统,该深度学习模型任务处理系统包括:远程过程调用服务模块、消息中间件模块和多个任务执行模块,远程过程调用服务模块用于接收深度学习模型任务请求,并将深度学习模型任务请求存储至消息中间件;消息中间件模块用于将深度学习模型任务请求分发至分布式任务队列的多个任务执行单元;多个任务执行模块用于并发执行处理深度学习模型任务请求,获得执行结果。其中,远程过程调用服务模块、消息中间件模块和多个任务执行模块集成为任务处理服务模块,任务处理服务模块至少为两个。为解决上述技术问题,本申请采用的另一个技术方案是:提供一种服务器,服务器包括处理器,处理器用于执行指令以实现上述任一深度学习模型任务处理方法。为解决上述技术问题,本申请采用的又一个技术方案是:提供一种计算机可读存储介质,计算机可读存储介质用于存储指令/程序数据,指令/程序数据能够被执行以上述任一深度学习模型任务处理方法。本申请的有益效果是:区别于现有技术的情况,本申请提供一种深度学习模型任务处理方法,利用深度学习模型任务处理系统实现深度学习模型任务处理方法,深度学习模型任务处理系统包括分布式任务队列,分布式任务队列包括多个任务执行单元,通过利用多个任务执行单元并发执行处理深度学习模型任务请求,得到执行结果,实现深度学习模型任务的处理。本申请采用分布式任务队列,对深度学习模型任务处理任务进行分布式并发处理,既提高了效率,又降低了技术要求,因此能够降低技术成本,有效便捷的提供深度学习模型任务处理服务。附图说明图1是本申请实施方式中深度学习模型任务处理系统的结构示意图;图2是本申请实施方式中深度学习模型任务处理方法的流程示意图;图3是本申请实施方式中另一深度学习模型任务处理系统的结构示意图;图4是本申请实施方式中服务器的结构示意图;图5是本申请实施方式中计算机可读存储介质的结构示意图。具体实施方式为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。请参阅图1,图1是本申请实施方式中深度学习模型任务处理系统的结构示意图。该深度学习模型任务处理系统可用于深度学习模型的训练、部署、上线发布等。该深度学习模型任务处理系统100包括代理服务10和任务处理服务20。其中,代理服务10是介于用户方系统和任务处理服务20系统之间的中间服务,有了代理服务10,来自用户方的深度学习模型任务请求不是直接到任务处理服务20,而是先到代理服务10,再由代理服务10转发给任务处理服务20;同样任务处理服务20返回的执行结果也不是直接发到用户方,而是先发给代理服务10,再由代理服务10转发给用户方。代理服务10可以有一定的缓存能力,缓存部分深度学习模型任务请求和/或执行结果,能够提高用户方与任务处理服务20的交互速度和效率。代理服务10还可以具有安全过滤、流量控制能力,可以对深度学习模型任务请求和/或执行结果进行过滤管控,保护用户方和任务处理服务20的交互安全。一实施方式中,可以采用占有内存少,并发能力强的nginx作为代理服务。其中,任务处理服务20是深度学习模型任务处理系统100的核心部分,用于实质执行处理深度学习模型任务请求。任务处理服务20包括远程过程调用服务21和分布式任务队列22。远程过程调用服务(remoteprocedurecall,RPC)21用于提供一套机制,使得应用程序之间可以进行通信,并且遵从server(服务)/client(客户)模型。使用的时候客户端调用服务端提供的接口可以像调用本地的函数一样快捷方便。一实施方式中,可以采用gRPC作为远程过程调用服务。gRPC可以通过protobuf来定义接口,从而可以有更加严格的接口约束条件。另外,通过protobuf可以将数据序列化为二进制编码,这会大幅减少需要传输的数据量,从而大幅提高性能。gRPC还可以方便地支持流式通信(理论上通过http2.0就可以使用streaming模式,但是通常web服务的restfulapi似乎很少这么用,通常的流式数据应用如视频流、语音流,一般都会使用专门的协议如HLS,RTMP等,这些就不是我们通常web服务了,而是有专门的服务器应用)而这对于将服务部署与语音识别、或者视频图片分类等深度学习任务中则至关重要。但是,通常我们不会去单独使用gRPC,而是将gRPC作为一个部件进行使用,这是因为在生产环境,我们本文档来自技高网...
【技术保护点】
1.一种深度学习模型任务处理方法,其特征在于,包括:/n远程过程调用服务接收深度学习模型任务请求,并将所述深度学习模型任务请求存储至消息中间件;/n所述消息中间件将所述深度学习模型任务请求分发至分布式任务队列的多个任务执行单元;/n多个所述任务执行单元并发执行处理所述深度学习模型任务请求,获得执行结果。/n
【技术特征摘要】
1.一种深度学习模型任务处理方法,其特征在于,包括:
远程过程调用服务接收深度学习模型任务请求,并将所述深度学习模型任务请求存储至消息中间件;
所述消息中间件将所述深度学习模型任务请求分发至分布式任务队列的多个任务执行单元;
多个所述任务执行单元并发执行处理所述深度学习模型任务请求,获得执行结果。
2.根据权利要求1所述的深度学习模型任务处理方法,其特征在于,多个所述任务执行单元将所述执行结果存储至所述消息中间件。
3.根据权利要求2所述的深度学习模型任务处理方法,其特征在于,所述远程过程调用服务调取所述消息中间件中的所述执行结果,将所述执行结果返回。
4.根据权利要求1所述的深度学习模型任务处理方法,其特征在于,所述远程过程调用服务接收深度学习模型任务请求包括:
代理服务接收所述深度学习模型任务请求,并监听所述远程过程调用服务的服务端口;
所述代理服务向所述远程过程调用服务转发所述深度学习模型任务请求。
5.根据权利要求4所述的深度学习模型任务处理方法,其特征在于,所述远程过程调用服务、所述消息中间件和所述分布式任务队列集成为任务处理服务,所述任务处理服务至少为两个,所述代理服务向所述远程过程调用服务转发所述深度学习模型任务请求包括:
所述代理服务将所述深度学习模型任务请求随机转发给任意一个所述任...
【专利技术属性】
技术研发人员:熊为星,熊友军,
申请(专利权)人:深圳市优必选科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。