CN116048542A - 一种计算机视觉深度学习模型的优化部署方法与装置 - Google Patents
一种计算机视觉深度学习模型的优化部署方法与装置 Download PDFInfo
- Publication number
- CN116048542A CN116048542A CN202310098795.3A CN202310098795A CN116048542A CN 116048542 A CN116048542 A CN 116048542A CN 202310098795 A CN202310098795 A CN 202310098795A CN 116048542 A CN116048542 A CN 116048542A
- Authority
- CN
- China
- Prior art keywords
- model
- deployment
- file
- deployed
- reasoning
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013136 deep learning model Methods 0.000 title claims abstract description 32
- 238000005457 optimization Methods 0.000 claims abstract description 84
- 238000012545 processing Methods 0.000 claims abstract description 4
- 230000008569 process Effects 0.000 claims description 16
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000012549 training Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 5
- 230000006399 behavior Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 claims description 3
- 238000005538 encapsulation Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- GPRLSGONYQIRFK-MNYXATJNSA-N triton Chemical compound [3H+] GPRLSGONYQIRFK-MNYXATJNSA-N 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction 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
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
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)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种计算机视觉深度学习模型的优化部署方法与装置,所述方法和装置核心为模型优化服务和模型部署服务两个模块。模型优化服务模块可将训练好的模型通过IR中间表示)转换为适配目标推理引擎及硬件设备的框架格式,提升推理性能。模型部署服务模块支持本地部署和在线部署两种方式,其中本地部署是指将待部署模型文件封装为SDK,下载至本地设备进行端侧推理;在线部署是指将待部署模型文件在云端服务器部署,开放接口供用户调用推理服务,本发明通过构建完整的模型优化和部署服务流程与装置,降低深度学习模型部署的复杂度,对多种模型网络架构、推理引擎的扩充兼容,使本公开实施例更具灵活性和可拓展性。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种计算机视觉深度学习模型的优化部署方法与装置。
背景技术
随着人工智能技术尤其是深度学习技术的突破,计算机视觉领域也得到了飞速发展。不断涌现的计算机视觉深度学习模型使得机器像人类一样智能地识别、理解视觉图像成为可能。然而,一个视觉模型想要发挥出其真正的作用和价值,除了建模和训练环节不断提升效果以外,更关键的是要进行模型部署和推理应用。与一般的软件应用部署不同,深度学习模型的部署通常无法通过简单的环境配置与安装完成,原因在于模型编写时依赖的各种框架与各种软硬件不能完全兼容;同时,深度学习模型通常都具备复杂的网络结构,运行一个模型对算力的要求非常高,因此需要在部署前对模型进行优化以提升其推理性能。由于这些问题的存在,模型的部署应用通常比较复杂和困难,而为了工程化地解决这些问题,业界经过不断探索,也产生了一些模型部署流程、工具和方法,但各方兼容的模型网络框架、推理引擎类型和硬件设备类型通常各不相同,有的工具只能较好地兼容自有模型库,其灵活性和可拓展性不强。
因此,亟需一种通用性更强的计算机视觉深度学习模型的优化部署方法和装置,以简化模型优化部署环节,实现用户友好的一键式模型优化部署全流程服务,提供较好的灵活性和可拓展性。
发明内容
本说明书提供一种计算机视觉深度学习模型的优化部署方法与装置,以部分解决现有技术存在的上述问题。
本发明提供了一种计算机视觉深度学习模型的优化部署方法,包括以下步骤:
S1:模型优化服务模块获取并加载原始模型文件及其配置参数文件,其中原始模型文件为已训练好的模型定义文件,配置参数文件包括模型的网络架构、任务类型、输入尺寸;
S2:根据所述原始模型文件中定义的模型开发框架、模型的网络架构,通过模型优化服务将原始模型文件转换为推理性能更优的模型框架格式(TensorRT等),并打包成待部署模型文件包后输出至待部署模型文件数据库中存储;
S3:通过模型部署服务进行所述待部署模型文件包的部署,部署完成后进行模型推理应用;
S4:通过本地部署方式将待部署模型文件包封装推理SDK,下载嵌入至本地设备进行运行;
S5:通过在线部署方式将待部署模型文件包在云端服务器上进行部署,部署完成后提供网络接口供用户请求推理服务。
作为优选,所述步骤S2中的模型优化服务,包括将原始模型文件的格式先转换为IR中间表示格式,再转换为适配所用硬件设备与推理引擎的目标框架格式,在转换过程中对模型进行优化。
作为优选,所述原始模型文件的格式取决于模型构建时依赖的框架,包括Pytorch、TensorFlow;
作为优选,所述IR中间表示格式,包含开放神经网络交换(Open Neural NetworkExchange,ONNX)、TorchScript,IR的选择取决于对推理性能的要求,适配的硬件设备环境、使用的推理引擎类型;
作为优选,所述模型部署服务包括本地部署方式和在线部署方式;
所述本地部署方式将所述待部署模型文件包封装为SDK,下载并嵌入至本地设备中进行部署推理,并在本地设备中进行数据处理和推理结果返回;
所述在线部署方式将所述待部署模型文件包部署至云端服务器上,并提供网络接口供用户端请求推理服务和获取推理结果。
本发明还提供了一种计算机视觉深度学习模型的优化部署装置,包括互相连接的用户请求管理模块、模型文件管理服务模块、模型优化服务模块、模型部署服务模块、文件存储管理模块;
所述用户请求管理模块用于管理用户对各种服务的请求;
所述模型文件管理服务模块用于管理用户对模型文件的各种操作,包括增加、删除、更改、查询;
所述模型优化服务模块用于将模型进行格式转换和性能优化,并打包成待部署模型文件包后输出;
所述模型部署服务模块用于将已准备好的待部署模型文件包通过本地部署方式或在线部署方式进行部署,完成部署后用户在本地设备上或通过网络接口进行推理服务的请求使用;
所述文件存储管理模块用于存储和管理整体优化部署流程中的相关模型文件,提供文件的存储、查询、读取、删除、备份功能。
作为优选,所述用户请求管理模块包括互相连接的模型文件管理请求单元、模型优化请求单元、模型部署推理请求单元;
所述模型文件管理请求单元负责管理用户针对模型文件的各种操作请求;
所述模型优化请求单元负责管理用户对模型优化服务的使用请求,每次用户请求时,均创建一个模型优化任务;
所述模型部署推理请求单元负责管理用户对模型部署推理服务的使用请求,每次用户请求时,均创建一个模型部署任务或一个模型推理任务。
作为优选,所述模型文件管理服务模块包括互相连接的新增管理单元、编辑管理单元、查询管理单元、删除管理单元、操作日志单元;
所述新增管理单元负责管理用户新增原始模型文件和相关配置参数文件的操作;
所述编辑管理单元负责管理用户对上传的模型文件进行编辑更新的操作;
所述查询管理单元负责管理用户对模型文件的查找筛选操作;
所述删除管理单元负责管理用户对模型文件的删除操作;
所述操作日志单元负责记录用户对模型文件的操作行为。
作为优选,所述模型优化服务模块包括互相连接的模型优化任务创建单元、文件读取单元、模型优化执行单元;
所述模型优化任务创建单元用于当用户请求模型优化服务时创建一个模型优化任务,选择需要优化的原始模型,并配置目标推理性能、使用的硬件设备信息;
所述文件读取单元用于从原始模型文件数据库中读取、加载原始模型文件和配置参数文件,获取模型优化所需的相关信息;
所述模型优化执行单元用于对原始模型进行推理性能的优化,转换为适配目标推理引擎的模型格式,并打包成待部署模型文件包后输出,所述待部署模型文件包作为模型部署服务的输入。
作为优选,所述模型部署服务模块包括互相连接的模型部署任务创建单元、文件读取单元、模型部署执行单元;
所述模型部署任务创建单元用于当用户请求模型部署推理服务时创建一个模型部署任务,选择需要部署的模型和部署方式;
所述文件读取单元负责加载解析待部署模型文件包,获取模型部署所需的必要信息;
所述模型部署执行单元用于按照所选择的部署方式,将待部署模型文件包完成最终的部署,从而进行推理应用。
作为优选,所述文件存储管理模块包括互相连接的原始模型文件数据库、优化模型文件数据库、待部署模型文件数据库;
所述原始模型文件数据库用于存储用户输入的已完成训练的原始模型文件和相关配置参数文件;
所述优化模型文件数据库用于存储经过模型优化服务后已转换格式的模型文件;
所述待部署模型文件数据库用于存储已准备好的待部署模型文件包。所述原始模型文件数据库、优化模型文件数据库、待部署模型文件数据库根据上层各服务模块发起的请求进行相应文件的写入存储、查询读取、结果返回。
本发明具有以下优点:本发明所述的一种计算机视觉深度学习模型的优化部署方法与装置,将模型优化与部署这一关键环节进行了完整的链路打通和功能封装,简化用户操作,降低了模型优化和部署的复杂度,提供了良好的用户体验;同时,对主流的模型框架、视觉模型网络架构、以及推理引擎和服务器、GPU/CPU硬件设备等都具有良好的适配性,且能够持续丰富支持的模型框架,具备更优的灵活性和可拓展性。
附图说明
为更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的部分附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为实施例1的一种计算机视觉深度学习模型的优化部署方法流程示意图;
图2为实施例1的一种计算机视觉深度学习模型的优化部署装置结构示意图;
图3为实施例1的一个基于Pytorch框架训练的计算机视觉深度学习模型的优化部署过程示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述。显而易见地,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明所述的一种计算机视觉深度学习模型的优化部署方法,包括以下步骤:
S1:模型优化服务模块获取并加载原始模型文件及其配置参数文件,其中原始模型文件为已训练好的模型定义文件,配置参数文件包括模型的网络架构、任务类型、输入尺寸;
S2:根据所述原始模型文件中定义的模型开发框架、模型的网络架构,通过模型优化服务将原始模型文件转换为推理性能更优的模型框架格式(TensorRT等),并打包成待部署模型文件包后输出至待部署模型文件数据库中存储;
S3:通过模型部署服务进行所述待部署模型文件包的部署,部署完成后进行模型推理应用;
S4:通过本地部署方式将待部署模型文件包封装推理SDK,下载嵌入至本地设备进行运行;
S5:通过在线部署方式将待部署模型文件包在云端服务器上进行部署,部署完成后提供网络接口供用户请求推理服务。
其中,所述步骤S2中的模型优化服务,包括将原始模型文件的格式先转换为IR中间表示格式,再转换为适配所用硬件设备与推理引擎的目标框架格式,在转换过程中对模型进行优化。
其中,所述原始模型文件的格式取决于模型构建时依赖的框架,包括Pytorch、TensorFlow;
其中,所述IR中间表示格式,包含开放神经网络交换(Open Neural NetworkExchange,ONNX)、TorchScript,IR的选择取决于对推理性能的要求,适配的硬件设备环境、使用的推理引擎类型;
其中,所述模型部署服务包括本地部署方式和在线部署方式;
所述本地部署方式将所述待部署模型文件包封装为SDK,下载并嵌入至本地设备中进行部署推理,并在本地设备中进行数据处理和推理结果返回;
所述在线部署方式将所述待部署模型文件包部署至云端服务器上,并提供网络接口供用户端请求推理服务和获取推理结果。
本发明还提供了一种计算机视觉深度学习模型的优化部署装置,包括互相连接的用户请求管理模块、模型文件管理服务模块、模型优化服务模块、模型部署服务模块、文件存储管理模块;
所述用户请求管理模块用于管理用户对各种服务的请求;
所述模型文件管理服务模块用于管理用户对模型文件的各种操作,包括增加、删除、更改、查询;
所述模型优化服务模块用于将模型进行格式转换和性能优化,并打包成待部署模型文件包后输出;
所述模型部署服务模块用于将已准备好的待部署模型文件包通过本地部署方式或在线部署方式进行部署,完成部署后用户在本地设备上或通过网络接口进行推理服务的请求使用;
所述文件存储管理模块用于存储和管理整体优化部署流程中的相关模型文件,提供文件的存储、查询、读取、删除、备份功能。
其中,所述用户请求管理模块包括互相连接的模型文件管理请求单元、模型优化请求单元、模型部署推理请求单元;
所述模型文件管理请求单元负责管理用户针对模型文件的各种操作请求;
所述模型优化请求单元负责管理用户对模型优化服务的使用请求,每次用户请求时,均创建一个模型优化任务;
所述模型部署推理请求单元负责管理用户对模型部署推理服务的使用请求,每次用户请求时,均创建一个模型部署任务或一个模型推理任务。
其中,所述模型文件管理服务模块包括互相连接的新增管理单元、编辑管理单元、查询管理单元、删除管理单元、操作日志单元;
所述新增管理单元负责管理用户新增原始模型文件和相关配置参数文件的操作;
所述编辑管理单元负责管理用户对上传的模型文件进行编辑更新的操作;
所述查询管理单元负责管理用户对模型文件的查找筛选操作;
所述删除管理单元负责管理用户对模型文件的删除操作;
所述操作日志单元负责记录用户对模型文件的操作行为。
其中,所述模型优化服务模块包括互相连接的模型优化任务创建单元、文件读取单元、模型优化执行单元;
所述模型优化任务创建单元用于当用户请求模型优化服务时创建一个模型优化任务,选择需要优化的原始模型,并配置目标推理性能、使用的硬件设备信息;
所述文件读取单元用于从原始模型文件数据库中读取、加载原始模型文件和配置参数文件,获取模型优化所需的相关信息;
所述模型优化执行单元用于对原始模型进行推理性能的优化,转换为适配目标推理引擎的模型格式,并打包成待部署模型文件包后输出,所述待部署模型文件包作为模型部署服务的输入。
其中,所述模型部署服务模块包括互相连接的模型部署任务创建单元、文件读取单元、模型部署执行单元;
所述模型部署任务创建单元用于当用户请求模型部署推理服务时创建一个模型部署任务,选择需要部署的模型和部署方式;
所述文件读取单元负责加载解析待部署模型文件包,获取模型部署所需的必要信息;
所述模型部署执行单元用于按照所选择的部署方式,将待部署模型文件包完成最终的部署,从而进行推理应用。
其中,所述文件存储管理模块包括互相连接的原始模型文件数据库、优化模型文件数据库、待部署模型文件数据库;
所述原始模型文件数据库用于存储用户输入的已完成训练的原始模型文件和相关配置参数文件;
所述优化模型文件数据库用于存储经过模型优化服务后已转换格式的模型文件;
所述待部署模型文件数据库用于存储已准备好的待部署模型文件包。所述原始模型文件数据库、优化模型文件数据库、待部署模型文件数据库根据上层各服务模块发起的请求进行相应文件的写入存储、查询读取、结果返回。
实施例1
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
Pytorch:开源的Python机器学习库,由Facebook人工智能研究院(FAIR)在2017年提出, 是常用的机器学习模型框架之一,可以简洁且快速高效地构建训练模型。
TensorFlow: 谷歌开发的机器学习开源库,帮助开发者快速建立和训练模型,是常用的机器学习模型框架之一。
ONNX: Open Neural Network Exchange开放神经网络交换格式,用于表示深度学习模型的标准格式,可作为不同模型格式之间的中间表示,以实现不同模型格式之间的转换。
TensorRT: 英伟达(NVIDIA)推出的高性能深度学习推理引擎,可以为深度学习模型在英伟达GPU上提供低延迟、高吞吐率的部署推理服务,且可支持绝大多数的深度学习模型框架。
TorchScript: 是PyTorch模型的中间表示形式,该中间表示可以在高性能环境(包括但不限于C ++)中运行。
Libtorch:是Pytorch的C++版本,支持CPU和GPU上的模型部署,由于Pytorch和Libtorch同属一个生态,语句逻辑接近,因此其兼容性更好,不会出现某些模型网络层无法识别等问题。
Triton: Triton Inference Server, 英伟达(NVIDIA)推出的开源推理服务器,为用户提供边缘设备端和云端推理的解决方案,支持CPU和GPU设备;同时支持HTTP/gRPC协议,能够为用户提供灵活的访问接口以请求推理服务。
HTTP: 网络传输协议,客户端通过HTTP协议向服务器发送请求,服务器做出响应,并再通过HTTP协议向客户端发送请求结果。
gRPC: RPC(Remote Procedure Call,远程过程调用),可以实现在客户端远程调用服务端服务得到服务结果,而无需关注服务本身如何实现;gRPC是谷歌开发的一种高性能、通用的开源RPC框架,面向移动端和服务端,基于HTTP/2通信。
图1为本说明书提供的一种计算机视觉深度学习模型的优化部署方法流程示意图,具体包括以下步骤:
101:初始化步骤,获取并加载训练好的原始模型文件和配置参数文件,该原始模型文件和配置参数文件由用户上传,可通过本地路径上传,也可通过云端路径拉取。
102:模型优化服务步骤,根据获取的模型信息和相关参数信息,模型优化服务模块将原始模型框架通过中间表示IR转换为推理性能更优的模型推理框架格式,并打包输出待部署模型文件;
103:模型部署服务步骤,将已准备好的待部署模型文件包进行部署,部署完成后,即可进行推理应用。
104:推理应用步骤,根据不同的部署方式,有不同的推理方式,如用户选择本地部署,则封装推理SDK,下载嵌入至本地设备进行端侧推理应用;如用户选择在线部署,则部署完成后将开放一个网络接口,供用户在线请求进行推理应用。
经过上述几个步骤后,将完成一个原始模型的优化和部署流程。
图2为本说明书提供的一种计算机视觉深度学习模型的优化部署装置示意图,具体包括以下模块:
201:用户请求管理模块,用于管理用户对各种服务的请求,该模块可包括模型文件管理请求单元、模型优化请求单元、模型部署推理请求单元。
所述模型文件管理请求单元,具体用于管理用户针对个人模型文件的增加、删除、更新、查询等各种操作请求,该请求通过模型文件管理服务模块202执行。
所述模型优化请求单元,具体用于管理用户对模型优化服务的请求,通过该请求发起模型优化任务的创建,进而由模型优化服务模块203执行。
所述模型部署推理请求单元,具体用于管理用户对模型部署推理服务的请求,通过该请求发起模型部署任务的创建,进而由模型部署服务模块204执行。在部署完成后,如果是在线部署的方式,可再次通过该单元发起推理请求以得到模型推理的结果。
202:模型文件管理服务模块,用于管理用户对个人模型文件的各种操作,该模块可包括新增管理单元、编辑管理单元、查询管理单元、删除管理单元、操作日志单元。
所述新增管理单元,具体用于管理用户新增原始模型文件和配置参数文件的相关操作,该操作将向原始模型文件数据库中写入新增文件数据。
所述编辑管理单元,具体用于管理用户对模型文件进行编辑更新的相关操作,该操作将更新相应文件数据库中的文件数据记录。
所述查询管理单元,具体用于管理用户对模型文件进行搜索、查找、筛选等相关操作,该操作将在相应的文件数据库中查找筛选目标文件,并返回结果。
所述删除管理单元,具体用于管理用户对模型文件进行的删除操作,该删除操作将从数据库中清空所有相关模型文件。
所述操作日志单元,具体用于记录用户对模型文件进行的所有操作,以监控用户行为以免出现异常情况,该操作日志的保存周期可以根据数据库的容量和监控需求进行选择,超过该周期的日志将被清空。
203:模型优化服务模块,用于完成对原始模型的优化过程,该模块可包括模型优化任务创建单元、文件读取单元、模型优化执行单元。
所述模型优化任务创建单元,具体用于当用户发起模型优化请求时创建一个模型优化任务,并选择需要优化的原始模型,配置目标推理性能要求、使用的硬件设备等信息。
所述文件读取单元,具体用于根据模型优化任务中选择的原始模型,从原始模型文件数据库中读取相应的文件数据。
所述模型优化执行单元,具体用于执行模型优化过程,将原始模型通过IR中间表示转换为目标推理引擎格式,并写入优化模型文件数据库中,优化后的模型文件与前后处理文件共同打包输出待部署模型文件并写入待部署模型文件数据库中,作为模型部署服务的输入。
204:模型部署服务模块,用于完成模型部署过程,主要包括模型部署任务创建单元、文件读取单元、模型部署执行单元。
所述模型部署任务创建单元,具体用于当用户发起模型部署推理请求时创建一个模型部署任务,并选择需要部署的模型和部署方式。
所述文件读取单元,具体用于根据模型部署任务中选择的模型,从待部署模型文件数据库中读取相应的文件数据。
所述模型部署执行单元,具体用于执行模型部署过程,将待部署模型文件根据选择的部署方式完成最终部署,如果是在线部署方式则部署完成后提供网络接口供用户请求推理服务。
205:文件存储管理模块,用于存储管理模型优化部署全过程中产生的所有文件数据,主要包括原始模型文件数据库、优化模型文件数据库、待部署模型文件数据库,并能够根据上层各服务模块发起的请求进行相应文件数据库的写入存储、查询读取、结果返回等操作。
所述原始模型文件数据库,具体用于存储用户输入的已完成训练的原始模型文件和相关配置参数文件。
所述优化模型文件数据库,具体用于存储经过模型优化服务后已转换格式的模型文件。
所述待部署模型文件数据库,具体用于存储已准备好的待部署模型文件。
图3说明了一个基于Pytorch框架训练的计算机视觉深度学习模型的优化部署过程示意图。首先将基于Pytorch框架训练的原始模型文件(.pt)和配置参数文件加载读取,获取模型具体的网络架构、权重参数、输入尺寸等相关信息。对于可支持转化为TensorRT的模型网络架构,将走优化方式①的链路,通过中间表示ONNX将原始的Pytorch模型最终转换为推理性能更优的TensorRT模型格式(.trt);对于暂不支持转换为TensorRT的模型网络架构,则走优化方式②的链路,通过中间表示TorchScript将Pytorch模型转换为Libtorch能够加载的形式,从而在C++环境中实现对原始模型的加载。两种方式最终都会输出待部署模型文件,该文件包含已优化的模型,以及一些前后处理过程,将作为模型部署的输入。模型部署过程将首先选择部署方式,如果选择本地部署,则将待部署模型文件进行处理以封装为推理SDK,并可将该SDK下载至本地设备上,后续推理在该设备上进行;如果选择在线部署,则将待部署模型文件通过推理服务器Triton进行部署服务化,并通过HTTP/gRPC提供网络接口,用户可通过调用该接口以在线请求模型的推理服务,得到推理结果。所述实施例对实际使用的用户来说是封装好的底层服务,用户所做的主要是上传原始模型文件和配置参数文件,选择优化的目标和部署的方式等交互性操作,而不需要过多的关心模型优化部署的内部实现过程,整个流程是比较简洁与用户友好的。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (11)
1.一种计算机视觉深度学习模型的优化部署方法,其特征在于,包括以下步骤:
S1:模型优化服务模块获取并加载原始模型文件及其配置参数文件,其中原始模型文件为已训练好的模型定义文件,配置参数文件包括模型的网络架构、任务类型、输入尺寸;
S2:根据所述原始模型文件中定义的模型开发框架、模型的网络架构,通过模型优化服务将原始模型文件转换为推理性能更优的模型框架格式,并打包成待部署模型文件包后输出至待部署模型文件数据库中存储;
S3:通过模型部署服务进行所述待部署模型文件包的部署,部署完成后进行模型推理应用;
S4:通过本地部署方式将待部署模型文件包封装推理SDK,下载嵌入至本地设备进行运行;
S5:通过在线部署方式将待部署模型文件包在云端服务器上进行部署,部署完成后提供网络接口供用户请求推理服务。
2.根据权利要求1所述的一种计算机视觉深度学习模型的优化部署方法,其特征在于,所述步骤S2中的模型优化服务,包括将原始模型文件的格式先转换为IR中间表示格式,再转换为适配所用硬件设备与推理引擎的目标框架格式,在转换过程中对模型进行优化。
3.根据权利要求1所述的一种计算机视觉深度学习模型的优化部署方法,其特征在于,所述原始模型文件的格式取决于模型构建时依赖的框架,包括Pytorch、TensorFlow。
4.根据权利要求2所述的一种计算机视觉深度学习模型的优化部署方法,其特征在于,所述IR中间表示格式,包含开放神经网络交换、TorchScript,IR中间表示格式的选择取决于对推理性能的要求,适配的硬件设备环境、使用的推理引擎类型。
5.根据权利要求1所述的一种计算机视觉深度学习模型的优化部署方法,其特征在于,所述模型部署服务包括本地部署方式和在线部署方式;
所述本地部署方式将所述待部署模型文件包封装为SDK,下载并嵌入至本地设备中进行部署推理,并在本地设备中进行数据处理和推理结果返回;
所述在线部署方式将所述待部署模型文件包部署至云端服务器上,并提供网络接口供用户端请求推理服务和获取推理结果。
6.一种计算机视觉深度学习模型的优化部署装置,其特征在于,包括互相连接的用户请求管理模块、模型文件管理服务模块、模型优化服务模块、模型部署服务模块、文件存储管理模块;
所述用户请求管理模块用于管理用户对各种服务的请求;
所述模型文件管理服务模块用于管理用户对模型文件的各种操作,包括增加、删除、更改、查询;
所述模型优化服务模块用于将模型进行格式转换和性能优化,并打包成待部署模型文件包后输出;
所述模型部署服务模块用于将已准备好的待部署模型文件包通过本地部署方式或在线部署方式进行部署,完成部署后用户在本地设备上或通过网络接口进行推理服务的请求使用;
所述文件存储管理模块用于存储和管理整体优化部署流程中的相关模型文件,提供文件的存储、查询、读取、删除、备份功能。
7.根据权利要求6所述的一种计算机视觉深度学习模型的优化部署装置,其特征在于,所述用户请求管理模块包括互相连接的模型文件管理请求单元、模型优化请求单元、模型部署推理请求单元;
所述模型文件管理请求单元负责管理用户针对模型文件的各种操作请求;
所述模型优化请求单元负责管理用户对模型优化服务的使用请求,每次用户请求时,均创建一个模型优化任务;
所述模型部署推理请求单元负责管理用户对模型部署推理服务的使用请求,每次用户请求时,均创建一个模型部署任务或一个模型推理任务。
8.根据权利要求6所述的一种计算机视觉深度学习模型的优化部署装置,其特征在于,所述模型文件管理服务模块包括互相连接的新增管理单元、编辑管理单元、查询管理单元、删除管理单元、操作日志单元;
所述新增管理单元负责管理用户新增原始模型文件和相关配置参数文件的操作;
所述编辑管理单元负责管理用户对上传的模型文件进行编辑更新的操作;
所述查询管理单元负责管理用户对模型文件的查找筛选操作;
所述删除管理单元负责管理用户对模型文件的删除操作;
所述操作日志单元负责记录用户对模型文件的操作行为。
9.根据权利要求6所述的一种计算机视觉深度学习模型的优化部署装置,其特征在于,所述模型优化服务模块包括互相连接的模型优化任务创建单元、文件读取单元、模型优化执行单元;
所述模型优化任务创建单元用于当用户请求模型优化服务时创建一个模型优化任务,选择需要优化的原始模型,并配置目标推理性能、使用的硬件设备信息;
所述文件读取单元用于从原始模型文件数据库中读取、加载原始模型文件和配置参数文件,获取模型优化所需的相关信息;
所述模型优化执行单元用于对原始模型进行推理性能的优化,转换为适配目标推理引擎的模型格式,并打包成待部署模型文件包后输出,所述待部署模型文件包作为模型部署服务的输入。
10.根据权利要求6所述的一种计算机视觉深度学习模型的优化部署装置,其特征在于,所述模型部署服务模块包括互相连接的模型部署任务创建单元、文件读取单元、模型部署执行单元;
所述模型部署任务创建单元用于当用户请求模型部署推理服务时创建一个模型部署任务,选择需要部署的模型和部署方式;
所述文件读取单元负责加载解析待部署模型文件包,获取模型部署所需的必要信息;
所述模型部署执行单元用于按照所选择的部署方式,将待部署模型文件包完成最终的部署,从而进行推理应用。
11.根据权利要求6所述的一种计算机视觉深度学习模型的优化部署装置,其特征在于,所述文件存储管理模块包括互相连接的原始模型文件数据库、优化模型文件数据库、待部署模型文件数据库;
所述原始模型文件数据库用于存储用户输入的已完成训练的原始模型文件和相关配置参数文件;
所述优化模型文件数据库用于存储经过模型优化服务后已转换格式的模型文件;
所述待部署模型文件数据库用于存储已准备好的待部署模型文件包;
所述原始模型文件数据库、优化模型文件数据库、待部署模型文件数据库根据上层各服务模块发起的请求进行相应文件的写入存储、查询读取、结果返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310098795.3A CN116048542B (zh) | 2023-02-11 | 2023-02-11 | 一种计算机视觉深度学习模型的优化部署方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310098795.3A CN116048542B (zh) | 2023-02-11 | 2023-02-11 | 一种计算机视觉深度学习模型的优化部署方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116048542A true CN116048542A (zh) | 2023-05-02 |
CN116048542B CN116048542B (zh) | 2023-10-31 |
Family
ID=86133055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310098795.3A Active CN116048542B (zh) | 2023-02-11 | 2023-02-11 | 一种计算机视觉深度学习模型的优化部署方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048542B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117910525A (zh) * | 2024-01-19 | 2024-04-19 | 上海算法创新研究院 | 一种基于国产gpu深度学习的大模型转换与训练系统 |
CN118278468A (zh) * | 2024-05-31 | 2024-07-02 | 浙江大学 | 基于数据库管理系统的深度神经网络推理方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419750A (zh) * | 2021-08-24 | 2021-09-21 | 北京华品博睿网络技术有限公司 | 一种模型推理服务调用系统和方法 |
CN113721898A (zh) * | 2021-08-30 | 2021-11-30 | 平安科技(深圳)有限公司 | 机器学习模型部署方法、系统、计算机设备及存储介质 |
CN114781635A (zh) * | 2022-06-22 | 2022-07-22 | 国汽智控(北京)科技有限公司 | 模型部署方法、装置、设备和介质 |
CN115618943A (zh) * | 2022-11-08 | 2023-01-17 | 北京视海芯图微电子有限公司 | 一种模型部署方法、装置、系统及电子设备 |
CN115660104A (zh) * | 2022-10-28 | 2023-01-31 | 武汉大学 | 面向arm处理器的深度学习模型部署方法及设备 |
WO2023004806A1 (zh) * | 2021-07-30 | 2023-02-02 | 西门子股份公司 | Ai模型的设备部署方法、系统及存储介质 |
-
2023
- 2023-02-11 CN CN202310098795.3A patent/CN116048542B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023004806A1 (zh) * | 2021-07-30 | 2023-02-02 | 西门子股份公司 | Ai模型的设备部署方法、系统及存储介质 |
CN113419750A (zh) * | 2021-08-24 | 2021-09-21 | 北京华品博睿网络技术有限公司 | 一种模型推理服务调用系统和方法 |
CN113721898A (zh) * | 2021-08-30 | 2021-11-30 | 平安科技(深圳)有限公司 | 机器学习模型部署方法、系统、计算机设备及存储介质 |
CN114781635A (zh) * | 2022-06-22 | 2022-07-22 | 国汽智控(北京)科技有限公司 | 模型部署方法、装置、设备和介质 |
CN115660104A (zh) * | 2022-10-28 | 2023-01-31 | 武汉大学 | 面向arm处理器的深度学习模型部署方法及设备 |
CN115618943A (zh) * | 2022-11-08 | 2023-01-17 | 北京视海芯图微电子有限公司 | 一种模型部署方法、装置、系统及电子设备 |
Non-Patent Citations (2)
Title |
---|
LUKAS KRAWCZYK等: "Model-Based Timing Analysis and Deployment Optimization for Heterogeneous Multi-core Systems using Eclipse APP4MC", INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS COMPANION, pages 44 - 53 * |
毛玉明: "应用三维弹簧系统模型的锚节点部署优化", 电讯技术, vol. 56, no. 8, pages 850 - 855 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117910525A (zh) * | 2024-01-19 | 2024-04-19 | 上海算法创新研究院 | 一种基于国产gpu深度学习的大模型转换与训练系统 |
CN118278468A (zh) * | 2024-05-31 | 2024-07-02 | 浙江大学 | 基于数据库管理系统的深度神经网络推理方法和装置 |
CN118278468B (zh) * | 2024-05-31 | 2024-09-06 | 浙江大学 | 基于数据库管理系统的深度神经网络推理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116048542B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116048542B (zh) | 一种计算机视觉深度学习模型的优化部署方法与装置 | |
US20220138004A1 (en) | System and method for automated production and deployment of packaged ai solutions | |
Shyamsundar et al. | Collaborative virtual prototyping of product assemblies over the Internet | |
US11389960B2 (en) | Systems and methods for robotic process automation | |
CN104321768B (zh) | 用于执行应用程序以通过浏览电信网络查阅可访问的内容和服务的方法和系统 | |
CN109240670A (zh) | 模块化的软件开发方法、系统、设备及介质 | |
CN115309562A (zh) | 算子调用系统、算子生成方法,电子设备 | |
CN113868306A (zh) | 一种基于opc-ua规范的数据建模系统和方法 | |
CN115525436A (zh) | 模型部署、运行方法、装置、离线分析工具和电子设备 | |
CN114254606A (zh) | 微服务框架模型 | |
CN117111960A (zh) | 工业现场设备监测系统 | |
CN118432269A (zh) | 一种基于微服务架构的供电质量监测方法及系统 | |
CN113849300B (zh) | 一种边缘配置系统及方法 | |
CN118276848A (zh) | 一种低代码平台的函数自定义方法、装置、设备及介质 | |
CN112698817B (zh) | 基于微服务架构的消息接入方法、装置、系统及存储介质 | |
CN117149270A (zh) | 跨硬件平台的模型文件的生成方法、系统及相关设备 | |
CN116578423B (zh) | 任务处理方法、自动问答方法以及图像生成方法 | |
CN113111108A (zh) | 文件数据源入库解析接入方法 | |
US20230186117A1 (en) | Automated cloud data and technology solution delivery using dynamic minibot squad engine machine learning and artificial intelligence modeling | |
CN118113275A (zh) | 后端低代码开发方法、装置、设备及介质 | |
CN115599396A (zh) | 机器学习模型部署方法及其装置、设备、介质、产品 | |
Aderhold et al. | The common implementation framework as service–towards novel applications for streamlined presentation of 3D content on the web | |
CN114968287A (zh) | 一种自动部署项目的方法及系统 | |
CN113111111A (zh) | 多数据源数据库接入方法 | |
Tuyishime et al. | Dynamic Provisioning of REST APIs for Model Management |
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 |