CN111625245A - 一种推理服务部署方法、装置、设备及存储介质 - Google Patents
一种推理服务部署方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111625245A CN111625245A CN202010443889.6A CN202010443889A CN111625245A CN 111625245 A CN111625245 A CN 111625245A CN 202010443889 A CN202010443889 A CN 202010443889A CN 111625245 A CN111625245 A CN 111625245A
- Authority
- CN
- China
- Prior art keywords
- target
- service
- frame
- inference service
- inference
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012360 testing method Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005096 rolling process Methods 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012430 stability testing Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Abstract
本申请公开了一种推理服务部署方法,该方法包括以下步骤:接收针对目标模型的推理服务部署指令;确定目标模型所属的目标框架;调用目标框架对应的服务创建接口创建目标模型的目标推理服务;确定目标推理服务所需的硬件资源;基于硬件资源,部署目标推理服务;其中,目标框架为TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。应用本申请实施例所提供的技术方案,支持多框架下模型的推理服务部署,提高了部署效率。本申请还公开了一种推理服务部署装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种推理服务部署方法、装置、设备及存储介质。
背景技术
推理服务部署,是指将训练得到的模型,进行线上部署,以供用户使用。
模型框架较多,如TensorFlow、TensorRT、SKLearn、PyTorch等框架,不同框架导出的模型不具备较好的兼容性。目前,会针对不同框架的模型设计不同的推理服务部署方法,使用不同的方式进行部署。
这样使得推理服务部署过程较为复杂,部署效率较低。
发明内容
本申请的目的是提供一种推理服务部署方法、装置、设备及存储介质,以简化推理服务部署过程,提高部署效率。
为解决上述技术问题,本申请提供如下技术方案:
一种推理服务部署方法,包括:
接收针对目标模型的推理服务部署指令;
确定所述目标模型所属的目标框架;
调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务;
确定所述目标推理服务所需的硬件资源;
基于所述硬件资源,部署所述目标推理服务;
其中,所述目标框架为TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。
在本申请的一种具体实施方式中,所述调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务,包括:
如果所述目标框架为TensorFlow框架或TensorRT框架,则调用预先集成的TensorFlow框架和TensorRT框架的服务模块的服务创建接口,创建所述目标模型的目标推理服务;
如果所述目标框架为SKLearn框架或PyTorch框架,则调用预先创建的http服务接口创建所述目标模型的目标推理服务;
如果所述目标框架为自定义框架,则将所述目标模型已有推理服务编译成容器镜像,创建所述目标模型的目标推理服务。
在本申请的一种具体实施方式中,在所述调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务之后,还包括:
接收对所述目标推理服务的查询请求;
根据所述查询请求,输出所述目标推理服务的状态信息。
在本申请的一种具体实施方式中,在所述调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务之后、所述基于所述硬件资源,部署所述目标推理服务之前,还包括:
调用所述目标推理服务推理所用的链接,对所述目标推理服务进行测试;
根据测试结果,确定是否执行所述基于所述硬件资源,部署所述目标推理服务的步骤。
在本申请的一种具体实施方式中,所述基于所述硬件资源,部署所述目标推理服务,包括:
基于所述硬件资源,调用滚动发布接口,发布所述目标推理服务。
在本申请的一种具体实施方式中,在所述发布所述目标推理服务之后,还包括:
根据接收到的流量调节指令,调节所述目标推理服务同时在线的两个版本的流量分配,进行对比测试。
在本申请的一种具体实施方式中,在所述调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务之后,还包括:
根据接收到的删除指令,删除所述目标推理服务。
一种推理服务部署装置,包括:
部署指令接收模块,用于接收针对目标模型的推理服务部署指令;
目标框架确定模块,用于确定所述目标模型所属的目标框架;
推理服务创建模块,用于调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务;
硬件资源确定模块,用于确定所述目标推理服务所需的硬件资源;
推理服务部署模块,用于基于所述硬件资源,部署所述目标推理服务;
其中,所述目标框架为TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。
一种推理服务部署设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述推理服务部署方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述推理服务部署方法的步骤。
应用本申请实施例所提供的技术方案,在接收到针对目标模型的推理服务部署指令后,确定目标模型所属的目标框架,调用目标框架对应的服务创建接口创建目标模型的目标推理服务,确定目标推理服务所需的硬件资源,基于硬件资源,部署目标推理服务。目标框架可以是TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。支持多框架下模型的推理服务部署,提高了部署效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种推理服务部署方法的实施流程图;
图2为本申请实施例中一种推理服务部署装置的结构示意图;
图3为本申请实施例中一种推理服务部署设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,为本申请实施例所提供的一种推理服务部署方法的实施流程图,该方法可以包括以下步骤:
S110:接收针对目标模型的推理服务部署指令。
在实际应用中,可以根据实际需要进行模型的推理服务的部署。在有相应部署需求时,可以由用户或者其他系统发出相应的推理服务部署指令。
在接收到针对目标模型的推理服务部署指令时,可以继续执行步骤S120的操作。
S120:确定目标模型所属的目标框架。
目标框架为TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。
其中,TensorFlow框架是一种采用数据流图,用于数值计算的深度学习框架;TensorRT框架是一种只有前向传播的深度学习框架;SKLearn框架是一种基于python的人工智能中机器学习的框架;PyTorch框架是一种基于Python语言的深度学习框架,专门针对GPU(Graphics Processing Unit,图形处理器)加速的深度神经网络(DNN)的程序开发。
在本申请实施例中,可以同时支持多框架导出的模型的推理服务部署。如TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架等。
具体的,通过集成TensorFlow框架、TensorRT框架的服务(Serving)模块,可以支持TensorFlow框架、TensorRT框架的模型。通过开发http服务,可以实现加载SKLearn框架、PyTorch框架的模型的能力。通过对已有推理服务编译成容器镜像,可以支持自定义框架的模型。
在接收到针对目标模型的服务部署指令后,可以确定目标模型所属的目标框架。具体的,可以根据目标模型的一些结构特征确定其所属的目标框架。目标模型所属的目标框架可以是TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。
S130:调用目标框架对应的服务创建接口创建目标模型的目标推理服务。
在本申请实施例中,不同框架可以对应不同的服务创建接口。在确定目标模型所属的目标框架后,可以调用目标框架对应的服务创建接口创建目标模型的目标推理服务。
具体的,如果目标框架为TensorFlow框架或TensorRT框架,则可以调用预先集成的TensorFlow框架和TensorRT框架的服务模块的服务创建接口,创建目标模型的目标推理服务;
如果目标框架为SKLearn框架或PyTorch框架,则可以调用预先创建的http服务接口创建目标模型的目标推理服务;
如果目标框架为自定义框架,则可以将目标模型已有推理服务编译成容器镜像,创建目标模型的目标推理服务。
对于属于不同框架的模型使用不同的服务创建接口创建相应的推理服务,同时支持多框架的模型的推理服务创建。
S140:确定目标推理服务所需的硬件资源。
在本申请实施例中,可以通过K8S进行硬件资源池化操作,将当前集群所拥有的硬件资源进行统一管理和控制。通过K8S的操作接口,可以对集群资源进行分配和使用,如可以对CPU、内存、硬盘等资源进行分配和使用。
不同模型所对应的推理服务所需的硬件资源可能不同。在接收到针对目标模型的推理服务部署指令之后,可以获得资源配置信息,通过资源配置信息可以确定目标模型的目标推理服务所需的硬件资源。
在本申请实施例,可以按照以下服务定义统一交互标准:
{
"name":"helloworld",//服务名,即servername
"storage_uri":"hdfs://helloworld",//模型存储路径,即model storage uri
"namespace":"default",//命名空间
"username":"user1",//操作人员账号
"model_class_name":"",//模型类名称(选填)
"framework":"custom",//框架名称
"time":"2019-12-18 15:22:0"//时间
"image":"10.166.15.29:5000/resnet_serving:latest",//镜像
"container_port":8501,//端口映射规则(选填,默认8080);
"res_request":{//资源需求-最低
"cpu":"4000m",//需要4个cpu核心
"memory":"4Gi"//需要4G内存
},
"res_limit":{//资源需求-最高
"cpu":"4000m",//需要4个cpu核心
"memory":"4Gi"//需要4G内存
}
}
以上服务定义为一种示例,在实际应用中可以进行其他设定和调整。在服务定义中,对服务进行了描述,包括定义框架类型、模型名称、资源需求等。在该服务定义中可以获得资源配置信息,从而确定目标推理服务所需的硬件资源。
S150:基于硬件资源,部署目标推理服务。
在确定目标推理服务所需的硬件资源后,即可基于该硬件资源,部署目标推理服务。具体的,可以通过统一部署接口部署目标推理服务。
应用本申请实施例所提供的方法,在接收到针对目标模型的推理服务部署指令后,确定目标模型所属的目标框架,调用目标框架对应的服务创建接口创建目标模型的目标推理服务,确定目标推理服务所需的硬件资源,基于硬件资源,部署目标推理服务。目标框架可以是TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。支持多框架下模型的推理服务部署,提高了部署效率。
在本申请的一个实施例中,在步骤S130调用目标框架对应的服务创建接口创建目标模型的目标推理服务之后,该方法还可以包括以下步骤:
步骤一:接收对目标推理服务的查询请求;
步骤二:根据查询请求,输出目标推理服务的状态信息。
在实际应用中,推理服务创建之后即可根据实际需求对其进行查询。在创建目标模型的目标推理服务之后,如果接收到对目标推理服务的查询请求,则可以根据该查询请求,输出目标推理服务的状态信息。具体的,可以通过服务名称等对推理服务进行查询,如查询服务状态,查询推理所用的链接URL(Uniform Resource Locator,统一资源定位符)。
在本申请的一个实施例中,在步骤S130调用目标框架对应的服务创建接口创建目标模型的目标推理服务之后、步骤S150基于硬件资源,部署目标推理服务之前,该方法还可以包括以下步骤:
第一个步骤:调用目标推理服务推理所用的链接,对目标推理服务进行测试;
第二个步骤:根据测试结果,确定是否执行基于硬件资源,部署目标推理服务的步骤。
在本申请实施例中,在调用目标框架对应的服务创建接口创建目标模型的目标推理服务之后,通过查询可以获得目标推理服务推理所用的链接,调用该链接,可以对目标推理服务进行测试。如稳定性测试、功能测试等。根据测试结果,可以确定是否执行基于硬件资源,部署目标推理服务的步骤。
具体的,如果测试结果符合预期,表明测试通过,则进一步可以执行基于硬件资源,部署目标推理服务的步骤,否则,表明测试未通过,可以输出错误提示信息,以便操作人员及时进行问题排查,或者可以重复执行调用目标框架对应的服务创建接口创建目标模型的目标推理服务的步骤。
在本申请的一个实施例中,步骤S150基于硬件资源,部署目标推理服务,可以包括以下步骤:
基于硬件资源,调用滚动发布接口,发布目标推理服务。
在确定目标推理服务所需的硬件资源后,可以基于硬件资源,调用滚动发布接口,发布目标推理服务,使得目标推理服务的新版本可以上线。通过滚动发布接口发布的目标推理服务,可以使得目标推理服务同时在线两个版本。以为新版本在实际使用中的性能未知,如果直接用其替换旧版本,则可能会出现一些未知错误。
所以,可以对目标推理服务同时在线的两个版本进行对比测试,可称为AB测试。根据对比测试结果,确定是否使用新版本更新旧版本。
在本申请的一种具体实施方式中,可以根据接收到的流量调节指令,调节目标推理服务同时在线的两个版本的流量分配,进行对比测试。比如,在新版本上线初始阶段,为旧版本分配更多一些的流量,为新版本分配较少一些的流量,在此过程中监测新版本的使用性能。如果没有较大问题,则可以逐渐减少分配给旧版本的流量,增加分配给新版本的流量,直至最终大部分后者所有流量都分配给新版本。如果在此过程中,新版本性能出现问题,则可以及时进行排查。
在本申请的一个实施例中,在步骤S130调用目标框架对应的服务创建接口创建目标模型的目标推理服务之后,该方法还可以包括以下步骤:
根据接收到的删除指令,删除目标推理服务。
在实际应用中,总会有模型的更新。对于之前已经创建的推理服务,如果不再需要,则可以根据实际情况对其进行删除处理。即在创建目标推理服务之后,可以根据接收到的删除指令,删除目标推理服务。这样可以避免推理服务的滥用。
下面以具体示例方式说明了PyTorch框架的模型的推理服务部署和测试:
(1)部署hdfsmodel
登录到shawn用户su shawn;
跳到部署测试目录cd~/deploy-test;
部署服务aistation deploy update-f model.json。
(2)查看hdfsmodel
检查服务部署情况aistation deploy get-s hdfsmodel-n cqs-test-ns。
(3)测试hdfsmodel
执行测试脚本bash py_test.sh
(4)AB测试
执行命令aistation deploy rollout-f model_rollout.json。
(5)手动调节流量分配
执行命令aistation deploy traffic-s hdfsmodel-n cqs-test-ns-p 50。
(6)删除服务
执行命令aistation deploy delete-s hdfsmodel-n cqs-test-ns。
下面以具体示例方式说明了自定义框架即custom框架的模型的推理服务部署和测试:
(1)部署resnet
登录到shawn用户su shawn;
跳到部署测试目录cd~/deploy-test;
部署服务aistation deploy update-f custom.json。
(2)查看resnet
检查服务部署情况aistation deploy get-s resnet-n cqs-test-ns。
(3)测试resnet
执行测试脚本python custom-test.py。
(4)AB测试
执行命令aistation deploy rollout-f custom_rollout.json。
(5)手动调节流量分配
执行命令aistation deploy traffic-s resnet-n cqs-test-ns-p 50。
(6)删除服务
执行命令aistation deploy delete-s resnet-n cqs-test-ns。
本申请实施例使得不同的模型可以通过同一种方式进行推理服务部署,解决了现有技术中对不同框架模型的不兼容问题,优化了模型上线的时间和流程,加快了模型迭代速度。而且,在进行推理服务部署时,整合了系统资源,自动完成对系统资源的分配和使用,提高了系统资源利用率。
相应于上面的方法实施例,本申请实施例还提供了一种推理服务部署装置,下文描述的推理服务部署装置与上文描述的推理服务部署方法可相互对应参照。
参见图2所示,该装置包括以下模块:
部署指令接收模块210,用于接收针对目标模型的推理服务部署指令;
目标框架确定模块220,用于确定目标模型所属的目标框架;
推理服务创建模块230,用于调用目标框架对应的服务创建接口创建目标模型的目标推理服务;
硬件资源确定模块240,用于确定目标推理服务所需的硬件资源;
推理服务部署模块250,用于基于硬件资源,部署目标推理服务;
其中,目标框架为TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。
应用本申请实施例所提供的装置,在接收到针对目标模型的推理服务部署指令后,确定目标模型所属的目标框架,调用目标框架对应的服务创建接口创建目标模型的目标推理服务,确定目标推理服务所需的硬件资源,基于硬件资源,部署目标推理服务。目标框架可以是TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。支持多框架下模型的推理服务部署,提高了部署效率。
在本申请的一种具体实施方式中,推理服务创建模块230,用于:
如果目标框架为TensorFlow框架或TensorRT框架,则调用预先集成的TensorFlow框架和TensorRT框架的服务模块的服务创建接口,创建目标模型的目标推理服务;
如果目标框架为SKLearn框架或PyTorch框架,则调用预先创建的http服务接口创建目标模型的目标推理服务;
如果目标框架为自定义框架,则将目标模型已有推理服务编译成容器镜像,创建目标模型的目标推理服务。
在本申请的一种具体实施方式中,还包括推理服务查询模块,用于:
在调用目标框架对应的服务创建接口创建目标模型的目标推理服务之后,接收对目标推理服务的查询请求;
根据查询请求,输出目标推理服务的状态信息。
在本申请的一种具体实施方式中,还包括推理服务测试模块,用于:
在调用目标框架对应的服务创建接口创建目标模型的目标推理服务之后、基于硬件资源,部署目标推理服务之前,调用目标推理服务推理所用的链接,对目标推理服务进行测试;
根据测试结果,确定是否执行基于硬件资源,部署目标推理服务的步骤。
在本申请的一种具体实施方式中,推理服务部署模块250,用于:
基于硬件资源,调用滚动发布接口,发布目标推理服务。
在本申请的一种具体实施方式中,还包括推理服务测试模块,用于:
在发布目标推理服务之后,根据接收到的流量调节指令,调节目标推理服务同时在线的两个版本的流量分配,进行对比测试。
在本申请的一种具体实施方式中,还包括推理服务删除模块,用于:
在调用目标框架对应的服务创建接口创建目标模型的目标推理服务之后,根据接收到的删除指令,删除目标推理服务。
相应于上面的方法实施例,本申请实施例还提供了一种推理服务部署设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述推理服务部署方法的步骤。
如图3所示,为推理服务部署设备的组成结构示意图,推理服务部署设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行推理服务部署方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
接收针对目标模型的推理服务部署指令;
确定目标模型所属的目标框架;
调用目标框架对应的服务创建接口创建目标模型的目标推理服务;
确定目标推理服务所需的硬件资源;
基于硬件资源,部署目标推理服务;
其中,目标框架为TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能(比如接口调用功能、服务部署功能)所需的应用程序等;存储数据区可存储使用过程中所创建的数据,如服务数据、模型数据等。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口13可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图3所示的结构并不构成对本申请实施例中推理服务部署设备的限定,在实际应用中推理服务部署设备可以包括比图3所示的更多或更少的部件,或者组合某些部件。
相应于上面的方法实施例,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述推理服务部署方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种推理服务部署方法,其特征在于,包括:
接收针对目标模型的推理服务部署指令;
确定所述目标模型所属的目标框架;
调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务;
确定所述目标推理服务所需的硬件资源;
基于所述硬件资源,部署所述目标推理服务;
其中,所述目标框架为TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。
2.根据权利要求1所述的方法,其特征在于,所述调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务,包括:
如果所述目标框架为TensorFlow框架或TensorRT框架,则调用预先集成的TensorFlow框架和TensorRT框架的服务模块的服务创建接口,创建所述目标模型的目标推理服务;
如果所述目标框架为SKLearn框架或PyTorch框架,则调用预先创建的http服务接口创建所述目标模型的目标推理服务;
如果所述目标框架为自定义框架,则将所述目标模型已有推理服务编译成容器镜像,创建所述目标模型的目标推理服务。
3.根据权利要求1所述的方法,其特征在于,在所述调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务之后,还包括:
接收对所述目标推理服务的查询请求;
根据所述查询请求,输出所述目标推理服务的状态信息。
4.根据权利要求1所述的方法,其特征在于,在所述调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务之后、所述基于所述硬件资源,部署所述目标推理服务之前,还包括:
调用所述目标推理服务推理所用的链接,对所述目标推理服务进行测试;
根据测试结果,确定是否执行所述基于所述硬件资源,部署所述目标推理服务的步骤。
5.根据权利要求1所述的方法,其特征在于,所述基于所述硬件资源,部署所述目标推理服务,包括:
基于所述硬件资源,调用滚动发布接口,发布所述目标推理服务。
6.根据所述权利要求5所述的方法,其特征在于,在所述发布所述目标推理服务之后,还包括:
根据接收到的流量调节指令,调节所述目标推理服务同时在线的两个版本的流量分配,进行对比测试。
7.根据权利要求1至6之中任一项所述的方法,其特征在于,在所述调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务之后,还包括:
根据接收到的删除指令,删除所述目标推理服务。
8.一种推理服务部署装置,其特征在于,包括:
部署指令接收模块,用于接收针对目标模型的推理服务部署指令;
目标框架确定模块,用于确定所述目标模型所属的目标框架;
推理服务创建模块,用于调用所述目标框架对应的服务创建接口创建所述目标模型的目标推理服务;
硬件资源确定模块,用于确定所述目标推理服务所需的硬件资源;
推理服务部署模块,用于基于所述硬件资源,部署所述目标推理服务;
其中,所述目标框架为TensorFlow框架、TensorRT框架、SKLearn框架、PyTorch框架、自定义框架中的一种。
9.一种推理服务部署设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述推理服务部署方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述推理服务部署方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010443889.6A CN111625245A (zh) | 2020-05-22 | 2020-05-22 | 一种推理服务部署方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010443889.6A CN111625245A (zh) | 2020-05-22 | 2020-05-22 | 一种推理服务部署方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111625245A true CN111625245A (zh) | 2020-09-04 |
Family
ID=72272694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010443889.6A Withdrawn CN111625245A (zh) | 2020-05-22 | 2020-05-22 | 一种推理服务部署方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625245A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015470A (zh) * | 2020-09-09 | 2020-12-01 | 平安科技(深圳)有限公司 | 模型部署方法、装置、设备及存储介质 |
CN113419750A (zh) * | 2021-08-24 | 2021-09-21 | 北京华品博睿网络技术有限公司 | 一种模型推理服务调用系统和方法 |
CN113608751A (zh) * | 2021-08-04 | 2021-11-05 | 北京百度网讯科技有限公司 | 推理服务平台的运行方法、装置、设备及存储介质 |
CN114911492A (zh) * | 2022-05-17 | 2022-08-16 | 北京百度网讯科技有限公司 | 推理服务部署方法、装置、设备以及存储介质 |
-
2020
- 2020-05-22 CN CN202010443889.6A patent/CN111625245A/zh not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015470A (zh) * | 2020-09-09 | 2020-12-01 | 平安科技(深圳)有限公司 | 模型部署方法、装置、设备及存储介质 |
WO2021151334A1 (zh) * | 2020-09-09 | 2021-08-05 | 平安科技(深圳)有限公司 | 模型部署方法、装置、设备及存储介质 |
CN112015470B (zh) * | 2020-09-09 | 2022-02-01 | 平安科技(深圳)有限公司 | 模型部署方法、装置、设备及存储介质 |
CN113608751A (zh) * | 2021-08-04 | 2021-11-05 | 北京百度网讯科技有限公司 | 推理服务平台的运行方法、装置、设备及存储介质 |
CN113419750A (zh) * | 2021-08-24 | 2021-09-21 | 北京华品博睿网络技术有限公司 | 一种模型推理服务调用系统和方法 |
CN113419750B (zh) * | 2021-08-24 | 2021-11-02 | 北京华品博睿网络技术有限公司 | 一种模型推理服务调用系统和方法 |
CN114911492A (zh) * | 2022-05-17 | 2022-08-16 | 北京百度网讯科技有限公司 | 推理服务部署方法、装置、设备以及存储介质 |
CN114911492B (zh) * | 2022-05-17 | 2024-03-08 | 北京百度网讯科技有限公司 | 推理服务部署方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625245A (zh) | 一种推理服务部署方法、装置、设备及存储介质 | |
KR102414096B1 (ko) | 종단 장치에서의 기계 학습을 위한 패키지 생성 및 배포 | |
US11924068B2 (en) | Provisioning a service | |
CN107766050B (zh) | 一种异构应用的部署方法以及装置 | |
CN108170448B (zh) | 一种自动化高效进行软件更新版本发布的系统 | |
CN108964993B (zh) | 基于动态代理的故障模拟方法、装置、设备及可读存储介质 | |
US10019255B1 (en) | Incremental software deployment in a service environment | |
CN112333096A (zh) | 一种微服务流量调度方法及相关组件 | |
CN114205230B (zh) | 云原生网元的配置方法、系统、介质及电子设备 | |
CN110647332A (zh) | 基于容器云的软件部署方法和装置 | |
CN115220874B (zh) | 一种Kubernetes集群部署方法、装置、设备及存储介质 | |
CN111930290B (zh) | 资源部署方法及装置 | |
CN113806037A (zh) | 服务的调用方法、装置、存储介质及电子设备 | |
CN111064626A (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN113342386A (zh) | 一种go服务器热更新方法及相关设备 | |
CN113590595A (zh) | 一种数据库多写方法、装置及相关设备 | |
CN113687858A (zh) | 配置文件的检查方法、装置、电子设备及存储介质 | |
CN115248692A (zh) | 一种支持多种深度学习框架模型云端部署的装置及方法 | |
CN112860251A (zh) | 一种网站前端构建的方法与系统 | |
CN111770174A (zh) | 一种云平台部署方法、装置、设备及可读存储介质 | |
CN110109684B (zh) | 区块链节点管理代理服务安装方法、电子装置及存储介质 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN116450165A (zh) | 一种快速搭建环境及部署程序的方法、系统、终端及存储介质 | |
US20240045733A1 (en) | Method and apparatus for deploying deep learning system | |
GB2583903A (en) | Testing virtualised network functions |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200904 |