CN116954631A - 模型部署方法、相关装置及存储介质 - Google Patents
模型部署方法、相关装置及存储介质 Download PDFInfo
- Publication number
- CN116954631A CN116954631A CN202311010974.3A CN202311010974A CN116954631A CN 116954631 A CN116954631 A CN 116954631A CN 202311010974 A CN202311010974 A CN 202311010974A CN 116954631 A CN116954631 A CN 116954631A
- Authority
- CN
- China
- Prior art keywords
- target
- model
- reasoning
- deployment
- configuration information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000003860 storage Methods 0.000 title abstract description 52
- 230000006978 adaptation Effects 0.000 claims abstract description 155
- 238000013507 mapping Methods 0.000 claims abstract description 37
- 238000006243 chemical reaction Methods 0.000 claims description 73
- 238000012545 processing Methods 0.000 claims description 59
- 238000012805 post-processing Methods 0.000 claims description 16
- 238000007781 pre-processing Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 11
- 230000003044 adaptive effect Effects 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 17
- 238000013473 artificial intelligence Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种模型部署方法、相关装置及存储介质。方法可应用于模型部署平台,该平台中预设有通用部署框架,通用部署框架中集成有动态库的接口,动态库中存有多个对应不同推理硬件的推理框架,方法包括:获取目标设备中目标推理硬件对应的目标推理硬件标识;根据第一映射关系以及目标推理硬件标识确定目标推理框架;从多个适配模型中确定与目标推理框架适配的目标适配模型;确定与目标适配模型对应的目标模型配置信息;根据目标推理硬件标识、目标模型配置信息以及通用部署框架生成模型部署文件;将模型部署文件发送至目标设备,使得目标设备根据根据该模型部署文件完成目标模型的部署。通过本实施例可以提高模型部署的效率。
Description
技术领域
本申请实施例涉及自动化部署技术领域,尤其涉及一种模型部署方法、相关装置及存储介质。
背景技术
模型部署是打通模型训练与生产落地的重要环节,为了满足多场景的需求,通常一个训练后的模型需要被部署到不同的设备上,不同的设备中具有特定模型推理功能的推理硬件通常只有一个且不同,该推理硬件包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)或者是神经网络处理器(neural-network processing unit,NPU)等芯片,为了使得推理硬件在执行模型的推理操作时能够实现较高的推理性能,不同的硬件厂商针对自身开发的推理硬件通常会提供特定的推理框架。
在现有的模型部署方法中,当将一个训练后的模型部署到不同的推理硬件上时,为了保证模型在不同推理硬件上的推理性能,在每次部署前,都需要针对不同的推理硬件分别进行推理代码的修改,以使得模型能够适配不同的推理框架,然而,由于现有技术在每次部署前都需要针对不同的推理硬件手动修改模型的推理代码,导致部署效率低。
发明内容
本申请实施例提供了一种模型部署方法、相关装置及存储介质,可以提高模型部署的效率。
第一方面,本申请实施例提供了一种模型部署方法,所述方法应用于模型部署平台,所述模型部署平台中预设有通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架,所述方法包括:
获取目标设备中目标推理硬件对应的目标推理硬件标识;
根据第一映射关系以及所述目标推理硬件标识确定目标推理框架,所述第一映射关系包括推理框架与推理硬件标识的对应关系;
从多个适配模型中确定与所述目标推理框架适配的目标适配模型,多个所述适配模型基于待部署的目标模型转换得到;
从预设的模型配置信息集合中确定与所述目标适配模型对应的目标模型配置信息;
根据所述目标推理硬件标识、所述目标模型配置信息以及所述通用部署框架生成模型部署文件;
将所述模型部署文件发送至所述目标设备,使得所述目标设备根据所述目标模型配置信息获取所述目标适配模型,并基于所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,完成所述目标模型的部署。
第二方面,本申请实施例还提供了一种模型部署方法,所述方法应用于目标设备,所述方法包括:
获取模型部署文件,所述模型部署文件包括目标推理硬件标识、目标模型配置信息以及通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架,所述目标模型配置信息来自模型配置信息集合,并且与目标适配模型对应,所述目标适配模型为多个适配模型中与目标推理框架适配的模型,所述目标推理框架基于第一映射关系以及目标推理硬件标识确定,所述第一映射关系包括推理框架与推理硬件标识的对应关系,多个所述适配模型基于待部署的目标模型转换得到;
根据所述目标模型配置信息获取目标适配模型,并根据所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,以完成所述目标模型的部署。
第三方面,本申请实施例还提供了一种模型部署平台,所述模型部署平台中预设有通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架,所述模型的部署方法包括第一收发模块以及第二处理模块:
第一收发模块,用于获取目标设备中目标推理硬件对应的目标推理硬件标识;
第二处理模块,用于根据第一映射关系以及所述目标推理硬件标识确定目标推理框架,所述第一映射关系包括推理框架与推理硬件标识的对应关系;从多个适配模型中确定与所述目标推理框架适配的目标适配模型,多个所述适配模型基于待部署的目标模型转换得到;从预设的模型配置信息集合中确定与所述目标适配模型对应的目标模型配置信息;根据所述目标推理硬件标识、所述目标模型配置信息以及所述通用部署框架生成模型部署文件;
所述第一收发模块,还用于将所述模型部署文件发送至所述目标设备,使得所述目标设备根据所述目标模型配置信息获取所述目标适配模型,并基于所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,完成所述目标模型的部署。
在一些实施例中,在所述第一收发模块执行所述获取目标设备中目标推理硬件对应的目标推理硬件标识步骤之前,所述第一处理模块还用于:
根据预设的多个转换逻辑,将所述目标模型转换为多个所述适配模型;确定各所述适配模型分别对应的模型配置信息,并将多个所述模型配置信息存至所述模型配置信息集合中。
在一些实施例中,所述第一处理模块在执行所述将所述目标模型转换为多个所述适配模型步骤之后,还用于:
将多个所述适配模型存至目标模型库中;
所述第一处理模块在执行所述确定各所述适配模型分别对应的模型配置信息步骤时,具体用于:
针对各所述适配模型,根据所述目标模型库的数据库地址生成所述模型配置信息。
在一些实施例中,所述通用部署框架包括模型加载逻辑、模型解析逻辑、前处理逻辑、推理逻辑和后处理逻辑,其中:
所述模型加载逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息获取所述目标适配模型;
所述模型解析逻辑,用于指示所述目标设备在模型部署阶段通过所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,并对所述目标适配模型进行解析处理,得到解析后模型;
所述前处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输入数据规范生成输入数据转换规则,并在推理阶段根据所述输入数据转换规则对输入数据进行格式转换处理,得到目标输入数据;
所述推理逻辑,用于指示所述目标设备在推理阶段根据所述目标推理框架以及所述解析后模型对所述目标输入数据进行推理操作,得到输出数据;
所述后处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输出数据规范生成输出数据转换规则,并在推理阶段根据所述输出数据转换规则对所述输出数据进行格式转换处理,得到目标输出数据。
第四方面,本申请实施例还提供了一种目标设备,所述目标设备包括第二收发模块以及第二处理模块,所述第二处理模块用于控制所述第二收发模块的收发操作:
所述第二收发模块,用于获取模型部署文件,所述模型部署文件包括目标推理硬件标识、目标模型配置信息以及通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架,所述目标模型配置信息来自模型配置信息集合,并且与目标适配模型对应,所述目标适配模型为多个适配模型中与目标推理框架适配的模型,所述目标推理框架基于第一映射关系以及目标推理硬件标识确定,所述第一映射关系包括推理框架与推理硬件标识的对应关系,多个所述适配模型基于待部署的目标模型转换得到;根据所述目标模型配置信息获取目标适配模型,并根据所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,以完成所述目标模型的部署。
在一些实施例中,所述第二收发模块在执行所述根据所述目标模型配置信息获取目标适配模型步骤时,具体用于:
从所述目标模型配置信息中获取所述目标适配模型;或,
所述目标模型配置信息包括目标模型库的数据库地址,所述目标模型库中存有基于所述目标模型转换得到的多个适配模型,不同的适配模型适配不同的推理框架;所述第二收发模块在执行所述根据所述目标模型配置信息获取目标适配模型步骤时,具体用于:
根据所述数据库地址访问所述目标模型库,并根据所述目标推理硬件标识从所述目标模型库中获取所述目标适配模型。
在一些实施例中,所述通用部署框架包括模型加载逻辑、模型解析逻辑、前处理逻辑、推理逻辑和后处理逻辑,其中:
所述模型加载逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息获取所述目标适配模型;
所述模型解析逻辑,用于指示所述目标设备在模型部署阶段通过所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,并对所述目标适配模型进行解析处理,得到解析后模型;
所述前处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输入数据规范生成输入数据转换规则,并在推理阶段根据所述输入数据转换规则对输入数据进行格式转换处理,得到目标输入数据;
所述推理逻辑,用于指示所述目标设备在推理阶段根据所述目标推理框架以及所述解析后模型对所述目标输入数据进行推理操作,得到输出数据;
所述后处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输出数据规范生成输出数据转换规则,并在推理阶段根据所述输出数据转换规则对所述输出数据进行格式转换处理,得到目标输出数据。
第五方面,本申请实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第二方面的方法。
第六方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述第一方面或第二方面的方法。
第七方面,本申请实施例提供了一种芯片,该芯片中包括与终端的收发器耦合,用于执行本申请实施例第一方面或第二方面提供的技术方案。
第八方面,本申请实施例提供了一种芯片***,该芯片***包括处理器,用于支持终端实现上述第一方面或第二方面中所涉及的功能,例如,生成或者处理上述第一方面提供的模型部署方法中所涉及的信息。在一种可能的设计中,上述芯片***还包括存储器,该存储器用于保存终端必需的程序指令和数据。该芯片***可以由芯片构成,也可以包含芯片和其他分立器件。
第九方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第二方面提供的模型部署方法,也能实现第一方面或第二方面提供的模型部署方法所具备的有益效果。
相较于现有技术,本申请实施例提供的方案中,由于本实施例中提供的模型部署平台中预设有通用部署框架,且该通用部署框架中集成有动态库的接口,该动态库中存有多个对应不同推理硬件的推理框架,当用户需要在目标设备中部署模型时,只需要在模型部署平台中指定该目标设备中推理硬件的目标推理硬件标识,平台会自动生成包含该目标推理硬件标识以及通用部署框架的模型部署文件,将该模型部署文件发送至目标设备时,目标设备会自动根据模型部署文件中动态库的接口访问动态库,并从动态库中获取与该目标推理硬件标识对应的目标推理框架,可见,通过本实施例提供的模型部署平台对目标设备进行模型的部署时,用户不需要针对不同的推理硬件进行推理代码的修改,只需要指定目标设备中推理硬件的目标推理硬件标识,后续目标设备在部署时即可根据该目标推理硬件标识从动态库中获取所需的推理框架,从而提高了模型的部署效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的模型部署方法的应用场景示意图;
图2为本申请实施例提供的模型部署方法的流程示意图;
图3为本申请实施例提供的模型部署方法中通用部署框架的一种结构示意图;
图4为本申请实施例提供的模型部署平台的示意性框图;
图5为本申请实施例提供的目标设备的示意性框图;
图6为本申请实施例提供的模型部署平台或目标设备的一种硬件结构示意图;
图7为本申请实施例中终端的一种结构示意图;
图8为本申请实施例中服务器的一种结构示意图。
具体实施方式
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请实施例中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请实施例中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请实施例方案的目的。
本申请实施例供了一种模型部署方法、相关装置及存储介质,该模型部署方法的执行主体可以是本申请实施例提供的模型部署装置,或者集成了模型部署装置的计算机设备,其中,该模型部署装置可以采用硬件或者软件的方式实现,该计算机设备可以为终端或服务器。
当该计算机设备为服务器时,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
当该计算机设备为终端时,该终端可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、智能音箱、个人数字助理(英文全称:Personal Digital Assistant,英文简称:PDA)、台式计算机、智能手表、路由器等智能终端,但并不局限于此。
本申请实施例的方案可基于人工智能技术实现,具体来说涉及人工智能技术中的计算机视觉技术技术领域和云技术中的云计算、云存储和数据库等领域,下面将分别进行介绍。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常包括图像处理、模型鲁棒性检测、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的模型鲁棒性检测、指纹识别等生物特征识别技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例的方案可基于云技术实现,具体来说涉及云技术中的云计算、云存储和数据库等技术领域,下面将分别进行介绍。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图像类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。本申请实施例可通过云技术对识别结果进行保存。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储***(以下简称存储***)是指通过集群应用、网格技术以及分布存储文件***等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储***。在本申请实施例中,可将网络配置等信息均保存在该存储***中,便于服务器调取。
目前,存储***的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件***上,文件***将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件***将每个对象分别写入该逻辑卷的物理存储空间,且文件***会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件***能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储***为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理***(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件***,一般具有存储、截取、安全保障、备份等基础功能。数据库管理***可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言,Structured QueryLanguage)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。在本申请实施例中,可将识别结果存储在该数据库管理***中,便于服务器调取。
其中,需要特别说明的是,本申请实施例涉及的服务终端,可以是指向服务终端提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。例如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。例如,个人通信业务(英文全称:Personal Communication Service,英文简称:PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless LocalLoop,英文简称:WLL)站、个人数字助理(英文全称:Personal Digital Assistant,英文简称:PDA)等设备。
请参阅图1,图1为本申请实施例提供的模型部署方法的应用场景示意图。在一些实施例中,该模型部署方法应用于图1中的模型部署***中,该模型部署***包括模型部署平台10以及需要进行模型部署的目标设备20,其中,在本实施例中,模型部署平台中预设有通用部署框架,且该通用部署框架中集成有动态库的接口,该动态库中存有多个对应不同推理硬件的推理框架。
当用户需要在目标设备20中部署目标模型时,首选需要在模型部署平台10中指定目标设备20中目标推理硬件对应的目标推理硬件标识,然后模型部署平台10即可根据第一映射关系以及所述目标推理硬件标识确定目标推理框架,其中,该第一映射关系包括推理框架与推理硬件标识的对应关系;从多个适配模型中确定与该目标推理框架适配的目标适配模型;从预设的模型配置信息集合中确定与所述目标适配模型对应的目标模型配置信息;再根据所述目标推理硬件标识、所述目标模型配置信息以及所述通用部署框架生成模型部署文件;然后将该模型部署文件发送至所述目标设备,目标设备20获取到该模型部署文件之后,自动根据该模型部署文件中的目标模型配置信息获取所述目标适配模型,并基于模型部署文件中集成的接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,完成目标模型的部署。
图2是本申请实施例提供的模型部署方法的流程示意图。如图2所示,该方法包括以下步骤101-107。
101、模型部署平台获取目标设备中目标推理硬件对应的目标推理硬件标识。
本实施例中,目标设备为当前待部署的设备,该目标设备可以为边缘设备,也可以为非边缘设备,具体的设备类型本实施例不作限定;目标推理硬件为目标设备中为目标模型提供推理功能的推理芯片,可以为CPU、GPU或NPU等;目标模型为当前需要被部署的模型。
在一些实施例中,该目标推理硬件标识由用户输入得到,在另一些实施例中,平台也可以通过访问目标设备中的目标推理硬件,通过自动识别得到该目标推理硬件标识。
需要说明的是,为了进一步提高模型部署的效率,当目标模型被训练好之后,需要预先将目标模型转换成多个适配模型,其中,不同的适配模型与不同的推理框架适配。
此时,步骤S101之前,还包括:根据预设的多个转换逻辑,将所述目标模型转换为多个所述适配模型;确定各所述适配模型分别对应的模型配置信息,并将多个所述模型配置信息存至所述模型配置信息集合中。
其中,多个转换逻辑可以为不同推理硬件的厂商所提供的转换逻辑。
可见,本实施例预先将目标模型转换为了多个适配模型,在模型部署的时候,可以直接获取与目标推理硬件适配的目标适配模型即可,不需要再对目标模型进行转换,从而提高了模型部署的效率。
其中,由于不同的适配模型其对应的输入数据转换规则以及输出数据转换规则均不相同,所以在生成多个适配模型的时候,还需要确定各适配模型分别对应的模型配置文件,本实施例可以通过人工配置不同适配模型的输入数据转换规则以及输出数据转换规则;也可以由对应的转换逻辑确定对应的输入数据转换规则以及输出数据转换规则,此时不同的转换逻辑还配置有不同的输入数据转换规则以及输出数据转换规则。
在一些实施例中,为了提高目标设备侧的部署效率,在生成各适配模型分别对应的模型配置信息时,可以将对应的适配模型也写入对应的模型配置信息中,此时,目标设备获取到模型部署文件即可从里面的模型配置信息中获取到目标适配模型。
在另一些实施例中,将目标模型转换为多个适配模型之后,会将多个适配模型存储至目标模型库中,其中,该目标模型库可以部署在云端,也可以部署在本地,具体部署位置此处不作限定,此时,为了提高模型部署文件的传输速度,在生成各适配模型分别对应的模型配置信息时,只需要将目标模型库的数据库地址写入各模型配置信息中即可,后续目标设备可以根据模型配置信息中的模型配置信息从模型数据库中获取与目标推理硬件标识对应的目标适配模型。
其中,为了后续为不同的推理框架找到对应的适配模型,将目标模型转换为多个适配模型之后,还会构建第二映射关系,该第二映射关系包括适配模型与推理框架之间的对应关系。
102、模型部署平台根据第一映射关系以及所述目标推理硬件标识确定目标推理框架。
本实施例中,第一映射关系包括推理框架与推理硬件标识的对应关系,当平台获取到目标推理硬件标识之后,首先会确定与目标推理框架适配的目标推理框架,具体地,将第一映射关系中与目标推理硬件标识对应的推理框架确定为目标推理框架。
103、模型部署平台从多个适配模型中确定与所述目标推理框架适配的目标适配模型。
本实施例中,多个所述适配模型基于待部署的目标模型转换得到,当确定了目标推理框架之后,将进一步从多个适配模型中确定与目标推理框架适配的目标适配模型。
具体地,由于本实施例将目标模型转换为多个适配模型之后,还构建了第二映射关系,该第二映射关系包括适配模型与推理框架之间的对应关系,所以确定了目标推理框架之后,即可基于该第二映射关系从多个适配模型中确定与该目标推理框架对应的目标适配模型。
104、模型部署平台从预设的模型配置信息集合中确定与所述目标适配模型对应的目标模型配置信息。
本实施例中,模型部署平台中预先设置有模型配置信息集合,该模型配置信息集合中包括各适配模型分别对应的模型配置信息。
当确定了目标适配模型之后,还需确定与该目标适配模型匹配的目标适配模型配置信息,本实施例从模型配置信息集合中确定与所述目标适配模型对应的目标模型配置信息,具体地,平台在构建模型配置信息集合时,预先为集合中的各模型配置信息配置好对应的适配模型,本实施例需要从该集合中确定与目标适配模型对应的目标模型配置信息。
105、模型部署平台根据所述目标推理硬件标识、所述目标模型配置信息以及所述通用部署框架生成模型部署文件。
本实施例中,当确定了目标模型配置信息之后,将该目标模型配置信息,以及步骤101中获取到的目标推理硬件标识、平台中的通用部署框架打包生成模型部署文件,即,目标模型部署文件中包括目标推理硬件标识、通用部署框架以及目标模型配置信息。
106、模型部署平台将所述模型部署文件发送至所述目标设备。
本实施例中,当模型部署平台生成模型部署文件之后,会将该模型部署文件下发至目标模型。
需要说明的是,在一些实施例中,模型部署平台与目标设备之间建立了通信连接,该通信连接可以为有线通信连接也可以为无线通信连接,具体连接方式本实施例不作限定。此时,模型部署平台可以基于该通信连接直接将模型部署文件发送至目标设备。
在另一些实施例中,模型部署平台可以通过间接的方式将该模型部署文件发送给目标设备,例如,将生成的模型部署文件发送至第三方设备,第三方设备存储该模型部署文件,当目标设备需要进行模型部署时,再向第三方设备发送请求,第三方设备响应该请求,将该模型部署文件发送至该目标设备,其中,该第三方设备可以为终端也可以为服务器,具体设备类型此处不作限定。
107、目标设备根据所述目标模型配置信息获取目标适配模型,并根据所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,以完成所述目标模型的部署。
本实施例中,目标设备获取到模型部署文件之后,将基于该模型部署文件进行目标模型的部署,根据模型部署文件中的目标模型配置信息获取目标适配模型,并根据模型部署文件通用部署框架中的接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架。
在一些实施例中,为了提高目标设备的本地部署速度,模型部署文件中的目标模型配置信息中包括目标适配模型,此时,目标设备从目标模型配置信息中获取所述目标适配模型。
在另一些实施例中,为了提高模型部署文件的传输效率,模型部署文件中的目标配置信息中包括目标模型库的数据库地址,其中,所述目标模型库中存有基于所述目标模型转换得到的多个适配模型,此时,基于以下步骤获取目标适配模型:根据所述数据库地址访问所述目标模型库,并根据所述目标推理硬件标识从所述目标模型库中获取所述目标适配模型。
具体地,首先基于第一映射关系确定与该目标推理硬件标识对应的目标推理框架,然后基于第二映射关系从目标模型库中获取与该目标推理框架对电影的目标适配模型。
此外,还根据通用部署框架中集成的动态库接口访问动态库,并从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架。
在一些实施例中,目标适配模型为对目标模型序列化后转换得到的二进制模型,目标设备获取到目标适配模型之后,为了使得目标推理硬件能够理解该目标适配模型,在加载模型数据的时候,还需要对该目标适配模型进行反序列化解析处理,得到解析后模型。
在一些实施例中,获取到目标推理框架,为了使用该推理框架,还需要对该目标推理框架进行编译,可以进行本地编译,也可以跨平台编译,在本地编译编译时,可以通过预设的编译工具对所述目标推理框架进行编译处理,得到编译后推理框架,该预设的编译工具可以为cmake编译工具,当本地资源不足时,可以进行跨平台编译,此时,可以将所述目标推理框架发送至目标编译平台,使得所述目标编译平台对所述目标推理框架进行编译操作,得到编译后推理框架,其中,所述编译后推理框架用于在推理阶段结合所述目标适配模型的解析后模型对目标输入数据进行推理操作;然后接收所述目标编译平台返回的所述编译后推理框架。
以下对本实施例提供的通用部署框架进行详细描述,该通用部署框架除了集成有动态库的接口之外,如图3所示,目标设备获取到模型部署文件之后,可以基于模型部署文件中的通用部署框架进行模型的部署以及后续模型的推理,具体地,该通用部署框架还包括模型加载逻辑、模型解析逻辑、前处理逻辑、推理逻辑和后处理逻辑。其中:
所述模型加载逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息获取所述目标适配模型;
所述模型解析逻辑,用于指示所述目标设备在模型部署阶段通过所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,并对所述目标适配模型进行解析处理,得到解析后模型;
所述前处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输入数据规范生成输入数据转换规则,并在推理阶段根据所述输入数据转换规则对输入数据进行格式转换处理,得到目标输入数据;
所述推理逻辑,用于指示所述目标设备在推理阶段根据所述目标推理框架以及所述解析后模型对所述目标输入数据进行推理操作,得到输出数据;
所述后处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输出数据规范生成输出数据转换规则,并在推理阶段根据所述输出数据转换规则对所述输出数据进行格式转换处理,得到目标输出数据。
具体地,在部署阶段,目标设备获取到模型部署文件之后,首先提取文件中的通用部署框架,然后基于该框架中的模型加载逻辑分析文件中目标模型配置信息,以加载目标适配模型,并基于模型解析逻辑访问动态库,并从动态库中获取目标推理框架,并对获取到的目标适配模型进行解析处理,得到解析后模型,并保存该解析后模型,同时基于前处理逻辑生成输入数据转换规则,以及基于后处理逻辑生成数据输出转换规则。
在推理阶段,首先前处理逻辑基于输入数据转换规则对输入数据进行格式转换处理,得到目标输入数据,然后推理逻辑再调用目标推理框架以及解析后模型对该目标输入数据进行推理操作,得到输出数据,后处理逻辑再对该输出数据进行格式转换处理,得到目标输出数据。
综上所述,由于本实施例中提供的模型部署平台中预设有通用部署框架,且该通用部署框架中集成有动态库的接口,该动态库中存有多个对应不同推理硬件的推理框架,当用户需要在目标设备中部署模型时,只需要在模型部署平台中指定该目标设备中推理硬件的目标推理硬件标识,平台会自动生成包含该目标推理硬件标识以及通用部署框架的模型部署文件,将该模型部署文件发送至目标设备时,目标设备会自动根据模型部署文件中动态库的接口访问动态库,并从动态库中获取与该目标推理硬件标识对应的目标推理框架,可见,通过本实施例提供的模型部署平台对目标设备进行模型的部署时,用户不需要针对不同的推理硬件进行推理代码的修改,只需要指定目标设备中推理硬件的目标推理硬件标识,后续目标设备在部署时即可根据该目标推理硬件标识从动态库中获取所需的推理框架,从而提高了模型的部署效率。
图1至图3中任一项所对应的实施例中所提及的任一技术特征也同样适用于本申请实施例中的图4至图8所对应的实施例,后续类似之处不再赘述。
本实施例还提供一种模型部署装置,该模型部署装置可部署在模型部署平台中,也可部署在目标设备中。
参阅图4,如图4所示的一种模型部署平台100的结构示意图,其可应用于模型部署场景,用于模型部署平台侧,生成模型部署文件,其中,所述模型部署平台中预设有通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架。当该模型部署装置部署在模型部署平台100中时,本申请实施例中的模型部署平台100能够实现对应于上述图1-图3中任一所对应的实施例中模型部署平台所执行的模型部署方法的步骤。模型部署平台100实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述模型部署平台100可包括第一处理模块1001以及第一收发模块1002。
第一收发模块1002,用于获取目标设备中目标推理硬件对应的目标推理硬件标识;
第二处理模块,用于根据第一映射关系以及所述目标推理硬件标识确定目标推理框架,所述第一映射关系包括推理框架与推理硬件标识的对应关系;从多个适配模型中确定与所述目标推理框架适配的目标适配模型,多个所述适配模型基于待部署的目标模型转换得到;从预设的模型配置信息集合中确定与所述目标适配模型对应的目标模型配置信息;根据所述目标推理硬件标识、所述目标模型配置信息以及所述通用部署框架生成模型部署文件;
所述第一收发模块1002,还用于将所述模型部署文件发送至所述目标设备,使得所述目标设备根据所述目标模型配置信息获取所述目标适配模型,并基于所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,完成所述目标模型的部署。
在一些实施例中,在所述第一收发模块1002执行所述获取目标设备中目标推理硬件对应的目标推理硬件标识步骤之前,所述第一处理模块1001还用于:
根据预设的多个转换逻辑,将所述目标模型转换为多个所述适配模型;确定各所述适配模型分别对应的模型配置信息,并将多个所述模型配置信息存至所述模型配置信息集合中。
在一些实施例中,所述第一处理模块1001在执行所述将所述目标模型转换为多个所述适配模型步骤之后,还用于:
将多个所述适配模型存至目标模型库中;
所述第一处理模块1001在执行所述确定各所述适配模型分别对应的模型配置信息步骤时,具体用于:
针对各所述适配模型,根据所述目标模型库的数据库地址生成所述模型配置信息。
在一些实施例中,所述通用部署框架包括模型加载逻辑、模型解析逻辑、前处理逻辑、推理逻辑和后处理逻辑,其中:
所述模型加载逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息获取所述目标适配模型;
所述模型解析逻辑,用于指示所述目标设备在模型部署阶段通过所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,并对所述目标适配模型进行解析处理,得到解析后模型;
所述前处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输入数据规范生成输入数据转换规则,并在推理阶段根据所述输入数据转换规则对输入数据进行格式转换处理,得到目标输入数据;
所述推理逻辑,用于指示所述目标设备在推理阶段根据所述目标推理框架以及所述解析后模型对所述目标输入数据进行推理操作,得到输出数据;
所述后处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输出数据规范生成输出数据转换规则,并在推理阶段根据所述输出数据转换规则对所述输出数据进行格式转换处理,得到目标输出数据。
综上所述,由于本实施例中的模型部署平台100部署在模型部署平台中,模型部署平台中预设有通用部署框架,且该通用部署框架中集成有动态库的接口,该动态库中存有多个对应不同推理硬件的推理框架,当用户需要在目标设备中部署模型时,只需要在模型部署平台中指定该目标设备中推理硬件的目标推理硬件标识,模型部署平台100会自动生成包含该目标推理硬件标识以及通用部署框架的模型部署文件,使得目标设备中的目标设备根据模型部署文件中动态库的接口访问动态库,并从动态库中获取与该目标推理硬件标识对应的目标推理框架,可见,通过本实施例提供的模型部署平台100对目标设备进行模型的部署时,用户不需要针对不同的推理硬件进行推理代码的修改,只需要指定目标设备中推理硬件的目标推理硬件标识,模型部署平台100即可自动生成模型部署文件,后续目标设备在部署时即可根据该目标推理硬件标识从动态库中获取所需的推理框架,从而提高了模型的部署效率。
参阅图5,如图5所示的一种目标设备200的结构示意图,其可应用于模型部署场景,用于目标设备侧,根据接收到的模型部署文件进行模型部署。当该模型部署装置部署在目标设备200中时,本申请实施例中的目标设备200能够实现对应于上述图1-图3中任一所对应的实施例中目标设备所执行的模型部署方法的步骤。目标设备200实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述目标设备200可包括第二处理模块2001以及第二收发模块2002,所述第二处理模块2001用于控制所述第二收发模块2002的收发操作:
所述第二收发模块2002,用于获取模型部署文件,所述模型部署文件包括目标推理硬件标识、目标模型配置信息以及通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架,所述目标模型配置信息来自模型配置信息集合,并且与目标适配模型对应,所述目标适配模型为多个适配模型中与目标推理框架适配的模型,所述目标推理框架基于第一映射关系以及目标推理硬件标识确定,所述第一映射关系包括推理框架与推理硬件标识的对应关系,多个所述适配模型基于待部署的目标模型转换得到;根据所述目标模型配置信息获取目标适配模型,并根据所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,以完成所述目标模型的部署。
在一些实施例中,所述第二收发模块2002在执行所述根据所述目标模型配置信息获取目标适配模型步骤时,具体用于:
从所述目标模型配置信息中获取所述目标适配模型;或,
所述目标模型配置信息包括目标模型库的数据库地址,所述目标模型库中存有基于所述目标模型转换得到的多个适配模型,不同的适配模型适配不同的推理框架;所述第二收发模块2002在执行所述根据所述目标模型配置信息获取目标适配模型步骤时,具体用于:
根据所述数据库地址访问所述目标模型库,并根据所述目标推理硬件标识从所述目标模型库中获取所述目标适配模型。
在一些实施例中,所述通用部署框架包括模型加载逻辑、模型解析逻辑、前处理逻辑、推理逻辑和后处理逻辑,其中:
所述模型加载逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息获取所述目标适配模型;
所述模型解析逻辑,用于指示所述目标设备在模型部署阶段通过所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,并对所述目标适配模型进行解析处理,得到解析后模型;
所述前处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输入数据规范生成输入数据转换规则,并在推理阶段根据所述输入数据转换规则对输入数据进行格式转换处理,得到目标输入数据;
所述推理逻辑,用于指示所述目标设备在推理阶段根据所述目标推理框架以及所述解析后模型对所述目标输入数据进行推理操作,得到输出数据;
所述后处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输出数据规范生成输出数据转换规则,并在推理阶段根据所述输出数据转换规则对所述输出数据进行格式转换处理,得到目标输出数据。
综上所述,由于本实施例中的目标设备200接收到的模型部署文件包括目标推理硬件标识以及通用部署框架,通用部署框架中集成有动态库的接口,且该动态库中存有多个对应不同推理硬件的推理框架,目标设备200根据通用部署框架中动态库的接口访问动态库,即可基于目标推理硬件标识从动态库中获取与目标推理框架,只需要用户在模型部署文件中指定目标推理硬件标识即可指示目标设备200获取到对应的目标推理框架,用户不需要对模型部署文件进行推理代码的修改,从而提高了模型的部署效率。
上面从模块化功能实体的角度对本申请实施例中的模型部署方法进行了描述,下面从硬件处理的角度分别对本申请实施例中的模型部署装置进行描述。
需要说明的是,在本申请实施例各实施例(包括图4或图5所示的各实施例)中所有的收发模块对应的实体设备可以为收发器,所有的处理模块对应的实体设备可以为处理器。当其中一种装置具有如图4或图5所示的结构时,处理器、收发器和存储器实现前述对应该装置的装置实施例提供的所述收发模块和所述处理模块相同或相似的功能,图6中的存储器存储处理器执行上述模型部署方法时需要调用的计算机程序。
图4或图5所示的装置可以具有如图6所示的结构,当图4或图5所示的装置具有如图6所示的结构时,图6中的处理器能够实现前述对应该装置的装置实施例提供的所述处理模块相同或相似的功能,图6中的收发器能够实现前述对应该装置的装置实施例提供的所述收发模块相同或相似的功能,图6中的存储器存储处理器执行上述模型部署方法时需要调用的计算机程序。在本申请实施例图4或图5所示的实施例中的所述收发模块所对应的实体设备可以为输入输出接口,所述处理模块对应的实体设备可以为处理器。
本申请实施例还提供了一种终端,如图7所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:Personal Digital Assistant,英文简称:PDA)、销售终端(英文全称:Point of Sales,英文简称:POS)、车载电脑等任意终端,以终端为手机为例:
图7示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图7,手机包括:射频(英文全称:Radio Frequency,英文简称:RF)电路55、存储器520、输入单元530、显示单元540、传感器550、音频电路560、无线保真(英文全称:wireless fidelity,英文简称:Wi-Fi)模块570、处理器580、以及电源590等部件。本领域技术人员可以理解,图7中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对手机的各个构成部件进行具体的介绍:
RF电路55可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,RF电路55包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:Low NoiseAmplifier,英文简称:LNA)、双工器等。此外,RF电路55还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(英文全称:Global System of Mobile communication,英文简称:GSM)、通用分组无线服务(英文全称:General Packet Radio Service,英文简称:GPRS)、码分多址(英文全称:Code Division Multiple Access,英文简称:CDMA)、宽带码分多址(英文全称:WidebandCode Division Multiple Access,英文简称:WCDMA)、长期演进(英文全称:Long TermEvolution,英文简称:LTE)、电子邮件、短消息服务(英文全称:Short Messaging Service,英文简称:SMS)等。
存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(英文全称:LiquidCrystal Display,英文简称:LCD)、有机发光二极管(英文全称:Organic Light-EmittingDiode,英文简称:OLED)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图7中,触控面板531与显示面板541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与手机之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路55以发送给比如另一手机,或者将音频数据输出至存储器520以便进一步处理。
Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了Wi-Fi模块570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理模块;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
手机还包括给各个部件供电的电源590(比如电池),电源可以通过电源管理***与处理器580逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该手机所包括的处理器580还具有控制执行以上由图2所示的模型部署方法的流程图。
图8是本申请实施例提供的一种服务器结构示意图,该服务器620可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(英文全称:centralprocessing units,英文简称:CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器620上执行存储介质630中的一系列指令操作。
服务器620还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作***641,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。
上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器620的结构。例如上述实施例中由图2所示的服务器的步骤可以基于该图8所示的服务器结构。例如,所述处理器622通过调用存储器632中的指令,当该服务器620为模型部署平台时,所述模型部署平台中预设有通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架,该服务器620执行以下操作:
获取目标设备中目标推理硬件对应的目标推理硬件标识;
根据第一映射关系以及所述目标推理硬件标识确定目标推理框架,所述第一映射关系包括推理框架与推理硬件标识的对应关系;
从多个适配模型中确定与所述目标推理框架适配的目标适配模型,多个所述适配模型基于待部署的目标模型转换得到;
从预设的模型配置信息集合中确定与所述目标适配模型对应的目标模型配置信息;
根据所述目标推理硬件标识、所述目标模型配置信息以及所述通用部署框架生成模型部署文件;
将所述模型部署文件发送至所述目标设备,使得所述目标设备根据所述目标模型配置信息获取所述目标适配模型,并基于所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,完成所述目标模型的部署。
当该服务器620为目标设备时,该服务器620执行以下操作:
获取模型部署文件,所述模型部署文件包括目标推理硬件标识、目标模型配置信息以及通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架,所述目标模型配置信息来自模型配置信息集合,并且与目标适配模型对应,所述目标适配模型为多个适配模型中与目标推理框架适配的模型,所述目标推理框架基于第一映射关系以及目标推理硬件标识确定,所述第一映射关系包括推理框架与推理硬件标识的对应关系,多个所述适配模型基于待部署的目标模型转换得到;
根据所述目标模型配置信息获取目标适配模型,并根据所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,以完成所述目标模型的部署。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上对本申请实施例所提供的技术方案进行了详细介绍,本申请实施例中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请实施例的限制。
Claims (10)
1.一种模型部署方法,其特征在于,所述方法应用于模型部署平台,所述模型部署平台中预设有通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架,所述方法包括:
获取目标设备中目标推理硬件对应的目标推理硬件标识;
根据第一映射关系以及所述目标推理硬件标识确定目标推理框架,所述第一映射关系包括推理框架与推理硬件标识的对应关系;
从多个适配模型中确定与所述目标推理框架适配的目标适配模型,多个所述适配模型基于待部署的目标模型转换得到;
从预设的模型配置信息集合中确定与所述目标适配模型对应的目标模型配置信息;
根据所述目标推理硬件标识、所述目标模型配置信息以及所述通用部署框架生成模型部署文件;
将所述模型部署文件发送至所述目标设备,使得所述目标设备根据所述目标模型配置信息获取所述目标适配模型,并基于所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,完成所述目标模型的部署。
2.根据权利要求1所述的方法,其特征在于,所述获取目标设备中目标推理硬件对应的目标推理硬件标识之前,所述方法还包括:
根据预设的多个转换逻辑,将所述目标模型转换为多个所述适配模型;
确定各所述适配模型分别对应的模型配置信息,并将多个所述模型配置信息存至所述模型配置信息集合中。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标模型转换为多个所述适配模型之后,所述方法还包括:
将多个所述适配模型存至目标模型库中;
所述确定各所述适配模型分别对应的模型配置信息,包括:
针对各所述适配模型,根据所述目标模型库的数据库地址生成所述模型配置信息。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述通用部署框架包括模型加载逻辑、模型解析逻辑、前处理逻辑、推理逻辑和后处理逻辑,其中:
所述模型加载逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息获取所述目标适配模型;
所述模型解析逻辑,用于指示所述目标设备在模型部署阶段通过所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,并对所述目标适配模型进行解析处理,得到解析后模型;
所述前处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输入数据规范生成输入数据转换规则,并在推理阶段根据所述输入数据转换规则对输入数据进行格式转换处理,得到目标输入数据;
所述推理逻辑,用于指示所述目标设备在推理阶段根据所述目标推理框架以及所述解析后模型对所述目标输入数据进行推理操作,得到输出数据;
所述后处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输出数据规范生成输出数据转换规则,并在推理阶段根据所述输出数据转换规则对所述输出数据进行格式转换处理,得到目标输出数据。
5.一种模型部署方法,其特征在于,所述方法应用于目标设备,所述方法包括:
获取模型部署文件,所述模型部署文件包括目标推理硬件标识、目标模型配置信息以及通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架,所述目标模型配置信息来自模型配置信息集合,并且与目标适配模型对应,所述目标适配模型为多个适配模型中与目标推理框架适配的模型,所述目标推理框架基于第一映射关系以及目标推理硬件标识确定,所述第一映射关系包括推理框架与推理硬件标识的对应关系,多个所述适配模型基于待部署的目标模型转换得到;
根据所述目标模型配置信息获取目标适配模型,并根据所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,以完成所述目标模型的部署。
6.根据权利要求5中任一项所述的方法,其特征在于,所述根据所述目标模型配置信息获取目标适配模型,包括:
从所述目标模型配置信息中获取所述目标适配模型;或,
所述目标模型配置信息包括目标模型库的数据库地址,所述目标模型库中存有基于所述目标模型转换得到的多个适配模型,不同的适配模型适配不同的推理框架;所述根据所述目标模型配置信息获取目标适配模型,包括:
根据所述数据库地址访问所述目标模型库,并根据所述目标推理硬件标识从所述目标模型库中获取所述目标适配模型。
7.根据权利要求5或6所述的方法,其特征在于,所述通用部署框架包括模型加载逻辑、模型解析逻辑、前处理逻辑、推理逻辑和后处理逻辑,其中:
所述模型加载逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息获取所述目标适配模型;
所述模型解析逻辑,用于指示所述目标设备在模型部署阶段通过所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,并对所述目标适配模型进行解析处理,得到解析后模型;
所述前处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输入数据规范生成输入数据转换规则,并在推理阶段根据所述输入数据转换规则对输入数据进行格式转换处理,得到目标输入数据;
所述推理逻辑,用于指示所述目标设备在推理阶段根据所述目标推理框架以及所述解析后模型对所述目标输入数据进行推理操作,得到输出数据;
所述后处理逻辑,用于指示所述目标设备在模型部署阶段根据所述目标模型配置信息中的输出数据规范生成输出数据转换规则,并在推理阶段根据所述输出数据转换规则对所述输出数据进行格式转换处理,得到目标输出数据。
8.一种模型部署平台,其特征在于,所述模型部署平台中预设有通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架,所述模型的部署方法包括第一收发模块以及第二处理模块:
第一收发模块,用于获取目标设备中目标推理硬件对应的目标推理硬件标识;
第二处理模块,用于根据第一映射关系以及所述目标推理硬件标识确定目标推理框架,所述第一映射关系包括推理框架与推理硬件标识的对应关系;从多个适配模型中确定与所述目标推理框架适配的目标适配模型,多个所述适配模型基于待部署的目标模型转换得到;从预设的模型配置信息集合中确定与所述目标适配模型对应的目标模型配置信息;根据所述目标推理硬件标识、所述目标模型配置信息以及所述通用部署框架生成模型部署文件;
所述第一收发模块,还用于将所述模型部署文件发送至所述目标设备,使得所述目标设备根据所述目标模型配置信息获取所述目标适配模型,并基于所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,完成所述目标模型的部署。
9.一种目标设备,其特征在于,所述目标设备包括第二收发模块以及第二处理模块,所述第二处理模块用于控制所述第二收发模块的收发操作:
所述第二收发模块,用于获取模型部署文件,所述模型部署文件包括目标推理硬件标识、目标模型配置信息以及通用部署框架,所述通用部署框架中集成有动态库的接口,所述动态库中存有多个对应不同推理硬件的推理框架,所述目标模型配置信息来自模型配置信息集合,并且与目标适配模型对应,所述目标适配模型为多个适配模型中与目标推理框架适配的模型,所述目标推理框架基于第一映射关系以及目标推理硬件标识确定,所述第一映射关系包括推理框架与推理硬件标识的对应关系,多个所述适配模型基于待部署的目标模型转换得到;根据所述目标模型配置信息获取目标适配模型,并根据所述接口从所述动态库中获取与所述目标推理硬件标识对应的目标推理框架,以完成所述目标模型的部署。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-4或5-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311010974.3A CN116954631A (zh) | 2023-08-10 | 2023-08-10 | 模型部署方法、相关装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311010974.3A CN116954631A (zh) | 2023-08-10 | 2023-08-10 | 模型部署方法、相关装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116954631A true CN116954631A (zh) | 2023-10-27 |
Family
ID=88458249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311010974.3A Pending CN116954631A (zh) | 2023-08-10 | 2023-08-10 | 模型部署方法、相关装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116954631A (zh) |
-
2023
- 2023-08-10 CN CN202311010974.3A patent/CN116954631A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180196703A1 (en) | Parallel Execution Method and Apparatus in Terminal Database | |
CN108279904A (zh) | 代码编译方法及终端 | |
CN115658348B (zh) | 微服务调用方法、相关装置及存储介质 | |
CN114694226B (zh) | 一种人脸识别方法、***及存储介质 | |
CN105630846A (zh) | 头像更新方法及装置 | |
CN115588131B (zh) | 模型鲁棒性检测方法、相关装置及存储介质 | |
CN115022098B (zh) | 人工智能安全靶场内容推荐方法、装置及存储介质 | |
CN115239941B (zh) | 对抗图像生成方法、相关装置及存储介质 | |
CN111399819A (zh) | 数据生成方法、装置、电子设备及存储介质 | |
CN116758362A (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN115376192B (zh) | 用户异常行为确定方法、装置、计算机设备及存储介质 | |
CN116071614A (zh) | 样本数据处理方法、相关设备及存储介质 | |
CN115640567B (zh) | Tee完整性认证方法、装置、***及存储介质 | |
CN114821751B (zh) | 图像识别方法、装置、***及存储介质 | |
CN115981798A (zh) | 文件解析方法、装置、计算机设备及可读存储介质 | |
CN115546516A (zh) | 人员聚档方法、装置、计算机设备及存储介质 | |
CN116954631A (zh) | 模型部署方法、相关装置及存储介质 | |
CN115525554B (zh) | 模型的自动化测试方法、***及存储介质 | |
CN115412726B (zh) | 视频真伪检测方法、装置及存储介质 | |
CN115909186B (zh) | 图像信息识别方法、装置、计算机设备及存储介质 | |
CN116386647B (zh) | 音频验证方法、相关装置、存储介质及程序产品 | |
CN116244071A (zh) | 资源调整方法、相关设备及存储介质 | |
CN116756350A (zh) | 多媒体数据处理方法、装置、计算机设备及存储介质 | |
CN117056387A (zh) | 容器日志查询方法、相关设备及存储介质 | |
CN115050079B (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 |