模型部署方法及装置、电子设备和存储介质
文献发布时间:2023-06-19 12:27:31
技术领域
本公开涉及计算机视觉技术领域,尤其涉及一种模型部署方法及装置、电子设备和存储介质。
背景技术
针对复杂场景,往往需要不同深度学习算法搭配使用,因此,对于一个智能AI训练平台,能够快速接入不同深度学习算法,并实现算法的工程化落地是非常重要的一个环节。
目前,针对不同的深度学习算法需要关注底层细节才能实现其各阶段流程,完成模型部署,不仅集成逻辑复杂,模型部署较慢,而且需要人为调整,容易出现错误。
发明内容
本公开实施例期望提供一种模型部署方法及装置、电子设备和存储介质。
本公开实施例的技术方案是这样实现的:
本公开实施例提供了一种模型部署方法,所述方法包括:
将目标深度学习算法封装成算法容器镜像;其中,所述算法容器镜像包括所述目标深度学习算法的至少一个阶段对应的至少一个接口函数;
从所述算法容器镜像中,调用所述至少一个接口函数执行所述至少一个阶段,得到目标模型。
在上述模型部署方法中,将目标深度学习算法封装成算法容器镜像,包括:
对所述目标深度学习算法进行容器镜像封装,得到第一容器镜像;
对所述第一容器镜像进行所述至少一个阶段的接口函数抽象封装,得到所述算法容器镜像。
在上述模型部署方法中,所述至少一个阶段包括:模型训练阶段、模型评测阶段和模型转换阶段,所述至少一个接口函数包括:所述模型训练阶段对应的第一接口函数、所述模型评测阶段对应的第二接口函数,以及所述模型转换阶段对应的第三接口函数,所述从所述算法容器镜像中,调用所述至少一个接口函数执行所述至少一个阶段,得到目标模型,包括:
从所述算法容器镜像中,调用所述第一接口函数进行模型训练,得到算法模型;
从所述算法容器镜像中,调用所述第二接口函数对所述算法模型进行模型评测,得到模型评测结果;
在所述模型评测结果满足预设模型效果条件的情况下,从所述算法容器镜像中,调用所述第三函数接口对所述算法模型进行转换,得到所述目标模型。
在上述模型部署方法中,所述第一接口函数包括:数据集接口函数、优化器接口函数、学习率调节接口函数、损失函数接口函数和反向传播接口函数;
所述第二接口函数包括:所述数据集接口函数和评测指标接口函数;
所述第三接口函数包括:模型转换接口函数。
在上述模型部署方法中,所述从所述算法容器镜像中,调用所述至少一个接口函数执行所述至少一个阶段,得到目标模型之后,所述方法还包括:
获取所述目标深度学习算法对应的模型推理验证镜像;
利用所述模型推理验证镜像,对所述目标模型进行推理验证,得到推理验证结果。
本公开实施例提供了一种模型部署装置,包括:
封装模块,用于将目标深度学习算法封装成算法容器镜像;其中,所述算法容器镜像包括所述目标深度学习算法的至少一个阶段对应的至少一个接口函数;
部署模块,用于从所述算法容器镜像中,调用所述至少一个接口函数执行所述至少一个阶段,得到目标模型。
在上述模型部署装置中,所述封装模块,具体用于对所述目标深度学习算法进行容器镜像封装,得到第一容器镜像;对所述第一容器镜像进行所述至少一个阶段的接口函数抽象封装,得到所述算法容器镜像。
在上述模型部署装置中,所述至少一个阶段包括:模型训练阶段、模型评测阶段和模型转换阶段,所述至少一个接口函数包括:所述模型训练阶段对应的第一接口函数、所述模型评测阶段对应的第二接口函数,以及所述模型转换阶段对应的第三接口函数,
所述部署模块,具体用于从所述算法容器镜像中,调用所述第一接口函数进行模型训练,得到算法模型;从所述算法容器镜像中,调用模所述第二接口函数对所述算法模型进行模型评测,得到模型评测结果;在所述模型评测结果满足预设模型效果条件的情况下,从所述算法容器镜像中,调用所述第三函数接口对所述算法模型进行转换,得到所述目标模型。
在上述模型部署装置中,所述第一接口函数包括:数据集接口函数、优化器接口函数、学习率调节接口函数、损失函数接口函数和反向传播接口函数;
所述第二接口函数包括:所述数据集接口函数和评测指标接口函数;
所述第三接口函数包括:模型转换接口函数。
在上述模型部署装置中,所述部署模块,还用于获取所述目标深度学习算法对应的模型推理验证镜像;利用所述模型推理验证镜像,对所述目标模型进行推理验证,得到推理验证结果。
本公开实施例提供了一种电子设备,所述电子设备包括:处理器、存储器和通信总线;其中,
所述通信总线,用于实现所述处理器和所述存储器之间的连接通信;
所述处理器,用于执行所述存储器中存储的模型部署程序,以实现上述模型部署方法。
本公开实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可以被一个或者多个处理器执行,以实现上述模型部署方法。
本公开实施例提供了一种模型部署方法及装置、电子设备和存储介质,方法包括:将目标深度学习算法封装成算法容器镜像;其中,算法容器镜像包括目标深度学习算法的至少一个阶段对应的至少一个接口函数;从算法容器镜像中,调用至少一个接口函数执行至少一个阶段,得到目标模型。本公开实施例提供的技术方案,将深度学习算法封装成算法容器镜像,迅速构建相应的工作流,并且,算法容器镜像中包括算法各个阶段对应的接口函数,可以快速调度相应接口函数完成模型部署,不仅模型部署的逻辑简单,速度较快,而且正确率较高。
附图说明
图1为本公开实施例提供的一种模型部署方法的流程示意图;
图2为本公开实施例提供的一种示例性的工业级模型部署的工作流示意图;
图3为本公开实施例提供的一种模型部署装置的结构示意图;
图4为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
本公开实施例提供了一种模型部署方法,其执行主体可以是模型部署装置,例如,模型部署方法可以由终端设备或服务器或其它电子设备执行,其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,模型部署方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
图1为本公开实施例提供的一种模型部署方法的流程示意图。如图1所示,在本公开的实施例中,模型部署方法主要包括以下步骤:
S101、将目标深度学习算法封装成算法容器镜像;其中,算法容器镜像包括目标深度学习的至少一个阶段对应的至少一个接口函数。
在本公开的实施例中,模型部署装置可以将目标深度学习算法封装成算法容器镜像。
需要说明的是,在本公开的实施例中,目标深度学习算法可以是任意深度学习算法,具体的目标深度学习算法可以根据实际需求和应用场景设定,本公开实施例不作限定。
具体的,在本公开的实施例中,模型部署装置将目标深度学习算法封装成算法容器镜像,包括:对目标深度学习算法进行容器镜像封装,得到第一容器镜像;对第一容器镜像进行至少一个阶段的接口函数抽象封装,得到算法容器镜像。
可以理解的是,在本公开的实施例中,模型部署装置将目标深度学习算法封装成第一容器镜像,第一容器镜像本身是一个底层环境,可以快速将目标深度学习算法通过虚拟化镜像的形式接入,对第一容器镜像进行目标深度学习算法的至少一个阶段的功能进行接口函数抽象封装,后续即可使用统一的工作流调用接口函数以实现相应的功能调用,完成相应阶段。
S102、从算法容器镜像中,调用至少一个接口函数执行至少一个阶段,得到目标模型。
在本公开的实施例中,模型部署装置在得到目标深度学习算法封装成的算法容器镜像之后,即可从该算法容器镜像中,调用目标深度学习算法的至少一个阶段对应的至少一个接口函数,执行至少一个阶段,从而得到目标模型。
需要说明的是,在本公开的实施例中,算法容器镜像中可以包括目标深度学习算法的三个阶段对应的接口函数,三个阶段分别为:模型训练阶段、模型评测阶段和模型转换阶段。其中,模型训练阶段对应的接口函数为第一接口函数,模型评测阶段对应的接口函数为第二接口函数,模型转换阶段对应的接口函数为第三接口函数。
具体的,在本公开的实施例中,模型部署装置从算法容器镜像中,调用至少一个接口函数执行至少一个阶段,得到目标模型,包括:从算法容器镜像中,调用第一接口函数进行模型训练,得到算法模型;从算法容器镜像中,调用第二接口函数对算法模型进行模型评测,得到模型评测结果;在模型评测结果满足预设模型效果条件的情况下,从算法容器镜像中,调用第三函数接口对算法模型进行转换,得到目标模型。
需要说明的是,在本公开的实施例中,第一接口函数包括:数据集接口函数、优化器接口函数、学习率调节接口函数、损失函数接口函数和反向接口函数。模型部署装置通过调用第一接口函数包括的各个具体的接口函数,完成各个具体的接口函数的内容,即可实现模型训练阶段。
需要说明的是,在本公开的实施例中,第二接口函数包括:数据集接口函数和评测指标接口函数,其中,由于在模型训练阶段需要调用数据集进行相应的训练,并且,在模型评测阶段需要调用数据集进行相应的评测,因此,实现数据集调用的数据集接口函数既涉及到模型训练的阶段,也涉及到模型评测的阶段,因此,数据集接口函数既属于第一接口函数,也属于第二接口函数。模型部署装置调用第二接口函数包括的两个具体的接口函数,完成两个接口函数的内容,即可实现对算法模型的评测,得到模型评测结果。模型评测结果表征了算法模型性能的优劣。
需要说明的是,在本公开的实施例中,如果模型评测结果满足预设模型效果条件,则表征算法模型的性能优秀,因此,模型部署装置可以继续进行后续的模型转换阶段,如果模型评测结果不满足预设模型效果条件,则表征算法模型的性能较差,其可能是在模型训练阶段中,调用的数据集不准确等原因造成的。
需要说明的是,在本公开的实施例中,第三接口函数包括模型转换接口函数,该接口函数可以将训练的算法模型转换成特定平台可用的模型,从而得到目标模型。
需要说明的是,在本公开的实施例中,上述第一接口函数、第二接口函数和第三接口函数各自包括的具体接口函数仅为提供的示例性的函数,对于目标深度学习算法不同阶段对应的接口函数,本公开实施例不作限定。
在本公开的实施例中,模型部署装置在从算法容器镜像中,调用至少一个接口函数执行至少一个阶段,得到目标模型之后,还可以执行以下步骤:获取目标深度学习算法对应的模型推理验证镜像;利用模型推理验证镜像,对目标模型进行推理验证,得到推理验证结果。
可以理解的是,在本公开的实施例中,模型部署装置在产出可用的目标模型之后,可以进一步对该目标模型进行推理验证,从而表征目标模型性能优劣的推理验证结果。当然,如果推理验证结果表征目标模型性能优秀,即可将目标模型进一步部署在需要应该模型的平台中,如果推理验证结果表征目标模型性能较差,则可以对其进行调整等处理。
可以理解的是,在本公开的实施例中,对于每一种深度学习算法,实际上模型部署装置都可以采用上述方案实现模型部署,即使用统一的接口函数实现算法的至少一个阶段的功能的封装,将深度学习算法封装成算法容器镜像,便于在工作流中调用,通过接口函数的调用即可执行算法的各阶段,完成整套流程,最后直接产出可用的模型。
需要说明的是,在本公开的实施例中,上述模型部署方法可以应用各个需要实现模型部署的场景中,例如,复杂的工业场景中,通常需要利用各种深度学习算法产出工业级模型,在工业场景中,模型部署装置可以采用上模型部署方法产出工业级模型,实现工业级模型部署。
图2为本公开实施例提供的一种示例性的工业级模型部署的工作流示意图。如图2所示,在工业级模型部署的场景中,采用的深度学习算法为检测算法,检测算法的接入和实现工业级模型部署仅为一个完整的全景图工作流中的子工作流,其还可以存在对应的上游工作流和下游工作流,本公开实施例不作限定。检测算法的算法容器镜像包括三个阶段对应的接口函数,其中,对于模型训练阶段,依赖的为数据集接口函数、优化器接口函数、学习率调节接口函数、损失函数接口函数和反向传播接口函数,对于模型评测阶段,依赖的为数据集接口函数和评测指标接口函数,模型转换阶段的接口函数图中未具体示出,但实际上算法容器镜像中包含相应的接口函数,模型转换阶段的接口函数,具体用于将训练的算法模型转换成目标工业平台可用的工业级模型M1,最后,可以利用模型推理验证镜像实现工业级模型M1的推理验证。此外,对于算法容器镜像中的数据集接口函数,其实际上涉及到模型训练阶段和模型评测阶段,通过数据集接口函数即可实现数据集D1的调用。
本公开实施例提供了一种模型部署方法,包括:将目标深度学习算法封装成算法容器镜像;其中,算法容器镜像包括目标深度学习算法的至少一个阶段对应的至少一个接口函数;从算法容器镜像中,调用不同至少一个接口函数执行至少一个阶段,得到目标模型。本公开实施例提供的模型部署方法,将深度学习算法封装成算法容器镜像,迅速构建相应的工作流,并且,算法容器镜像中包括算法各个阶段对应的接口函数,可以快速调度相应接口函数完成模型部署,不仅模型部署的逻辑简单,速度较快,而且正确率较高。
本公开实施例提供了一种模型部署装置。图3为本公开实施例提供的一种模型部署装置的结构示意图。如图3所示,在本公开的实施例中,模型部署装置包括:
封装模块301,用于将目标深度学习算法封装成算法容器镜像;其中,所述算法容器镜像包括所述目标深度学习算法的至少一个阶段对应的至少一个接口函数;
部署模块302,用于从所述算法容器镜像中,调用所述至少一个接口函数进执行所述至少一个阶段,得到目标模型。
在本公开一实施例中,所述封装模块301,具体用于对所述目标深度学习算法进行容器镜像封装,得到第一容器镜像;对所述第一容器镜像进行所述至少一个阶段的接口函数抽象封装,得到所述算法容器镜像。
在本公开一实施例中,所述至少一个阶段包括:模型训练阶段、模型评测阶段和模型转换阶段,所述至少一个接口函数包括:所述模型训练阶段对应的第一接口函数、所述模型评测阶段对应的第二接口函数,以及所述模型转换阶段对应的第三接口函数,
所述部署模块302,具体用于从所述算法容器镜像中,调用所述第一接口函数进行模型训练,得到算法模型;从所述算法容器镜像中,调用所述第二接口函数对所述算法模型进行模型评测,得到模型评测结果;在所述模型评测结果满足预设模型效果条件的情况下,从所述算法容器镜像中,调用所述第三函数接口对所述算法模型进行转换,得到所述目标模型。
在本公开一实施例中,所述第一接口函数包括:数据集接口函数、优化器接口函数、学习率调节接口函数、损失函数接口函数和反向传播接口函数;
所述第二接口函数包括:所述数据集接口函数和评测指标接口函数;
所述第三接口函数包括:模型转换接口函数。
在本公开一实施例中,所述部署模块302,还用于获取所述目标深度学习算法对应的模型推理验证镜像;利用所述模型推理验证镜像,对所述目标模型进行推理验证,得到推理验证结果。
本公开实施例提供了一种模型部署装置,将目标深度学习算法封装成算法容器镜像;其中,算法容器镜像包括目标深度学习算法的至少一个阶段对应的至少一个接口函数;从算法容器镜像中,调用至少一个接口函数执行至少一个阶段,得到目标模型。本公开实施例提供的模型部署装置,将深度学习算法封装成算法容器镜像,迅速构建相应的工作流,并且,算法容器镜像中包括不同深度学习算法各个阶段对应的接口函数,可以快速调度相应接口函数完成模型部署,不仅模型部署的逻辑简单,速度较快,而且正确率较高。
本公开实施例还提供了一种电子设备。图4为本公开实施例提供的一种电子设备的结构示意图。如图4所示,在本公开的实施例中,电子设备包括:处理器401、存储器402和通信总线403;其中,
所述通信总线403,用于实现所述处理器401和所述存储器402之间的连接通信;
所述处理器401,用于执行所述存储器402中存储的程序,以实现上述模型部署方法。
本公开实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可以被一个或者多个处理器执行,以实现上述模型部署方法。计算机可读存储介质可以是是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard DiskDrive,HDD)或固态硬盘(Solid-State Drive,SSD);也可以是包括上述存储器之一或任意组合的各自设备,如移动电话、计算机、平板设备、个人数字助理等。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程信号处理设备的处理器以产生一个机器,使得通过计算机或其他可编程信号处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程信号处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程信号处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。
- 模型部署方法、模型部署装置、终端设备及可读存储介质
- 机器学习模型的部署方法、装置、电子设备及存储介质