CN113961199A - 一种模型部署系统、方法、装置及存储介质 - Google Patents
一种模型部署系统、方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113961199A CN113961199A CN202011515129.8A CN202011515129A CN113961199A CN 113961199 A CN113961199 A CN 113961199A CN 202011515129 A CN202011515129 A CN 202011515129A CN 113961199 A CN113961199 A CN 113961199A
- Authority
- CN
- China
- Prior art keywords
- target
- model
- deployment
- file
- server
- 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.)
- Pending
Links
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及数据处理,可应用于人工智能技术领域中,本申请实施例公开了一种模型部署系统、方法、装置及存储介质,该系统包括模型部署终端、模型部署服务器、部署于多个环境中的电子设备,其中:模型部署终端,用于获取与目标模型关联的目标文件,向模型部署服务器发送针对目标模型的部署请求;模型部署服务器,用于依照部署请求获取并存储目标文件,并向目标环境中的目标电子设备发送针对目标模型的部署指示信息;目标环境中的目标电子设备,用于依照部署指示信息获取目标文件,通过目标文件部署目标模型,有利于提高目标模型的部署效率。本申请涉及区块链技术,如可将目标文件写入区块链中,以用于目标模型部署等场景下。
Description
技术领域
本申请涉及人工智能技术领域,具体涉及神经网络领域,尤其涉及模型部署系统、方法、装置及存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
在AI领域,AI模型的部署是一个重要研究方向。目前,传统的AI模型部署方法,需要依赖众多的第三方模块(例如环境部署模块,模型运行模块等等),由于第三方模块的安装速度缓慢,严重影响了AI模型的部署效率。因此,如何提高AI模型的部署效率,成为一个亟待解决的问题。
传统的模型大多使用python开发,python程序的部署往往依赖python、rpm、anaconda等众多软件,安装复杂,模型部署缓慢。
发明内容
本申请实施例提供了一种模型部署系统、方法、装置及存储介质,有利于提高对目标模型的部署效率。
一方面,本申请实施例提出了一种模型部署系统,所述模型部署系统模型部署终端、模型部署服务器、部署于多个环境中的电子设备,其中:
所述模型部署终端,用于获取与目标模型关联的目标文件,从所述多个环境中确定待部署所述目标模型的目标环境,向模型部署服务器发送针对所述目标模型的部署请求;接收并显示所述目标模型的部署结果;
所述模型部署服务器,用于依照所述部署请求获取所述目标文件,并将所述目标文件存储至目标存储区域;向所述目标环境中的目标电子设备发送针对所述目标模型的部署指示信息;接收所述目标电子设备返回的所述目标模型的部署结果,并将所述目标模型的部署结果发送至所述模型部署终端;
所述目标环境中的目标电子设备,用于依照所述部署指示信息获取所述目标文件,通过所述目标文件部署所述目标模型,并向所述模型部署服务器返回所述目标模型的部署结果。
在一个实施例中,所述目标环境中的目标电子设备预先部署有应用容器引擎Docker,所述目标环境中的目标电子设备,具体用于:
从所述目标文件中获取Docker镜像、模型文件和环境信息;
将所述模型文件和所述环境信息加载至Docker镜像对应的指定目录中;
在所述指定目录中触发所述模型文件的运行。
在一个实施例中,所述部署请求中携带有所述目标文件的校验码,所述模型部署服务器,具体用于:
对比预先存储的各历史文件的校验码是否与所述目标文件的校验码匹配;
若检测到任一历史文件的校验码与所述目标文件的校验码匹配,则将所述任一历史文件作为目标文件存储至目标存储区域。
在一个实施例中,所述部署请求中携带有所述目标文件的校验码,所述模型部署服务器,还用于:
若检测到所述各历史文件的校验码均与所述目标文件的校验码不匹配,则向所述模型部署终端发送文件上传指示信息,所述文件上传指示信息用于指示所述模型部署终端向所述模型部署服务器发送所述目标文件。
在一个实施例中,所述模型部署终端,还用于:
当接收到所述模型部署服务器发送的文件上传指示信息时,检测所述目标文件是否为预设类型的文件;
若是,则对所述目标文件进行切片处理,得到至少一个切片文件;
将所述至少一个切片文件上传至所述模型部署服务器,以便于所述模型部署服务器整合所述至少一个分片文件得到所述目标文件。
在一个实施例中,所述模型部署终端,还用于:
当检测到针对所述目标模型的部署查询指令时,通过部署结果显示窗口显示所述部署结果,所述部署结果用于指示所述目标模型部署成功或者部署失败,所述部署结果显示窗口包括调试按钮;
通过所述调试按钮触发输入调试参数;
向所述目标环境中的任一个电子设备发送针对所述目标模型的调试请求,所述调试请求中包括所述调试参数,以便于所述任一个电子设备通过所述调试参数运行所述目标模型,并向所述模型部署终端返回运行结果。
在一个实施例中,所述部署指示信息包括所述目标文件的存储地址,所述目标环境中的目标电子设备,具体用于:依照所述存储地址从目标存储区域中获取所述目标文件。
另一方面,本申请实施例提供了一种模型部署方法,该方法由模型部署系统中目标环境包括的目标电子设备执行,该方法包括:
获取模型部署服务器发送的针对目标模型的部署指示信息;
依照所述部署指示信息获取与所述目标模型关联的目标文件,通过所述目标文件部署所述目标模型;
向所述模型部署服务器返回所述目标模型的部署结果,以便于所述模型部署服务器将所述部署结果下发至对应的模型部署终端,由所述模型部署终端显示所述部署结果。
再一方面,本申请实施例提供了一种模型部署装置,该装置部署于模型部署系统中目标环境包括的目标电子设备,所述装置包括:
通信模块,用于获取模型部署服务器发送的针对目标模型的部署指示信息;
处理模块,用于依照所述部署指示信息获取与所述目标模型关联的目标文件,通过所述目标文件部署所述目标模型;
所述通信模块,还用于向所述模型部署服务器返回所述目标模型的部署结果,以便于所述模型部署服务器将所述部署结果下发至对应的模型部署终端,由所述模型部署终端显示所述部署结果。
再一方面,本申请实施例提供了一种电子设备(例如模型部署系统中目标环境包括的目标电子设备),包括处理器、存储装置和通信接口,所述处理器、存储装置和通信接口相互连接,其中,所述存储装置用于存储支持终端执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如下步骤:
获取模型部署服务器发送的针对目标模型的部署指示信息;
依照所述部署指示信息获取与所述目标模型关联的目标文件,通过所述目标文件部署所述目标模型;
向所述模型部署服务器返回所述目标模型的部署结果,以便于所述模型部署服务器将所述部署结果下发至对应的模型部署终端,由所述模型部署终端显示所述部署结果。
本申请实施例,可以获取模型部署服务器发送的针对目标模型的部署指示信息,依照部署指示信息获取与目标模型关联的目标文件,通过目标文件部署所述目标模型。进一步地,向模型部署服务器返回目标模型的部署结果,以便于模型部署服务器将部署结果下发至对应的模型部署终端,由模型部署终端显示部署结果。采用这样的方式,可以通过与目标模型关联的目标文件自动实现目标模型的部署,使得目标模型的部署不依赖于第三方软件的安装和下载,有利于提高目标模型的部署效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的一种模型部署系统的结构示意图;
图2是本申请实施例的一种模型部署方法的流程示意图;
图3是本申请实施例的一种模型部署装置的结构示意图;
图4是本申请实施例的一种电子设备的结构示意图。
具体实施方式
请参见图1,本申请实施例提出了一种模型部署系统,该模型部署系统包括模型部署终端、模型部署服务器、部署于多个环境中的电子设备,该模型部署终端内可安装并运行有目标应用,或者模型部署终端为目标应用本身,该目标应用可以用于提供模型部署相关业务,例如为一个模型部署平台,此处的模型部署终端可以为以下任一种:智能手机、平板电脑、膝上计算机等便携式设备,以及台式电脑,等等。相应地,应用服务器为向目标应用提供相应模型部署服务的服务器,可以理解为该目标应用的后台服务器,应用服务器可以是一个独立的服务设备,也可以由多个服务设备所构成的集群设备。
其中,模型部署终端主要用于为用户(如模型工程师)提供模型部署的操作界面(例如模型相关文件上传、模型部署结果查询等等),其可包括以下至少一种:APP(Application,应用程序)、网页(如运行在模型部署终端内的浏览器中以展现给用户浏览的网页、H5网页等),等等;模型部署服务器用于为模型部署终端提供模型部署服务,以支撑模型部署终端的运行。上述多个环境可以分为原生环境和根据业务划分的服务环境,例如招聘环境、培训环境等等,任一环境中的电子设备可以为智能手机、平板电脑、膝上计算机、台式电脑等终端设备,也可以为服务器,本申请对此不作具体限定。具体地:
模型部署终端,用于获取与目标模型关联的目标文件,从多个环境中确定待部署目标模型的目标环境,向模型部署服务器发送针对目标模型的部署请求;接收并显示目标模型的部署结果。其中,目标模型可以指人工智能领域涉及的模型,例如神经网络模型。
具体实现中,当用户(例如模型工程师)想要部署目标模型时,可以通过模型部署终端登录模型部署平台,并通过模型部署平台上传与目标模型关联的目标文件,在目标文件上传完成后,用户输入针对目标模型的部署操作(例如模型部署终端通过显示页面显示了针对目标模型的部署按钮,用户针对该部署按钮输入的点击、按压、语音等操作即为上述部署操作)。模型部署终端检测到该部署操作后,可以获取上述目标文件,并从多个环境中确定待部署目标模型的目标环境,向模型部署服务器发送针对目标模型的部署请求。
其中,从多个环境中确定待部署目标模型的目标环境的具体方式可以为:用户在输入部署操作之前,从预先部署的多个环境中设置目标模型待部署的目标环境,模型部署终端可以标记目标模型与目标环境的对应关系。后续,当模型部署终端检测到针对目标模型输入的部署操作时,可以基于上述对应关系,从多个环境中确定待部署目标模型的目标环境(即多个环境中与目标模型具有对应关系的模型)。
上述目标文件包括目标模型的模型文件、环境信息和模型运行文件,其中,模型文件主要包括目标模型的模型数据,在目标模型构建完成后,模型数据是固定不变的,该模型数据可以包括目标模型中各网络层的网络参数,以及各网络层的层级信息;环境信息主要包括运行模型文件所需环境的环境参数;模型运行文件主要包括运行目标文件所需的运行参数。
在一个实施例中,当后续目标模型的部署是通过Docker实现时,那么上述的运行文件包括Docker镜像。其中,Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口;该docker镜像中预先安装有目标模型运行依赖的软件和第三方模块,其中,依赖的软件例如为python、rpm、anaconda等众多软件;第三方模块包括基础功能模块(例如transflow)等等。
模型部署服务器,用于依照部署请求获取目标文件,并将目标文件存储至目标存储区域;向目标环境中的目标电子设备发送针对目标模型的部署指示信息;接收目标电子设备返回的目标模型的部署结果,并将目标模型的部署结果发送至模型部署终端。
具体实现中,模型部署服务器依照部署请求获取目标文件的具体实施方式存在多种方式,分别如下:
方式一
上述部署请求中直接携带有目标文件,这种情况下,模型部署服务器可以直接从部署请求中获取到目标文件。
方式二
部署请求中携带有目标文件的校验码,这种情况下,模型部署服务器可以从部署请求中获取到目标文件的校验码,并对比预先存储的各历史文件的校验码是否与目标文件的校验码匹配,若检测到任一历史文件的校验码与目标文件的校验码匹配,则将任一历史文件作为目标文件存储至目标存储区域。
其中,该校验码为目标文件区别于其他文件的标识信息,该校验码可以为包括循环冗余校验码(CRC)、信息摘要算法值(如MD5)等。在一个实施例中,后端服务器接收到上述部署请求后,可以将目标文件的校验码依次与预先存储的历史文件的校验码进行对比,在对比过程中,若对比到目标文件的校验码与任一个历史文件相同,则可以停止对比,直接复用该历史文件,将该任一历史文件作为目标文件存储至目标存储区域。采用这样的方式,可以提高目标文件的复用率,减少模型部署终端和模型部署服务器之间数据的网络传输,提高目标文件的获取效率。
或者,在另一个实施例中,目标文件的校验码与所有历史文件的校验码均对比结束后,若检测到各历史文件的校验码均与目标文件的校验码不匹配,则可以向模型部署终端发送文件上传指示信息,该文件上传指示信息用于指示模型部署终端向模型部署服务器发送目标文件。
进一步地,当模型部署终端接收到模型部署服务器发送的文件上传指示信息时,可以检测该目标文件是否为预设类型的文件,若是,则可以对目标文件进行切片处理,得到至少一个分片文件,并将至少一个分片文件上传至模型部署服务器。模型部署服务器接收到上述至少一个分片文件之后,可以整合至少一个分片文件得到目标文件,并将目标文件存储至目标存储区。该目标存储区可以为本地存储区域、区块链、远端服务器(该远端服务器可以为普通的物理服务器、服务器集群,还可以为云服务器),本申请对此不作具体限定。
其中,预设类型的文件是指内存大于或者等于内存阈值的文件,模型部署终端可以检测目标文件是否大于或者等于内存阈值(例如20M),若是,则可确定目标文件为预设类型的文件,即可以理解为该目标文件为一个“大文件”。这种情况可以通过断点续传的方式,将至少一个分片文件上传至模型部署服务器。
其中,模型部署终端通过断点续传的方式,将至少一个分片文件上传至模型部署服务器的具体流程包括:
S10,模型部署终端得到至少一个分片文件之后,可以按照分片文件在目标文件中的位置先后顺序对分片文件进行编号,对每一个分片文件生成一个校验码,并获取目标文件的标识信息。进一步地,可以针对每一个分片文件生成包括每个分片文件的编号、校验码、分片文件、目标文件的标识信息的文件分片信息,依照每个切片的编号顺序依次上传目标分片文件的文件分片信息,其中,该目标分片文件为至少一个分片文件中的任一个分片文件。
S11,模型部署服务器接收到目标分片文件的文件分片信息后,可以依照目标分片文件的编号,确定该目标分片文件是否已经上传过,若未上传过,则可以存储该目标分片文件的文件分片信息备用,并向模型部署客户端返回下一个要上传的分片文件的编号。
S12,模型部署客户端依照上述下一个要上传的分片文件的编号,向模型部署服务器上传目标分片文件的下一个分片文件的文件分片信息。
S13,重复执行上述S11~步骤S12,直到模型部署客户端将所有分片文件的文件分片信息上传完毕,模型部署服务器可以获取存储的所有分片文件的文件分片信息,从所有分片文件的文件分片信息中获取各分片文件本身,以及各分片文件的校验码,校验各分片文件的校验码是否正确,若所有分片文件的校验码均正确,则可以对所有分片文件进行文件合并,得到目标文件。其中,文件合并的方法是根据各分片文件的编号依次将所有分片文件合并为一个文件。
或者,如果所有分片文件中存在任一分片文件校验码不正确,则可以标记该任一分片文件为上传失败的文件(以下简称失败文件),并向模拟部署终端重新获取失败文件的分片文件信息。
在一个实施例中,目标文件可以由多个子文件组成,例如模型文件、环境信息对应的文件、模型运行文件等等。这种情况下,上述部署请求中可以携带有目标文件中各子文件的校验码,模型部署服务器接收到部署请求后,可以采用与上述相似的对比方式,对比预先存储的各历史文件的校验码是否与各子文件的校验码相同,若检测到任一历史文件的校验码与第一子文件(该第一子文件为上述各子文件中的任一个)的校验码相同,则可以直接复用该任一历史文件,无需客户端重新上传该第一子文件;若检测到不存在任何历史文件的校验码与第二子文件(该第二子文件为上述各子文件中的任一个)的校验码相同,则可以向客户端发送文件上传指示信息,用于指示客户端上传该第二子文件。依次类推,模型部署服务器可以依照上述相似的方式得到目标文件中的所有子文件,也即得到目标文件。
其中,客户端上传第二子文件时,可以检测第二子文件是否为预设类型的文件,若是,则可以对第二子文件进行切片,并通过断点续传的方式,将第二子文件对应的至少一个分片文件上传至模型部署服务器,从而完成第二子文件的上传。其中,通过断点续传的方式,将第二子文件对应的至少一个分片文件上传至模型部署服务器的具体方式可以参见上述将目标文件对应至少一个分片文件上传至模型部署服务器的相关描述,此处不再赘述。
目标环境中的目标电子设备,用于依照部署指示信息获取目标文件,通过目标文件部署目标模型,并向模型部署服务器返回目标模型的部署结果。
在一个实施例中,部署指示信息包括目标文件的存储地址,该目标环境中的目标电子设备获取目标文件的具体实施方式为:依照存储地址从目标存储区域中获取上述目标文件。其中,目标存储区域可以为模型部署服务器的本地存储区域、区块链、远端服务器(该远端服务器可以为普通的物理服务器、服务器集群,还可以为云服务器)等等。
在一个实施例中,目标环境中的目标电子设备预先部署有应用容器引擎Docker,目标电子设备通过目标文件部署目标模型的具体实施方式可以为:从目标文件中获取Docker镜像、目标模型的模型文件和环境信息,将模型文件和环境信息加载至Docker镜像对应的指定目录中,在指定目录中触发模型文件的运行。具体地,可以调用Docker image指令从目标文件中获取Docker镜像,调用Docker run指令从目标文件中获取目标模型的模型文件和环境信息,将目标模型的模型文件和环境信息加载至Docker镜像对应的指定目录中,并在指定目录中触发模型文件的运行,从而实现对目标模型的部署。采用这样的方式,可以通过与目标模型关联的目标文件自动实现目标模型的部署,模型的部署不依赖于依赖python、rpm、anaconda等众多软件的下载,也不依赖于第三方模块的安装,也不存在依赖包的版本冲突,有利于提高模型的部署效率。
进一步地,目标电子设备可以在指定目录中触发模型文件的运行之后,监测模型文件的运行情况,并通过Docker日志记录,在运行结束后,可以基于运行结果确定目标模型的部署结果,并向模型部署服务器返回目标模型的部署结果。其中,该部署结果用于指示目标模型部署成功或者部署失败,若部署结果用于指示目标模型部署失败,那么目标电子设备还可以向模型部署服务器返回Docker日志。模型部署服务器可将接收到的部署结果和Docker日志发送至模型部署终端,由模型部署终端显示部署结果和Docker日志。
对于用户而言,可以通过模型部署终端查看目标模型的部署结果,若部署结果用于指示目标模型部署失败,还可以通过模型部署终端查看Docker日志,辅助用户定位目标模型部署失败的原因。
在一个实施例中,模型部署终端收到部署结果之后,若部署结果指示目标模型部署成功,可以输出部署成功提示信息,以便于用户可以第一时间知道目标模型部署成功,并登录模型部署平台来测试目标模型是否能正常使用。
或者,上述部署结果可由用户主动查询,具体地,当用户想要查询目标模型的部署结果时,可以登录模型部署平台针对目标模型输入部署查询指令(例如点击针对目标模型的查询按钮),模型部署终端检测到针对目标模型的部署查询指令时,可以通过部署结果显示窗口显示上述部署结果,该部署结果显示窗口包括调试按钮。进一步地,通过调试按钮触发输入调试参数,并向目标环境中的任一个电子设备发送针对目标模型的调试请求,该调试请求中包括调试参数,以便于任一个电子设备通过调试参数运行目标模型,并向模型部署终端返回运行结果,由模型部署终端显示运行结果。其中,输入的调试参数与目标模型执行的任务关联,例如,目标模型执行的任务为人脸识别,那么该目标参数则为一张人脸图像。
进一步地,模型部署终端接收到上述运行结果后,若基于运行结果确定目标模型运行有误,可以输出运行错误提示信息。具体实现中,若客户端检测到目标模型运行有误,可向上述任一个电子设备获取Docker日志,通过Docker日志定位问题,并基于定位的问题生成运行错误提示信息,用于提示目标模型运行错误的原因。
适用于上述模型部署系统,本申请实施例提出了一种模型部署方法,该方法由模型部署系统中目标环境包括的目标电子设备执行,请参见图2,该模型部署方法的执行步骤包括:
S201,获取模型部署服务器发送的针对目标模型的部署指示信息。
其中,上述模型部署系统包括模型部署终端、模型部署服务器以及部署于多个环境中的电子设备。在一个实施例中,当用户(例如模型工程师)想要部署目标模型时,可以通过模型部署终端登录模型部署平台,并通过模型部署平台上传与目标模型关联的目标文件,并从多个环境中选取目标模型待部署的目标环境。进一步地,模型部署终端可以获取上述目标文件,并向模型部署服务器发送针对目标模型的部署请求,该部署请求包括上述目标环境的标识信息。
模型部署服务器接收到该部署请求后,可以依照部署请求获取目标文件,将目标文件存储至目标存储区域,并依照上述目标环境的标识信息向目标环境中的目标电子设备发送针对目标模型的部署指示信息。
其中,上述目标电子设备为目标环境中的任一个或者多个电子设备。具体实现中,模型部署服务器可以监测目标环境中各电子设备的运行状态,获取各电子设备的运行信息,依照该运行信息从目标环境中确定目标电子设备。示例性地,可以依照运行信息,将目标环境中处于运行状态的电子设备确定为目标电子设备;或者可以依照运行信息,将目标环境中剩余运行内存大于运行内存阈值的电子设备确定为目标电子设备等等。
S202,依照部署指示信息获取与目标模型关联的目标文件,通过目标文件部署目标模型。
在一个实施例中,部署指示信息包括目标文件的存储地址,该目标环境中的目标电子设备获取目标文件的具体实施方式为:依照存储地址从目标存储区域中获取上述目标文件。其中,目标存储区域可以为模型部署服务器的本地存储区域、区块链、远端服务器(该远端服务器可以为普通的物理服务器、服务器集群,还可以为云服务器)等等,该目标存储区域中预先存储有目标文件。
S203,向模型部署服务器返回目标模型的部署结果,以便于模型部署服务器将部署结果下发至对应的模型部署终端,由模型部署终端显示该部署结果。
在一个实施例中,目标环境中的目标电子设备预先部署有应用容器引擎Docker,目标电子设备通过目标文件部署目标模型的具体实施方式可以为:从目标文件中获取Docker镜像、目标模型的模型文件和环境信息,将模型文件和环境信息加载至Docker镜像对应的指定目录中,在指定目录中触发模型文件的运行。具体地,可以调用Docker image指令从目标文件中获取Docker镜像,调用Docker run指令从目标文件中获取目标模型的模型文件和环境信息,将目标模型的模型文件和环境信息加载至Docker镜像对应的指定目录中,并在指定目录中触发模型文件的运行,从而实现对目标模型的部署。采用这样的方式,可以通过与目标模型关联的目标文件自动实现目标模型的部署,模型的部署不依赖于依赖python、rpm、anaconda等众多软件的下载,也不依赖于第三方模块的安装,也不存在依赖包的版本冲突,有利于提高模型的部署效率。
进一步地,目标电子设备可以在指定目录中触发模型文件的运行之后,监测模型文件的运行情况,并通过Docker日志记录,在运行结束后,可以基于运行结果确定目标模型的部署结果,并向模型部署服务器返回目标模型的部署结果。其中,该部署结果用于指示目标模型部署成功或者部署失败,若部署结果用于指示目标模型部署失败,那么目标电子设备还可以向模型部署服务器返回Docker日志。模型部署服务器可将接收到的部署结果和Docker日志发送至模型部署终端,由模型部署终端显示部署结果和Docker日志。
对于用户而言,可以通过模型部署终端查看目标模型的部署结果,若部署结果用于指示目标模型部署失败,还可以通过模型部署终端查看Docker日志,辅助用户定位目标模型部署失败的原因。
本申请实施例中,可以获取模型部署服务器发送的针对目标模型的部署指示信息,依照部署指示信息获取与目标模型关联的目标文件,通过目标文件部署所述目标模型。进一步地,向模型部署服务器返回目标模型的部署结果,以便于模型部署服务器将部署结果下发至对应的模型部署终端,由模型部署终端显示部署结果。采用这样的方式,可以通过与目标模型关联的目标文件自动实现目标模型的部署,使得目标模型的部署不依赖于第三方软件的安装和下载,有利于提高目标模型的部署效率。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述实施例中描述的相应方法。
再请参见图3,是本申请实施例的一种模型部署装置的结构示意图。
本申请实施例的所述装置的一个实现方式中,该装置部署于模型部署系统中目标环境中的电子设备,该模型部署系统还包括模型部署终端和模型部署服务器。所述装置包括如下结构。
通信模块30,用于获取模型部署服务器发送的针对目标模型的部署指示信息;
处理模块31,用于依照所述部署指示信息获取与所述目标模型关联的目标文件,通过所述目标文件部署所述目标模型;
所述通信模块30,还用于向所述模型部署服务器返回所述目标模型的部署结果,以便于所述模型部署服务器将所述部署结果下发至对应的模型部署终端,由所述模型部署终端显示所述部署结果。
在一个实施例中,所述部署指示信息包括所述目标文件的存储地址,所述处理模块31,具体用于:
依照所述存储地址从目标存储区域中获取所述目标文件。
在一个实施例中,所述目标环境中的目标电子设备预先部署有应用容器引擎Docker,所述处理模块31,具体用于:
从所述目标文件中获取Docker镜像、模型文件和环境信息;
将所述模型文件和所述环境信息加载至Docker镜像对应的指定目录中;
在所述指定目录中触发所述模型文件的运行。
在本申请实施例中,上述各个模块的具体实现可参考前述各个附图所对应的实施例中相关内容的描述。
本申请实施例中,模型部署装置可以获取模型部署服务器发送的针对目标模型的部署指示信息,依照部署指示信息获取与目标模型关联的目标文件,通过目标文件部署所述目标模型。进一步地,向模型部署服务器返回目标模型的部署结果,以便于模型部署服务器将部署结果下发至对应的模型部署终端,由模型部署终端显示部署结果。采用这样的方式,可以通过与目标模型关联的目标文件自动实现目标模型的部署,使得目标模型的部署不依赖于第三方软件的安装和下载,有利于提高目标模型的部署效率。
再请参见图4,是本申请实施例的一种电子设备的结构示意图,本申请实施例的所述电子设备包括供电模块等结构,并包括处理器401、存储装置402以及通信接口403。所述处理器401、存储装置402以及通信接口403之间可以交互数据,由处理器401实现相应的模型部署功能。该电子设备可以为模型部署系统中目标环境包括的电子设备,所述模型部署系统还包括模型部署终端、模型部署服务器。
所述存储装置402可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置402也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储装置402还可以包括上述种类的存储器的组合。
所述处理器401可以是中央处理器401(central processing unit,CPU)。在一个实施例中,所述处理器401还可以是图形处理器401(Graphics Processing Unit,GPU)。所述处理器401也可以是由CPU和GPU的组合。在所述服务器中,可以根据需要包括多个CPU和GPU进行相应的模型部署。在一个实施例中,所述存储装置402用于存储程序指令。所述处理器401可以调用所述程序指令,实现如本申请实施例中上述涉及的各种方法。
在第一个可能的实施方式中,所述服务器的所述处理器401,调用所述存储装置402中存储的程序指令,用于获取模型部署服务器发送的针对目标模型的部署指示信息;依照所述部署指示信息获取与所述目标模型关联的目标文件,通过所述目标文件部署所述目标模型;通过通信接口403向所述模型部署服务器返回所述目标模型的部署结果,以便于所述模型部署服务器将所述部署结果下发至对应的模型部署终端,由所述模型部署终端显示所述部署结果。
在一个实施例中,所述部署指示信息包括所述目标文件的存储地址,所述处理器401,具体用于:
依照所述存储地址从目标存储区域中获取所述目标文件。
在一个实施例中,所述目标环境中的目标电子设备预先部署有应用容器引擎Docker,所述处理器401,具体用于:
从所述目标文件中获取Docker镜像、模型文件和环境信息;
将所述模型文件和所述环境信息加载至Docker镜像对应的指定目录中;
在所述指定目录中触发所述模型文件的运行。
上述各个模块的实现方式可参考前述各个附图所对应的实施例中相关内容的描述。
本申请实施例中,电子设备可以获取模型部署服务器发送的针对目标模型的部署指示信息,依照部署指示信息获取与目标模型关联的目标文件,通过目标文件部署所述目标模型。进一步地,向模型部署服务器返回目标模型的部署结果,以便于模型部署服务器将部署结果下发至对应的模型部署终端,由模型部署终端显示部署结果。采用这样的方式,可以通过与目标模型关联的目标文件自动实现目标模型的部署,使得目标模型的部署不依赖于第三方软件的安装和下载,有利于提高目标模型的部署效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
其中,本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上所揭露的仅为本申请的部分实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种模型部署系统,其特征在于,所述模型部署系统包括模型部署终端、模型部署服务器、部署于多个环境中的电子设备,其中:
所述模型部署终端,用于获取与目标模型关联的目标文件,从所述多个环境中确定待部署所述目标模型的目标环境,向模型部署服务器发送针对所述目标模型的部署请求;接收并显示所述目标模型的部署结果;
所述模型部署服务器,用于依照所述部署请求获取所述目标文件,并将所述目标文件存储至目标存储区域;向所述目标环境中的目标电子设备发送针对所述目标模型的部署指示信息;接收所述目标电子设备返回的所述目标模型的部署结果,并将所述目标模型的部署结果发送至所述模型部署终端;
所述目标环境中的目标电子设备,用于依照所述部署指示信息获取所述目标文件,通过所述目标文件部署所述目标模型,并向所述模型部署服务器返回所述目标模型的部署结果。
2.如权利要求1所述的系统,其特征在于,所述目标环境中的目标电子设备预先部署有应用容器引擎Docker,所述目标环境中的目标电子设备,具体用于:
从所述目标文件中获取Docker镜像、模型文件和环境信息;
将所述模型文件和所述环境信息加载至Docker镜像对应的指定目录中;
在所述指定目录中触发所述模型文件的运行。
3.如权利要求1或2所述的系统,其特征在于,所述部署请求中携带有所述目标文件的校验码,所述模型部署服务器,具体用于:
对比预先存储的各历史文件的校验码是否与所述目标文件的校验码匹配;
若检测到任一历史文件的校验码与所述目标文件的校验码匹配,则将所述任一历史文件作为目标文件存储至目标存储区域。
4.如权利要求3所述的系统,其特征在于,所述部署请求中携带有所述目标文件的校验码,所述模型部署服务器,还用于:
若检测到所述各历史文件的校验码均与所述目标文件的校验码不匹配,则向所述模型部署终端发送文件上传指示信息,所述文件上传指示信息用于指示所述模型部署终端向所述模型部署服务器发送所述目标文件。
5.如权利要求4所述的系统,其特征在于,所述模型部署终端,还用于:
当接收到所述模型部署服务器发送的文件上传指示信息时,检测所述目标文件是否为预设类型的文件;
若是,则对所述目标文件进行切片处理,得到至少一个切片文件;
将所述至少一个切片文件上传至所述模型部署服务器,以便于所述模型部署服务器整合所述至少一个分片文件得到所述目标文件。
6.如权利要求1所述的系统,其特征在于,所述模型部署终端,还用于:
当检测到针对所述目标模型的部署查询指令时,通过部署结果显示窗口显示所述部署结果,所述部署结果用于指示所述目标模型部署成功或者部署失败,所述部署结果显示窗口包括调试按钮;
通过所述调试按钮触发输入调试参数;
向所述目标环境中的任一个电子设备发送针对所述目标模型的调试请求,所述调试请求中包括所述调试参数,以便于所述任一个电子设备通过所述调试参数运行所述目标模型,并向所述模型部署终端返回运行结果。
7.如权利要求1所述的系统,其特征在于,所述部署指示信息包括所述目标文件的存储地址,所述目标环境中的目标电子设备,具体用于:依照所述存储地址从目标存储区域中获取所述目标文件。
8.一种模型部署方法,其特征在于,所述方法包括:
获取模型部署服务器发送的针对目标模型的部署指示信息;
依照所述部署指示信息获取与所述目标模型关联的目标文件,通过所述目标文件部署所述目标模型;
向所述模型部署服务器返回所述目标模型的部署结果,以便于所述模型部署服务器将所述部署结果下发至对应的模型部署终端,由所述模型部署终端显示所述部署结果。
9.一种模型部署装置,其特征在于,该装置部署于模型部署系统中目标环境包括的目标电子设备,所述装置包括:
通信模块,用于获取模型部署服务器发送的针对目标模型的部署指示信息;
处理模块,用于依照所述部署指示信息获取与所述目标模型关联的目标文件,通过所述目标文件部署所述目标模型;
所述通信模块,还用于向所述模型部署服务器返回所述目标模型的部署结果,以便于所述模型部署服务器将所述部署结果下发至对应的模型部署终端,由所述模型部署终端显示所述部署结果。
10.一种计算机存储介质,其特征在于,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现如权利要求8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011515129.8A CN113961199A (zh) | 2020-12-18 | 2020-12-18 | 一种模型部署系统、方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011515129.8A CN113961199A (zh) | 2020-12-18 | 2020-12-18 | 一种模型部署系统、方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113961199A true CN113961199A (zh) | 2022-01-21 |
Family
ID=79459253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011515129.8A Pending CN113961199A (zh) | 2020-12-18 | 2020-12-18 | 一种模型部署系统、方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113961199A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443057A (zh) * | 2022-01-25 | 2022-05-06 | 北京百度网讯科技有限公司 | 对话模型的部署和对话方法、装置、电子设备及存储介质 |
WO2023185726A1 (zh) * | 2022-03-28 | 2023-10-05 | 维沃移动通信有限公司 | 模型获取方法、信息发送方法、信息接收方法、装置及网元 |
-
2020
- 2020-12-18 CN CN202011515129.8A patent/CN113961199A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443057A (zh) * | 2022-01-25 | 2022-05-06 | 北京百度网讯科技有限公司 | 对话模型的部署和对话方法、装置、电子设备及存储介质 |
CN114443057B (zh) * | 2022-01-25 | 2023-03-24 | 北京百度网讯科技有限公司 | 对话模型的部署和对话方法、装置、电子设备及存储介质 |
WO2023185726A1 (zh) * | 2022-03-28 | 2023-10-05 | 维沃移动通信有限公司 | 模型获取方法、信息发送方法、信息接收方法、装置及网元 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107896162B (zh) | 监控系统的部署方法、装置、计算机设备及存储介质 | |
CN110995825B (zh) | 一种智能合约的发布方法、智能节点设备及存储介质 | |
WO2020132620A1 (en) | Real time application error identification and mitigation | |
CN109901881B (zh) | 应用程序的插件加载方法、装置、计算机设备及存储介质 | |
CN113961199A (zh) | 一种模型部署系统、方法、装置及存储介质 | |
US10795793B1 (en) | Method and system for simulating system failures using domain-specific language constructs | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN111338656A (zh) | 安装软件包至目标主机的方法、装置和计算机设备 | |
CN111104158A (zh) | 一种软件打包的方法、装置、计算机设备及存储介质 | |
CN114116170A (zh) | 定时任务的执行方法、装置、计算机设备以及存储介质 | |
CN113946854A (zh) | 一种文件访问控制方法、装置及计算机可读存储介质 | |
US20230132560A1 (en) | Infrastructure as code (iac) pre-deployment analysis via a machine-learning model | |
CN113419814B (zh) | 一种云平台中虚拟机创建方法、装置、设备及存储介质 | |
CN114237991A (zh) | 基于冷备模式的主备服务切换方法、装置、设备及介质 | |
CN113672349A (zh) | 一种镜像的更新方法、装置、设备及介质 | |
CN113656378A (zh) | 一种服务器管理方法、装置、介质 | |
CN111913720A (zh) | 一种程序部署方法及装置 | |
CN113407438B (zh) | 模块的测试方法、计算机设备和存储介质 | |
CN114168163A (zh) | 一种程序安装方法、装置及介质 | |
CN112596855B (zh) | 一种容器创建方法及装置 | |
CN117112037A (zh) | 一种云平台启动方法、装置、电子设备及存储介质 | |
WO2022220839A1 (en) | Permission updates based on error messages | |
CN107341065B (zh) | 一种输出调试信息的方法及装置 | |
CN116955201A (zh) | 数据开发测试方法、装置、设备及介质 | |
CN116009911A (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 |