CN111461332A - 深度学习模型在线推理方法、装置、电子设备和存储介质 - Google Patents

深度学习模型在线推理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN111461332A
CN111461332A CN202010214817.4A CN202010214817A CN111461332A CN 111461332 A CN111461332 A CN 111461332A CN 202010214817 A CN202010214817 A CN 202010214817A CN 111461332 A CN111461332 A CN 111461332A
Authority
CN
China
Prior art keywords
node
reasoning
deep learning
model
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010214817.4A
Other languages
English (en)
Other versions
CN111461332B (zh
Inventor
封宇
陈兴振
陈泽龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN202010214817.4A priority Critical patent/CN111461332B/zh
Publication of CN111461332A publication Critical patent/CN111461332A/zh
Application granted granted Critical
Publication of CN111461332B publication Critical patent/CN111461332B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种深度学习模型在线推理方法、装置、电子设备和存储介质,该方法包括:通过与深度学习框架对应的RPC调用接口接收在线推理请求;获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件,所述节点配置文件包括多个节点的IP地址和端口;从所述多个节点中确定一个节点,作为推理节点,并根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点,以使所述推理节点调用所述深度学习模型获得推理结果;接收所述推理节点返回的推理结果。本发明实现了通过RPC调用接口统一接收在线推理请求,并从部署深度学习模型的多个节点中通过负载均衡策略确定执行在线推理的推理节点,提升了在线推理性能。

Description

深度学习模型在线推理方法、装置、电子设备和存储介质
技术领域
本发明涉及深度学习技术领域,特别是涉及一种深度学习模型在线推理方法、装置、电子设备和存储介质。
背景技术
做深度学习算法时在模型训练完毕后,往往需要将模型在生产环境中部署,以实现在线推理。最常见的方式,是在服务器上提供一个API,即客户机向服务器的某个API发送特定格式的请求,服务器收到请求数据后通过模型进行计算,并返回结果。
深度学习算法在线推理时可以通过深度学习框架TensorFlow模型或PyTorch模型来实现。现有技术中,这两种深度学习框架都是单节点部署,在数据量较大时,导致在线推理性能较差。而且深度学习框架多样,开发人员如果使用不同的深度学习框架,需要熟悉多种框架,学习成本大。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种深度学习模型在线推理方法、装置、电子设备和存储介质。
依据本发明的第一方面,提供了一种深度学习模型在线推理方法,包括:
通过与深度学习框架对应的远程过程调用RPC调用接口接收在线推理请求;
获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件,所述节点配置文件包括多个节点的IP地址和端口;
从所述多个节点中确定一个节点,作为推理节点,并根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点,以使所述推理节点调用所述深度学习模型获得推理结果;
接收所述推理节点返回的推理结果。
可选的,所述从所述多个节点中确定一个节点,作为推理节点,包括:
根据所述多个节点的有效权重,从所述多个节点中确定一个节点,作为推理节点。
可选的,在所述根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点之后,还包括:
若所述推理节点异常,则降低所述推理节点的有效权重;
若所述推理节点正常响应,则提升所述推理节点的有效权重。
可选的,所述深度学习框架包括PyTorch模型框架或TensorFlow模型框架。
可选的,在所述获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件之前,还包括:
获取基于PyTorch模型框架的深度学习模型对应的模型文件;
生成所述PyTorch模型框架的镜像文件,所述镜像文件包括PyTorch模型框架的运行环境和数据接口协议;
将所述镜像文件和模型文件发送至多个节点,以使所述多个节点分别运行所述镜像文件以创建容器,并将模型文件挂载到所述容器中,确定调用所述容器的端口;
获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件。
可选的,还包括:
获取所述深度学习模型对应的前处理程序和/或后处理程序;
将所述前处理程序和/或后处理程序写入自定义接口文件;
将所述自定义接口文件发送至所述多个节点,以使所述多个节点将所述自定义接口文件挂载到所述容器中。
可选的,还包括:
获取所述深度学习模型对应的模型执行过程;
将所述模型执行过程写入自定义接口文件;
将所述自定义接口文件发送至所述多个节点,以使所述多个节点将所述自定义接口文件挂载到所述容器中。
可选的,所述根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点,包括:
通过所述数据接口协议对所述在线推理请求进行解析,得到请求数据;
根据所述推理节点的IP地址和端口,将所述请求数据发送至所述推理节点;
在所述接收所述推理节点返回的推理结果之后,还包括:
通过所述数据接口协议对所述推理结果进行封装,并将封装后的推理结果返回至所述在线推理请求的请求方。
可选的,在所述获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件之前,还包括:
获取Tensorflow-Serving镜像,并获取基于TensorFlow模型框架的深度学习模型的模型文件;
将所述Tensorflow-Serving镜像和模型文件发送至多个节点,由所述多个节点运行所述Tensorflow-Serving镜像以创建容器,并将所述模型文件挂载到所述容器中,确定调用所述容器的端口;
获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件。
依据本发明的第二方面,提供了一种深度学习模型在线推理装置,包括:
RPC请求接收模块,用于通过与深度学习框架对应的远程过程调用RPC调用接口接收在线推理请求;
配置文件获取模块,用于获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件,所述节点配置文件包括多个节点的IP地址和端口;
推理节点推理模块,用于从所述多个节点中确定一个节点,作为推理节点,并根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点,以使所述推理节点调用所述深度学习模型获得推理结果;
推理结果获取模块,用于接收所述推理节点返回的推理结果。
可选的,所述推理节点推理模块包括:
推理节点确定单元,用于根据所述多个节点的有效权重,从所述多个节点中确定一个节点,作为推理节点。
可选的,所述装置还包括:
有效权重调整模块,用于若所述推理节点异常,则降低所述推理节点的有效权重;若所述推理节点正常响应,则提升所述推理节点的有效权重。
可选的,所述深度学习框架包括PyTorch模型框架或TensorFlow模型框架。
可选的,所述装置还包括:
PyTorch模型文件获取模块,用于获取基于PyTorch模型框架的深度学习模型对应的模型文件;
镜像文件生成模块,用于生成所述PyTorch模型框架的镜像文件,所述镜像文件包括PyTorch模型框架的运行环境和数据接口协议;
PyTorch模型部署模块,用于将所述镜像文件和模型文件发送至多个节点,以使所述多个节点分别运行所述镜像文件以创建容器,并将模型文件挂载到所述容器中,确定调用所述容器的端口;
第一配置文件生成模块,用于获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件。
可选的,所述装置还包括:
处理程序获取模块,用于获取所述深度学习模型对应的前处理程序和/或后处理程序;
程序写入文件模块,用于将所述前处理程序和/或后处理程序写入自定义接口文件;
数据处理实现模块,用于将所述自定义接口文件发送至所述多个节点,以使所述多个节点将所述自定义接口文件挂载到所述容器中。
可选的,所述装置还包括:
模型执行过程获取模块,用于获取所述深度学习模型对应的模型执行过程;
执行过程写入文件模块,用于将所述模型执行过程写入自定义接口文件;
模型执行过程实现模块,用于将所述自定义接口文件发送至所述多个节点,以使所述多个节点将所述自定义接口文件挂载到所述容器中。
可选的,所述推理节点推理模块包括:
请求解析单元,用于通过所述数据接口协议对所述在线推理请求进行解析,得到请求数据;
请求数据发送单元,用于根据所述推理节点的IP地址和端口,将所述请求数据发送至所述推理节点;
所述装置还包括:
推理结果封装模块,用于通过所述数据接口协议对所述推理结果进行封装,并将封装后的推理结果返回至所述在线推理请求的请求方。
可选的,所述装置还包括:
Tensorflow模型文件获取模块,用于获取Tensorflow-Serving镜像,并获取基于TensorFlow模型框架的深度学习模型的模型文件;
Tensorflow模型部署模块,用于将所述Tensorflow-Serving镜像和模型文件发送至多个节点,由所述多个节点运行所述Tensorflow-Serving镜像以创建容器,并将所述模型文件挂载到所述容器中,确定调用所述容器的端口;
第二配置文件生成模块,用于获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件。
依据本发明的第三方面,还提供了一种服务器,处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的深度学习模型在线推理方法。
依据本发明的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的深度学习模型在线推理方法。
本发明提供的深度学习模型在线推理方法、装置、电子设备和存储介质,通过与深度学习框架对应的RPC调用接口接收在线推理请求,获取基于深度学习框架部署的深度学习模型对应的节点配置文件,从节点配置文件包括的多个节点中确定一个节点作为推理节点,根据推理节点的IP地址和端口将在线推理请求发送至推理节点,以使推理节点调用深度学习模型获得推理结果,接收推理节点返回的推理结果,实现了通过RPC调用接口统一接收在线推理请求,并从部署深度学习模型的多个节点中通过负载均衡策略确定执行在线推理的推理节点,提升了在线推理性能,而且无需用户自己实现负载均衡,由于封装了各种深度学习框架的调用,无需开发人员熟悉多种深度学习框架即可使用,降低了学习成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1是本发明实施例提供的一种深度学习模型在线推理方法的步骤流程图;
图2是本发明实施例中的统一调用RPC服务模块、TensorFlow模型部署模块和PyTorch模型部署模块的调用关系的示意图;
图3是本发明实施例提供的一种深度学习模型在线推理方法的步骤流程图;
图4是本发明实施例中的PyTorch模型框架推理服务封装的示意图;
图5是本发明实施例提供的一种深度学习模型在线推理方法的步骤流程图;
图6是本发明实施例提供的一种深度学习模型在线推理装置的结构框图;
图7为本发明实施例提供的一种电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1是本发明实施例提供的一种深度学习模型在线推理方法的步骤流程图,可以由提供统一调用RPC服务的服务器执行,如图1所示,该方法可以包括:
步骤101,通过与深度学习框架对应的RPC调用接口接收在线推理请求。
其中,深度学习框架是一种界面、库或工具,它使开发人员在无需深入了解底层算法的细节的情况下,能够更容易、更快速地构建深度学习模型。深度学习框架利用预先构建和优化好的组件集合定义模型,为模型的实现提供了一种清晰而简洁的方法,可以简化复杂和大规模深度学习模型的实现。深度学习框架可以包括:PaddlePaddle、Tensorflow、Caffe、Theano、MXNet、Torch或PyTorch。RPC(Remote Procedure Call,远程过程调用)调用接口基于gRPC框架实现,作为整个深度学习在线推理服务的入口,承担在线推理的流量接入,提供基于不同深度学习框架的深度学习模型的通用调用接口,接收在线推理请求,与后端部署的不同深度学习框架的深度学习模型实例进行交互,实现负载均衡策略。RPC是指在存在两台服务器A、B时,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数或方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。gRPC是Google开发的高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于Protobuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。
每种深度学习框架对应一个RPC调用接口,通过与深度学习框架对应的RPC调用接口统一接收基于该深度学习框架的深度学习模型的在线推理请求,并返回推理结果。
在本发明实施例中,所述深度学习框架可以包括PyTorch模型框架或TensorFlow模型框架,每种深度学习框架对应一个RPC调用接口,用于调用基于相应深度学习框架的深度学习模型。本申请实施例可以通过统一调用RPC服务模块、TensorFlow模型部署模块和PyTorch模型部署模块来实现,图2是本发明实施例中的统一调用RPC服务模块、TensorFlow模型部署模块和PyTorch模型部署模块的调用关系的示意图,如图2所示,统一调用RPC服务模块提供统一调用RPC服务,接收在线推理请求,与后端部署的TensorFlow模型实例或PyTorch模型实例进行交互,实现负载均衡策略。
步骤102,获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件,所述节点配置文件包括多个节点的IP地址和端口。
在深度学习模型训练完成后,用户可以对深度学习模型进行分布式部署,并将基于深度学习框架部署的深度学习模型的实例所在的多个节点的IP地址和端口写入节点配置文件中。
提供统一调用RPC服务的服务器接收到在线推理请求后,确定所述在线推理请求的请求方,根据所述请求方获取与请求方对应的基于所述深度学习框架部署的深度学习模型的节点配置文件,获取节点配置文件中当前可用的多个节点的IP地址和端口。可以通过Watch线程来获取节点配置文件,在节点有变化时,可以随时更新节点IP侯选池。节点IP侯选池可以保存有可用节点的IP地址和端口,而且对应保存有效权重,便于根据节点的有效权重确定推理节点。
步骤103,从所述多个节点中确定一个节点,作为推理节点,并根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点,以使所述推理节点调用所述深度学习模型获得推理结果。
其中,所述推理节点是根据所述在线推理请求执行推理计算的节点。
通过负载均衡策略从多个节点中确定一个节点,作为推理节点,基于该推理节点的IP地址和端口将在线推理请求发送至推理节点,由推理节点调用深度学习模型对在线推理请求中的请求数据进行推理计算,获得推理结果。
在本发明的一个实施例中,所述从所述多个节点中确定一个节点,作为推理节点,包括:根据所述多个节点的有效权重,从所述多个节点中确定一个节点,作为推理节点。
通过多个节点的有效权重来控制分配到各个节点的流量,在接收到在线推理请求时,获取到与在线推理请求的请求方对应的节点配置文件后,根据节点配置文件中多个节点的节点标识,查询节点标识与有效权重的对应关系,确定多个节点的有效权重,从而根据多个节点的有效权重,从多个节点中确定一个节点,作为推理节点,节点的有效权重高则被选中执行推理计算的概率就大,节点的有效权重低被选中执行推理计算的概率就小。通过节点的有效权重来控制分配到各个节点的流量,实现了负载均衡,可以进一步提高在线推理性能。
步骤104,接收所述推理节点返回的推理结果。
在推理节点计算完成后,接收推理节点返回的推理结果,并对推理结果按照所述深度学习框架对应的数据接口协议进行封装,将封装后的推理结果返回至所述在线推理请求的请求方。
在本发明的一个实施例中,在所述根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点之后,还包括:若所述推理节点异常,则降低所述推理节点的有效权重;若所述推理节点正常响应,则提升所述推理节点的有效权重。
本发明实施例基于动态加权轮询算法来实现负载均衡,即将在线推理请求发送至推理节点后,如果在线推理请求发送成功且接收到推理节点的推理结果,即推理节点正常响应,则提升推理节点的有效权重,保证推理节点被选中的概率增加,从而提升发送到推理节点的流量比;如果在线推理请求未成功发送或者未接收到推理节点的响应,则确定推理节点异常,如推理节点发生了宕机或网络异常等情况,这时降低推理节点的有效权重,保证推理节点被选中的概率减少,以此来降低发送到该推理节点上的流量比。
在降低推理节点的有效权重时,可以根据预设的降低规则来进行降低,如可以将有效权重降低为原来的二分之一;在提升推理节点的有效权重时,可以根据预设的提升规则来进行提升,如可以按照如下公式来提升有效权重:
EW′=EW+(W-EW+1)/2
其中,EW′表示提升后的有效权重,W表示权重的最大值,EW表示提升前的有效权重。
通过上述方式来调整各个节点的有效权重,可以使得有效权重最低不为0,从而在节点恢复正常情况下,能快速恢复该节点的推理服务,使得该节点能在第一时间内接收在线推理请求进行推理计算。
本实施例提供的深度学习模型在线推理方法,通过与深度学习框架对应的RPC调用接口接收在线推理请求,获取基于深度学习框架部署的深度学习模型对应的节点配置文件,从节点配置文件包括的多个节点中确定一个节点作为推理节点,根据推理节点的IP地址和端口将在线推理请求发送至推理节点,以使推理节点调用深度学习模型获得推理结果,接收推理节点返回的推理结果,实现了通过RPC调用接口统一接收在线推理请求,并从部署深度学习模型的多个节点中通过负载均衡策略确定执行在线推理的推理节点,提升了在线推理性能,而且无需用户自己实现负载均衡,由于封装了各种深度学习框架的调用,无需开发人员熟悉多种深度学习框架即可使用,降低了学习成本。
图3是本发明实施例提供的一种深度学习模型在线推理方法的步骤流程图,可以由提供统一调用RPC服务的服务器执行,本实施例以深度学习框架为PyTorch模型框架来说明基于PyTorch模型框架的深度学习模型的部署及在线推理。
现有技术中,PyTorch模型框架在线推理时,需要用户自己开发实现PyTorch模型框架的生产环境,可以有两种解决方案,第一种是利用服务化框架进行封装,比如使用Flask框架部署一个http服务,编写API来进行请求处理,API里调用PyTorch预测函数;第二种是将PyTorch模型利用ONNX转换为onnx格式,然后再转换为TensorFlow或Caffe2的模型,再通过TensorFlow Serving或Caffe2来进行部署。从基于PyTorch模型框架的模型的部署可知,PyTorch模型在线推理开发工作量大,需要用户自己进行服务化封装,若采用ONNX转换的方式,转换过程中会导致性能损失,且存在部分模型转换失败的问题。为了解决该问题,本发明实施例提供了如下的技术方案。
如图3所示,该方法可以包括:
步骤301,获取基于PyTorch模型框架的深度学习模型对应的模型文件。
其中,所述模型文件包括深度学习模型的网络结构及网络参数。
用户在将基于PyTorch模型框架的深度学习模型训练完成后,对该深度学习模型进行部署,以便于进行在线推理,在对深度学习模型进行部署时,将深度学习模型的网络结构及网络参数写入模型文件。从而提供统一调用RPC服务的服务器或者待执行在线推理的一个节点可以根据模型文件的存储位置获取到模型文件,或者,也可以接收用户上传的模型文件。
步骤302,生成所述PyTorch模型框架的镜像文件,所述镜像文件包括PyTorch模型框架的运行环境和数据接口协议。
根据包含PyTorch模型框架的Dockerfile的存储路径,读取包含PyTorch模型框架的Dockerfile,生成所述PyTorch模型框架的镜像文件。Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。Docker通过读取Dockerfile中的指令自动生成镜像文件。
现有技术中PyTorch模型框架没有提供对应的模型服务化组件,本发明实施例基于Seldon封装了PyTorch模型的推理RPC服务,统一数据接口协议,适用任何类型的PyTorch模型,可以极大减少PyTorch模型部署工作量。其中,数据接口协议是基于Seldon封装的接口协议。
步骤303,将所述镜像文件和模型文件发送至多个节点,以使所述多个节点分别运行所述镜像文件以创建容器,并将模型文件挂载到所述容器中,确定调用所述容器的端口。
将镜像文件和模型文件发送至待执行在线推理的多个节点,多个节点在接收到镜像文件和模型文件后,分别运行镜像文件,创建容器,然后将模型文件挂载到容器中,确定该容器与外界交互的端口,即确定调用容器的端口。
在本发明的一个实施例中,所述方法还可选包括:获取所述深度学习模型对应的前处理程序和/或后处理程序;将所述前处理程序和/或后处理程序写入自定义接口文件;将所述自定义接口文件发送至所述多个节点,以使所述多个节点将所述自定义接口文件挂载到所述容器中。
用户还可以规定对深度学习模型执行在线推理时的数据进行前处理、后处理,或者同时进行前处理和后处理,给出前处理程序和/或后处理程序。提供统一调用RPC服务的服务器或者待执行在线推理的一个节点可以根据用户指定的前处理程序和/或后处理程序的存储路径,获取深度学习模型对应的前处理程序和/或后处理程序,将前处理程序和/或后处理程序写入自定义接口文件中,并在自定义接口文件中指定进行前处理的接口函数和/或后处理的接口函数,将自定义接口文件发送至多个节点,多个节点接收到自定义接口文件后将自定义接口文件挂载到容器中,从而执行在线推理时,可以根据自定义接口文件中的前处理程序和/或后处理程序对数据进行前处理和/或后处理,从而可以支持用户在执行Pytorch模型推理前后进行相关数据的处理。
用户可以重新定义自定义接口文件中preprocess(模型执行前数据预处理)接口函数、postprocess(模型执行后数据后处理)接口函数,在前处理中,可以对传入的推理数据还有参数进行预处理操作,比如对图片的字节流数据进行处理,返回模型推理需要的Tensor类型数据;在后处理中,可以对模型返回的推理结果进行处理,比如对结果进行筛选并剔除多余结果数据,或者将结果数据进行压缩、数学变换等操作。支持推理前后的数据处理,使得线上线下可以使用同一套数据处理,极大的简化了部署模型的工作量,同时还可以在远程部署时,减少网络传递的数据量,提高整体推理性能。
图4是本发明实施例中的PyTorch模型框架推理服务封装的示意图,如图4所示,接收到的在线推理请求为SeldonMessage格式,通过基于Seldon的数据接口协议对在线推理请求进行解析,通过基于PyTorch模型框架的深度学习模型经过在线推理获得推理结果后,通过基于Seldon的数据接口协议将推理结果封装为SeldonMessage格式,将封装后的推理结果返回至请求方。
在本发明的一个实施例中,所述方法还可选包括:获取所述深度学习模型对应的模型执行过程;将所述模型执行过程写入自定义接口文件;将所述自定义接口文件发送至所述多个节点,以使所述多个节点将所述自定义接口文件挂载到所述容器中。
不同的业务场景模型实现不尽相同,为了支持在不同场景下的模型调用需求,用户可以在自定义接口文件中,重新定义模型执行过程。默认的模型执行是单次执行,自定义接口文件中,可以定义多次执行同一个模型,或通过推理数据的参数修改模型内部网络参数,然后再进行模型调用,实现同一模型适应不通场景下的在线推理。开放模型调用,提高了模型实现的灵活性,从而满足不同业务方向用户各种定制化的需求。
步骤304,获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件。
提供统一调用RPC服务的服务器或者待执行在线推理的一个节点获取待执行在线推理的多个节点的IP地址和端口,将多个节点的IP地址和端口写入节点配置文件,便于在线推理时通过负载均衡策略来选择一个节点作为推理节点。
步骤305,通过与深度学习框架对应的RPC调用接口接收在线推理请求。
步骤306,获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件,所述节点配置文件包括多个节点的IP地址和端口。
步骤307,从所述多个节点中确定一个节点,作为推理节点。
步骤308,通过所述数据接口协议对所述在线推理请求进行解析,得到请求数据;根据所述推理节点的IP地址和端口,将所述请求数据发送至所述推理节点,以使所述推理节点调用所述深度学习模型获得推理结果。
在接收到在线推理请求后,通过基于Seldon的数据接口协议对在线推理请求进行解析,得到请求数据,根据推理节点的IP地址和端口将请求数据发送至推理节点。其中,在线推理请求为SeldonMessage格式,在线推理请求的请求方基于数据接口协议将在线推理请求封装为SeldonMessage格式。
推理节点接收到请求数据后,根据请求数据确定是否需要进行前处理、模型的自定义调用和后处理。如果需要对输入深度学习模型的数据进行前处理,则调用自定义接口文件的前处理程序对输入深度学习模型的数据进行前处理,之后调用深度学习模型执行在线推理,如果不需要前处理,则直接调用深度学习模型执行在线推理。调用深度学习模型执行在线推理时,如果需要按照自定义调用方式进行调用,则从自定义接口文件中获取模型执行过程,并根据模型执行过程调用深度学习模型执行在线推理,如果不需要按照自定义调用方式进行调用,则直接调用深度学习模型执行在线推理。在线推理结束获得初始推理结果后,如果需要进行后处理,则调用自定义接口文件中的后处理程序对初始推理结果进行后处理,将后处理后的初始推理结果作为在线推理的推理结果,如果不需要进行后处理,则直接将初始推理结果作为在线推理的推理结果。
步骤309,接收所述推理节点返回的推理结果。
步骤310,通过所述数据接口协议对所述推理结果进行封装,并将封装后的推理结果返回至所述在线推理请求的请求方。
在获取到推理节点的推理结果后,通过基于Seldon的数据接口协议对推理结果进行封装,即将推理结果封装为SeldonMessage格式,将封装后的推理结果返回至请求方。
需要说明的是,步骤301至步骤304的执行主体可以与步骤305至步骤310的执行主体相同,也可以不同,在执行主体相同时,步骤301至步骤304与步骤305至步骤310均可以由提供统一调用RPC服务的服务器来执行,在执行主体不同时,步骤301至步骤304可以由用户指定的待执行在线推理的多个节点中的一个节点执行,步骤305至步骤310由提供统一调用RPC服务的服务器来执行。
本实施例提供的深度学习模型在线推理方法,通过获取基于PyTorch模型框架的深度学习模型对应的模型文件,生成所述PyTorch模型框架的镜像文件,将所述镜像文件和模型文件发送至多个节点,以使所述多个节点分别运行所述镜像文件以创建容器,并将模型文件挂载到所述容器中,确定调用所述容器的端口,获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件,实现了对基于PyTorch模型框架的深度学习模型的部署,并实现了对基于PyTorch模型框架的深度学习模型的服务化封装,而且无需用户自己进行服务化封装,提高部署效率,而且不需要将PyTorch模型框架转换为其他模型框架,不存在性能损失,由于封装了数据接口协议,实现了不同模型请求和返回实体的一致性,不同的模型都可以通过该方式实现生产环境的部署,而无需定制化开发,降低了开发成本。
图5是本发明实施例提供的一种深度学习模型在线推理方法的步骤流程图,可以由提供统一调用RPC服务的服务器执行,本实施例以深度学习框架为TensorFlow模型框架来说明基于TensorFlow模型框架的深度学习模型的部署及在线推理。如图5所示,该方法包括:
步骤501,获取Tensorflow-Serving镜像,并获取基于TensorFlow模型框架的深度学习模型的模型文件。
其中,所述模型文件包括深度学习模型的网络结构及网络参数。
本发明实施例基于Tensorflow-Serving开源推理引擎部署基于TensorFlow模型框架的深度学习模型,基于容器化部署方式来进行部署,首先获取Tensorflow-Serving镜像,可以从Docker hub上下载对应版本的Tensorflow-Serving镜像。采用TensorFlow-Serving开源推理引擎部署模型时,部署方式支持物理机、Docker容器,分GPU和CPU版本。物理机部署需要安装Tensorflow-Serving环境,步骤较为复杂,相对物理机部署方式容器化部署更简单,无需安装环境,即开即用,操作方便。其中,GPU(Graphics Processing Unit,图形处理器),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
用户在将基于TensorFlow模型框架的深度学习模型训练完成后,对该深度学习模型进行部署,以便于进行在线推理,在对深度学习模型进行部署时,将深度学习模型的网络结构及网络参数写入模型文件。从而提供统一调用RPC服务的服务器或者待执行在线推理的一个节点可以根据模型文件的存储位置获取到模型文件,或者,也可以接收用户上传的模型文件。所述模型文件为SavedModel模型文件格式。
步骤502,将所述Tensorflow-Serving镜像和模型文件发送至多个节点,由所述多个节点运行所述Tensorflow-Serving镜像以创建容器,并将所述模型文件挂载到所述容器中,确定调用所述容器的端口。
在获取到Tensorflow-Serving镜像和模型文件后,将Tensorflow-Serving镜像和模型文件发送至多个节点,多个节点接收到Tensorflow-Serving镜像和模型文件后,运行Tensorflow-Serving镜像,可以使用docker run命令运行Tensorflow-Serving镜像,创建容器,将模型文件挂载到容器中,指定服务监听端口,即确定调用容器的接口,将容器绑定到自身的宿主机中,从而模型部署完成。
本发明实施例支持通过修改TensorFlow-Serving源码并重新编译来实现对TensorFlow模型框架添加算法实现(operate),从而可以添加Tensorflow模型框架中不存在的算法实现或针对现有场景下算法的个性化优化,用于提升训练效率,并且可以有效提升推理性能。
步骤503,获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件。
在多个节点将模型部署完成后,获取多个节点的IP地址和端口,将多个节点的IP地址和端口写入节点配置文件,便于后续根据节点配置文件调用相应节点的深度学习模型执行在线推理。
步骤504,通过与深度学习框架对应的RPC调用接口接收在线推理请求。
步骤505,获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件,所述节点配置文件包括多个节点的IP地址和端口。
步骤506,从所述多个节点中确定一个节点,作为推理节点,并根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点,以使所述推理节点调用所述深度学习模型获得推理结果;
步骤507,接收所述推理节点返回的推理结果。
需要说明的是,步骤501至步骤503的执行主体可以与步骤504至步骤507的执行主体相同,也可以不同,在执行主体相同时,步骤501至步骤503与步骤504至步骤507均可以由提供统一调用RPC服务的服务器来执行,在执行主体不同时,步骤501至步骤503可以由用户指定的待执行在线推理的多个节点中的一个节点执行,与步骤504至步骤507由提供统一调用RPC服务的服务器来执行。
本实施例提供的深度学习模型在线推理方法,通过获取Tensorflow-Serving镜像,并获取基于TensorFlow模型框架的深度学习模型的模型文件,将所述Tensorflow-Serving镜像和模型文件发送至多个节点,由所述多个节点运行所述Tensorflow-Serving镜像以创建容器,并将所述模型文件挂载到所述容器中,确定调用所述容器的端口,获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件,实现了对基于TensorFlow模型框架的深度学习模型的分布式部署,并实现了对基于TensorFlow模型框架的服务化封装,由于Tensorflow-Serving封装了数据接口协议,实现了不同模型请求和返回实体的一致性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图6是本发明实施例提供的一种深度学习模型在线推理装置的结构框图,如图6所示,该深度学习模型在线推理装置可以包括:
RPC请求接收模块601,用于通过与深度学习框架对应的远程过程调用RPC调用接口接收在线推理请求;
配置文件获取模块602,用于获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件,所述节点配置文件包括多个节点的IP地址和端口;
推理节点推理模块603,用于从所述多个节点中确定一个节点,作为推理节点,并根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点,以使所述推理节点调用所述深度学习模型获得推理结果;
推理结果获取模块604,用于接收所述推理节点返回的推理结果。
可选的,所述推理节点推理模块包括:
推理节点确定单元,用于根据所述多个节点的有效权重,从所述多个节点中确定一个节点,作为推理节点。
可选的,所述装置还包括:
有效权重调整模块,用于若所述推理节点异常,则降低所述推理节点的有效权重;若所述推理节点正常响应,则提升所述推理节点的有效权重。
可选的,所述深度学习框架包括PyTorch模型框架或TensorFlow模型框架。
可选的,所述装置还包括:
PyTorch模型文件获取模块,用于获取基于PyTorch模型框架的深度学习模型对应的模型文件;
镜像文件生成模块,用于生成所述PyTorch模型框架的镜像文件,所述镜像文件包括PyTorch模型框架的运行环境和数据接口协议;
PyTorch模型部署模块,用于将所述镜像文件和模型文件发送至多个节点,以使所述多个节点分别运行所述镜像文件以创建容器,并将模型文件挂载到所述容器中,确定调用所述容器的端口;
第一配置文件生成模块,用于获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件。
可选的,所述装置还包括:
处理程序获取模块,用于获取所述深度学习模型对应的前处理程序和/或后处理程序;
程序写入文件模块,用于将所述前处理程序和/或后处理程序写入自定义接口文件;
数据处理实现模块,用于将所述自定义接口文件发送至所述多个节点,以使所述多个节点将所述自定义接口文件挂载到所述容器中。
可选的,所述装置还包括:
模型执行过程获取模块,用于获取所述深度学习模型对应的模型执行过程;
执行过程写入文件模块,用于将所述模型执行过程写入自定义接口文件;
模型执行过程实现模块,用于将所述自定义接口文件发送至所述多个节点,以使所述多个节点将所述自定义接口文件挂载到所述容器中。
可选的,所述推理节点推理模块包括:
请求解析单元,用于通过所述数据接口协议对所述在线推理请求进行解析,得到请求数据;
请求数据发送单元,用于根据所述推理节点的IP地址和端口,将所述请求数据发送至所述推理节点;
所述装置还包括:
推理结果封装模块,用于通过所述数据接口协议对所述推理结果进行封装,并将封装后的推理结果返回至所述在线推理请求的请求方。
可选的,所述装置还包括:
Tensorflow模型文件获取模块,用于获取Tensorflow-Serving镜像,并获取基于TensorFlow模型框架的深度学习模型的模型文件;
Tensorflow模型部署模块,用于将所述Tensorflow-Serving镜像和模型文件发送至多个节点,由所述多个节点运行所述Tensorflow-Serving镜像以创建容器,并将所述模型文件挂载到所述容器中,确定调用所述容器的端口;
第二配置文件生成模块,用于获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件。
本实施例提供的深度学习模型在线推理装置,通过RPC请求接收模块通过与深度学习框架对应的RPC调用接口接收在线推理请求,配置文件获取模块获取基于深度学习框架部署的深度学习模型对应的节点配置文件,推理节点推理模块从节点配置文件包括的多个节点中确定一个节点作为推理节点,根据推理节点的IP地址和端口将在线推理请求发送至推理节点,以使推理节点调用深度学习模型获得推理结果,推理结果获取模块接收推理节点返回的推理结果,实现了通过RPC调用接口统一接收在线推理请求,并从部署深度学习模型的多个节点中通过负载均衡策略确定执行在线推理的推理节点,提升了在线推理性能,而且无需用户自己实现负载均衡,由于封装了各种深度学习框架的调用,无需开发人员熟悉多种深度学习框架即可使用,降低了学习成本。
图7为本发明实施例提供的一种电子设备的结构框图。如图7所示,该电子设备700可以包括一个或多个处理器701以及与处理器701连接的一个或多个存储器702。电子设备700还可以包括输入接口703和输出接口704,用于与另一装置或系统进行通信。被处理器701的CPU执行的程序代码可存储在存储器702中。
电子设备700中的处理器701调用存储在存储器702的程序代码,以执行上述实施例中的深度学习模型在线推理方法。
上述电子设备中的上述元件可通过总线彼此连接,总线例如数据总线、地址总线、控制总线、扩展总线和局部总线之一或其任意组合。
根据本发明的一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,存储介质可以是只读存储器(Read-Only Memory,ROM),或是可读写的,例如硬盘、闪存。所述计算机程序被处理器执行时实现前述实施例的深度学习模型在线推理方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种深度学习模型在线推理方法、装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种深度学习模型在线推理方法,其特征在于,包括:
通过与深度学习框架对应的远程过程调用RPC调用接口接收在线推理请求;
获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件,所述节点配置文件包括多个节点的IP地址和端口;
从所述多个节点中确定一个节点,作为推理节点,并根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点,以使所述推理节点调用所述深度学习模型获得推理结果;
接收所述推理节点返回的推理结果。
2.根据权利要求1所述的方法,其特征在于,所述从所述多个节点中确定一个节点,作为推理节点,包括:
根据所述多个节点的有效权重,从所述多个节点中确定一个节点,作为推理节点。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点之后,还包括:
若所述推理节点异常,则降低所述推理节点的有效权重;
若所述推理节点正常响应,则提升所述推理节点的有效权重。
4.根据权利要求1所述的方法,其特征在于,所述深度学习框架包括PyTorch模型框架或TensorFlow模型框架。
5.根据权利要求4所述的方法,其特征在于,在所述获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件之前,还包括:
获取基于PyTorch模型框架的深度学习模型对应的模型文件;
生成所述PyTorch模型框架的镜像文件,所述镜像文件包括PyTorch模型框架的运行环境和数据接口协议;
将所述镜像文件和模型文件发送至多个节点,以使所述多个节点分别运行所述镜像文件以创建容器,并将模型文件挂载到所述容器中,确定调用所述容器的端口;
获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件。
6.根据权利要求5所述的方法,其特征在于,还包括:
获取所述深度学习模型对应的前处理程序和/或后处理程序;
将所述前处理程序和/或后处理程序写入自定义接口文件;
将所述自定义接口文件发送至所述多个节点,以使所述多个节点将所述自定义接口文件挂载到所述容器中。
7.根据权利要求5所述的方法,其特征在于,还包括:
获取所述深度学习模型对应的模型执行过程;
将所述模型执行过程写入自定义接口文件;
将所述自定义接口文件发送至所述多个节点,以使所述多个节点将所述自定义接口文件挂载到所述容器中。
8.根据权利要求5所述的方法,其特征在于,所述根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点,包括:
通过所述数据接口协议对所述在线推理请求进行解析,得到请求数据;
根据所述推理节点的IP地址和端口,将所述请求数据发送至所述推理节点;
在所述接收所述推理节点返回的推理结果之后,还包括:
通过所述数据接口协议对所述推理结果进行封装,并将封装后的推理结果返回至所述在线推理请求的请求方。
9.根据权利要求4所述的方法,其特征在于,在所述获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件之前,还包括:
获取Tensorflow-Serving镜像,并获取基于TensorFlow模型框架的深度学习模型的模型文件;
将所述Tensorflow-Serving镜像和模型文件发送至多个节点,由所述多个节点运行所述Tensorflow-Serving镜像以创建容器,并将所述模型文件挂载到所述容器中,确定调用所述容器的端口;
获取所述多个节点的IP地址和端口,并将所述多个节点的IP地址和端口写入节点配置文件。
10.一种深度学习模型在线推理装置,其特征在于,包括:
RPC请求接收模块,用于通过与深度学习框架对应的远程过程调用RPC调用接口接收在线推理请求;
配置文件获取模块,用于获取基于所述深度学习框架部署的深度学习模型对应的节点配置文件,所述节点配置文件包括多个节点的IP地址和端口;
推理节点推理模块,用于从所述多个节点中确定一个节点,作为推理节点,并根据所述推理节点的IP地址和端口将所述在线推理请求发送至所述推理节点,以使所述推理节点调用所述深度学习模型获得推理结果;
推理结果获取模块,用于接收所述推理节点返回的推理结果。
11.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-9任一项所述的深度学习模型在线推理方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9任一项所述的深度学习模型在线推理方法。
CN202010214817.4A 2020-03-24 2020-03-24 深度学习模型在线推理方法、装置、电子设备和存储介质 Active CN111461332B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010214817.4A CN111461332B (zh) 2020-03-24 2020-03-24 深度学习模型在线推理方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010214817.4A CN111461332B (zh) 2020-03-24 2020-03-24 深度学习模型在线推理方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN111461332A true CN111461332A (zh) 2020-07-28
CN111461332B CN111461332B (zh) 2021-08-20

Family

ID=71683259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010214817.4A Active CN111461332B (zh) 2020-03-24 2020-03-24 深度学习模型在线推理方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN111461332B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111898761A (zh) * 2020-08-12 2020-11-06 曙光信息产业(北京)有限公司 服务模型生成方法、图像处理方法、装置和电子设备
CN111899150A (zh) * 2020-08-28 2020-11-06 Oppo广东移动通信有限公司 数据处理方法、装置、电子设备及存储介质
CN112270410A (zh) * 2020-10-19 2021-01-26 北京达佳互联信息技术有限公司 在线推理服务系统、提供在线推理服务的方法及装置
CN113296766A (zh) * 2021-05-31 2021-08-24 中电福富信息科技有限公司 基于Seldon的AI模型发布方法及系统
CN113342361A (zh) * 2021-05-25 2021-09-03 上海商汤智能科技有限公司 模型部署方法及装置、电子设备和存储介质
CN113342538A (zh) * 2021-08-05 2021-09-03 浩鲸云计算科技股份有限公司 脚本与模型分离提升gpu计算吞吐的推理引擎设计方法
CN113568757A (zh) * 2021-09-22 2021-10-29 中建电子商务有限责任公司 一种基于深度学习的大规模分布式推理引擎及系统
CN113608751A (zh) * 2021-08-04 2021-11-05 北京百度网讯科技有限公司 推理服务平台的运行方法、装置、设备及存储介质
CN114004358A (zh) * 2021-12-29 2022-02-01 粤港澳大湾区数字经济研究院(福田) 一种深度学习模型训练方法
CN114154644A (zh) * 2021-11-30 2022-03-08 北京航空航天大学 一种机器学习数据处理方法及装置
CN114881233A (zh) * 2022-04-20 2022-08-09 深圳市魔数智擎人工智能有限公司 一种基于容器的分布式模型推理服务方法
CN115248692A (zh) * 2022-09-21 2022-10-28 之江实验室 一种支持多种深度学习框架模型云端部署的装置及方法
CN115358400A (zh) * 2022-08-24 2022-11-18 上海人工智能创新中心 深度学习模型接口的使用方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704252A (zh) * 2017-10-20 2018-02-16 北京百悟科技有限公司 一种向用户提供人工智能平台的方法及系统
CN109272116A (zh) * 2018-09-05 2019-01-25 郑州云海信息技术有限公司 一种深度学习的方法及装置
CN109615081A (zh) * 2018-09-26 2019-04-12 阿里巴巴集团控股有限公司 一种模型预测系统及方法
US20190114528A1 (en) * 2017-10-13 2019-04-18 Facebook, Inc. Flexible multi-task neutral network for content ranking
CN110188910A (zh) * 2018-07-10 2019-08-30 第四范式(北京)技术有限公司 利用机器学习模型提供在线预测服务的方法及系统
CN110555550A (zh) * 2019-08-22 2019-12-10 阿里巴巴集团控股有限公司 在线预测服务的部署方法、装置及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190114528A1 (en) * 2017-10-13 2019-04-18 Facebook, Inc. Flexible multi-task neutral network for content ranking
CN107704252A (zh) * 2017-10-20 2018-02-16 北京百悟科技有限公司 一种向用户提供人工智能平台的方法及系统
CN110188910A (zh) * 2018-07-10 2019-08-30 第四范式(北京)技术有限公司 利用机器学习模型提供在线预测服务的方法及系统
CN109272116A (zh) * 2018-09-05 2019-01-25 郑州云海信息技术有限公司 一种深度学习的方法及装置
CN109615081A (zh) * 2018-09-26 2019-04-12 阿里巴巴集团控股有限公司 一种模型预测系统及方法
CN110555550A (zh) * 2019-08-22 2019-12-10 阿里巴巴集团控股有限公司 在线预测服务的部署方法、装置及设备

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111898761A (zh) * 2020-08-12 2020-11-06 曙光信息产业(北京)有限公司 服务模型生成方法、图像处理方法、装置和电子设备
CN111899150A (zh) * 2020-08-28 2020-11-06 Oppo广东移动通信有限公司 数据处理方法、装置、电子设备及存储介质
CN112270410A (zh) * 2020-10-19 2021-01-26 北京达佳互联信息技术有限公司 在线推理服务系统、提供在线推理服务的方法及装置
CN113342361A (zh) * 2021-05-25 2021-09-03 上海商汤智能科技有限公司 模型部署方法及装置、电子设备和存储介质
CN113296766B (zh) * 2021-05-31 2022-10-11 中电福富信息科技有限公司 基于Seldon的AI模型发布方法及系统
CN113296766A (zh) * 2021-05-31 2021-08-24 中电福富信息科技有限公司 基于Seldon的AI模型发布方法及系统
CN113608751A (zh) * 2021-08-04 2021-11-05 北京百度网讯科技有限公司 推理服务平台的运行方法、装置、设备及存储介质
CN113342538A (zh) * 2021-08-05 2021-09-03 浩鲸云计算科技股份有限公司 脚本与模型分离提升gpu计算吞吐的推理引擎设计方法
CN113568757A (zh) * 2021-09-22 2021-10-29 中建电子商务有限责任公司 一种基于深度学习的大规模分布式推理引擎及系统
CN114154644A (zh) * 2021-11-30 2022-03-08 北京航空航天大学 一种机器学习数据处理方法及装置
CN114004358B (zh) * 2021-12-29 2022-06-14 粤港澳大湾区数字经济研究院(福田) 一种深度学习模型训练方法
CN114004358A (zh) * 2021-12-29 2022-02-01 粤港澳大湾区数字经济研究院(福田) 一种深度学习模型训练方法
CN114881233A (zh) * 2022-04-20 2022-08-09 深圳市魔数智擎人工智能有限公司 一种基于容器的分布式模型推理服务方法
CN115358400A (zh) * 2022-08-24 2022-11-18 上海人工智能创新中心 深度学习模型接口的使用方法
CN115248692A (zh) * 2022-09-21 2022-10-28 之江实验室 一种支持多种深度学习框架模型云端部署的装置及方法

Also Published As

Publication number Publication date
CN111461332B (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
CN111461332B (zh) 深度学习模型在线推理方法、装置、电子设备和存储介质
JP6941743B2 (ja) 機械学習モデルパッケージの生成および展開
US11816492B2 (en) Third party integration of plugins and widgets
JP5982586B2 (ja) ハイブリッドアプリケーションのためのリソース呼び出し
CN112685069A (zh) 机器学习模型的实时更新
Kemp et al. eyedentify: Multimedia cyber foraging from a smartphone
CN112784989B (zh) 推理系统、推理方法、电子设备及计算机存储介质
CN112329945A (zh) 一种模型部署及推理的方法和装置
US11422785B2 (en) Container orchestration framework
CN112114892B (zh) 深度学习模型的获取方法、加载方法及选取方法
US10693795B2 (en) Providing access to application program interfaces and Internet of Thing devices
CN110083455B (zh) 图计算处理方法、装置、介质及电子设备
KR20200068050A (ko) 인공지능 수행을 위한 학습 데이터 생성장치 및 방법
CN110908753B (zh) 一种智能融合的云桌面服务器、客户端及系统
CN110555550B (zh) 在线预测服务的部署方法、装置及设备
CN111858041B (zh) 一种数据处理方法及服务器
CN112243016B (zh) 一种中间件平台、终端设备、5g人工智能云处理系统及处理方法
US11222225B2 (en) Image recognition combined with personal assistants for item recovery
CN111079048A (zh) 一种页面加载方法及装置
CN112199621B (zh) 快速生成海报的方法、装置及计算机设备
CN111654539B (zh) 基于云原生的物联网操作系统构建方法、系统及电子设备
CN113220308A (zh) 用于部署及提供服务的方法、电子设备和存储介质
US11409564B2 (en) Resource allocation for tuning hyperparameters of large-scale deep learning workloads
CN112491940B (zh) 代理服务器的请求转发方法及装置、存储介质及电子设备
CN115811481A (zh) 一种交互服务测试方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant