CN111930691B - 一种模型调用方法、装置及系统 - Google Patents
一种模型调用方法、装置及系统 Download PDFInfo
- Publication number
- CN111930691B CN111930691B CN202011110898.XA CN202011110898A CN111930691B CN 111930691 B CN111930691 B CN 111930691B CN 202011110898 A CN202011110898 A CN 202011110898A CN 111930691 B CN111930691 B CN 111930691B
- Authority
- CN
- China
- Prior art keywords
- model file
- target
- model
- operation platform
- target operation
- 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.)
- Active
Links
Images
Classifications
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种模型调用方法、装置及系统,属于计算机技术领域。该方法中,目标运行平台会先向模型供给端发送模型文件请求,并接收模型供给端返回的模型文件包,再根据预设映射表,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,运行目标模型文件。本申请中通过模型供给端直接返回包含原始模型文件以及预先生成的适配不同运行平台的多个变形模型文件的模型文件包,目标运行平台可以直接根据模型文件包,获取到适配该目标运行平台的可运行的模型文件,一定程度上可以降低目标运行平台的等待时长,提高处理效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种模型调用方法、装置及系统。
背景技术
近年来,随着人工智能技术的应用越来越广泛,模型供给端开发的模型文件数量越来越多,而模型运行平台上需要调用的模型文件也是多种多样,因此,模型供给端向模型运行平台提供模型文件时,需要根据模型运行平台,提供适配该模型运行平台的模型文件。
这样,就会导致模型运行平台等待的时长较长,模型调用的效率较低。因此,亟需一种模型调用方法。
发明内容
本发明实施例提供一种模型调用方法、装置及系统,以解决导致模型运行平台等待的时长较长,模型调用的效率较低的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例还提供一种模型调用方法,应用于目标运行平台,该方法包括:
向模型供给端发送模型文件请求;
接收所述模型供给端返回的模型文件包;所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的;
根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件;
运行所述目标模型文件。第二方面,本发明实施例还提供了一种模型调用方法,应用于模型供给端,该方法包括:
接收目标运行平台发送的模型文件请求;
响应于所述模型文件请求,向所述目标运行平台返回模型文件包,以便于所述目标运行平台根据预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件,并运行所述目标模型文件;
其中,所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及所述预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的。
第三方面,本申请实施例提供了一种模型调用装置,应用于目标运行平台,该装置包括:
发送模块,用于向模型供给端发送模型文件请求;
第一接收模块,用于接收所述模型供给端返回的模型文件包;所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的;
选择模块,用于根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件;
运行模块,用于运行所述目标模型文件。
第四方面,本申请实施例提供了一种模型调用装置,应用于模型供给端,该装置包括:
第二接收模块,用于接收目标运行平台发送的模型文件请求;
返回模块,用于响应于所述模型文件请求,向所述目标运行平台返回模型文件包,以便于所述目标运行平台根据预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件,并运行所述目标模型文件;其中,所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及所述预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的。
第五方面,本申请实施例提供了一种模型调用系统,包括目标运行平台和模型供给端;
所述目标运行平台,用于向所述模型供给端发送模型文件请求;
所述模型供给端,用于接收所述目标运行平台发送的模型文件请求;
所述模型供给端,用于响应于所述模型文件请求,向所述目标运行平台返回模型文件包;
所述目标运行平台,用于接收所述模型供给端返回的所述模型文件包;所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的;
所述目标运行平台,用于根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件;
所述目标运行平台,用于运行所述目标模型文件。
第六方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上述的模型调用方法的步骤。
第七方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如上述的模型调用方法的步骤。
第八方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如上的模型调用方法。
综上所述,本申请实施例提供的模型调用方法,目标运行平台会先向模型供给端发送模型文件请求,并接收模型供给端返回的模型文件包,其中,模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表,预设映射表用于表征模型文件与运行平台之间的对应关系,变形模型文件是根据原始模型文件生成的,再根据预设映射表,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,运行目标模型文件。本申请中通过模型供给端直接返回包含原始模型文件以及预先生成的适配不同运行平台的多个变形模型文件的模型文件包,目标运行平台可以直接根据模型文件包,获取到适配该目标运行平台的可运行的模型文件,一定程度上可以降低目标运行平台的等待时长,提高处理效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1表示本发明实施例提供的一种模型调用方法的步骤流程图;
图2是本申请实施例提供的一种模型调用流程示意图;
图3表示本发明实施例提供的又一种模型调用方法的步骤流程图;
图4是本申请实施例提供的又一种模型调用方法的步骤流程图;
图5是本申请实施例提供的又一种模型调用方法的步骤流程图;
图6是本申请实施例还提供了一种模型调用装置的框图;
图7是本申请实施例还提供了一种模型调用装置的框图;
图8是本申请实施例还提供一种电子设备;
图9为实现本申请实施例的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种模型调用方法的步骤流程图,该方法可以应用于目标运行平台,如图1所示,该方法可以包括:
步骤101,向模型供给端发送模型文件请求。
本发明实施例中,目标运行平台可以是运行目标模型文件的模型运行平台,该目标模型文件的运行环境与模型运行平台的运行环境相适配,该模型运行平台可以是配置有不同处理操作系统的电子设备。模型供给端可以是用于提供人工智能(ArtificialIntelligence)模型的电子设备,比如,可以是用于开发人工智能模型的电子设备,也可以是存储有人工智能模型的电子设备。该电子设备可以是PC端(Personal Computer个人计算机),也可以是手机、平板电脑等电子设备,本发明对此不作限制。
本发明实施例中,模型文件请求可以是请求提供模型文件的消息,该模型文件请求中可以包括需要的模型文件名称以及目标运行平台的名称。例如,目标运行平台为UNIX平台,该平台需要的模型文件为深度神经网络(Deep Neural Networks,DNNs)模型,则模型文件请求可以是“UNIX平台-DNNs模型”。向模型供给端发送模型文件请求,可以是目标运行平台向模型供给端,发送包含模型文件请求的消息体,以便模型供给端根据该模型文件请求发送模型文件。
步骤102,接收所述模型供给端返回的模型文件包;所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的。
本发明实施例中,原始模型文件可以是开发人工智能模型得到的参数为原始参数的文件,变形模型文件可以是根据原始模型文件生成的。具体的,可以是通过对原始模型文件进行转换得到变形模型文件的,其中,对原始模型文件的转换可以包括对原始文件中的参数转换与无参数转换两种,参数转换可以是对原始模型文件中的参数值进行变换,比如,可以是将原始模型文件中的参数值进行量化,将变换参数值后的模型文件作为变形模型文件。无参数转换可以是对原始模型文件中的参数进行调整但不改变其参数值,比如,可以是调整原始模型文件中参数的排列顺序,将调整参数后的模型文件作为变形模型文件。
由于不同平台上的运行环境并不相同,比如,不同平台上的操作系统可能不同,或者不同平台上的硬件配置不同,因此,平台在运行模型文件时,需要该模型文件的运行环境与平台提供的运行环境相适配,当平台的运行环境与原始模型文件的运行环境不匹配时,需要对模型文件进行转换得到变形模型文件,使得变形模型文件的运行环境与平台的运行环境相适配,即,变形模型文件是可以适配运行平台的模型文件。
需要说明的是,适配不同运行平台的多个变形模型文件以及预设映射表可以是模型供给端在接收到模型文件请求之前预先生成的,其中,预设映射表可以是将模型运行平台与适配的模型文件的名称相关联得到的映射表,例如,模型文件A与平台B相适配,模型文件B与平台C相适配,模型文件C与平台A相适配,则可以得到关联表为“模型文件A——平台B”、“模型文件B——平台C”、“模型文件C——平台A”。
步骤103,根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件。
本发明实施例中,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,可以是先在预设映射表中查找目标运行平台,确定与目标运行平台名称相关联的模型文件名称,再根据模型文件名称从模型文件包中提取该模型文件,将该模型文件作为目标模型文件。
步骤104,运行所述目标模型文件。
本发明实施例中,运行目标模型文件,可以是在目标运行平台上,调用与该目标模型文件的运行环境相匹配的处理资源来运行该目标模型文件。示例的,目标模型文件是3D-Unet神经网络模型,而运行3D-Unet神经网络模型需要NVIDIA TITAN XP显卡、Intel Corei7-7800X处理器、anaconda3和cuda10软件,因此,目标运行平台需要配置有NVIDIA TITANXP显卡和Intel Core i7-7800X处理器,并调用anaconda3和cuda10,来运行3D-Unet神经网络模型。
综上所述,本发明实施例提供的模型调用方法,目标运行平台会先向模型供给端发送模型文件请求,并接收模型供给端返回的模型文件包,其中,模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表,预设映射表用于表征模型文件与运行平台之间的对应关系,变形模型文件是根据原始模型文件生成的,再根据预设映射表,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,运行目标模型文件。本申请中通过模型供给端直接返回包含原始模型文件以及预先生成的适配不同运行平台的多个变形模型文件的模型文件包,目标运行平台可以直接根据模型文件包,获取到适配该目标运行平台的可运行的模型文件,一定程度上可以降低目标运行平台的等待时长,提高处理效率。
可选的,在本申请的一种可选实施例中,预设映射表用于表征不同变形模型文件与不同运行平台之间的对应关系,步骤103可以包括下述步骤1031-步骤1033:
步骤1031、查找所述预设映射表中是否记录有与所述目标运行平台相适配的变形模型文件。
本发明实施例中,预设映射表可以记录有需要运行变形模型文件的模型运行平台以及关联的变形模型文件。查找预设映射表中是否记录有与目标运行平台相适配的变形模型文件,可以是基于目标运行平台的名称,在预设映射表中查找是否有与目标运行平台名称匹配的模型运行平台名称,可以将该匹配的模型运行平台对应的变形模型文件作为目标运行平台相适配的变形模型文件。也可以是先确定目标运行平台可运行的变形模型文件,再在预设映射表中查找是否记录有可运行的变形模型文件,以便确定预设映射表中是否记录有与目标运行平台相适配的变形模型文件。通过查找预设映射表来确定是否有与目标运行平台相适配的变形模型文件,可以简化操作流程,从而提高处理效率。
步骤1032、若记录有与所述目标运行平台相适配的变形模型文件,则将所述相适配的变形模型文件确定为所述目标模型文件。
本发明实施例中,如果在预设关联表中查找到目标运行平台,或者目标运行平台可运行的变形模型文件时,将预设关联表中记录的变形模型文件作为目标运行平台相适配的目标模型文件。这样,在预设关联表中查找到目标运行平台或者目标运行平台可运行的变形模型文件时,直接将预设关联表中记录的变形模型文件作为目标运行平台的目标模型文件,可以提高确定目标模型文件的效率,从而提高处理效率。
步骤1033、若未记录有与所述目标运行平台相适配的变形模型文件,则将所述原始模型文件确定为所述目标模型文件。
本发明实施例中,由于预设关联表中记录的是模型运行平台与变形模型文件之间的对应关系,若在预设关联表中未查找到目标运行平台或者目标运行平台可运行的变形模型文件,则可以认为模型文件包中的变形模型文件不是目标运行平台可运行的模型文件,因此,可以将原始模型文件作为目标运行平台对应的目标模型文件。这样,在预设关联表中未查找到目标运行平台相适配的变形模型文件时,将原始模型文件作为目标运行平台的目标模型文件,可以提高确定目标模型文件的效率。
可选的,在本申请的一种可选实施例中,变形模型文件关联有初始化硬件配置信息,步骤104可以包括下述子步骤S1:
子步骤S1、在所述目标模型文件为所述变形模型文件的情况下,根据所述初始化硬件配置信息,调用所述目标运行平台中与所述初始化硬件配置信息对应的处理资源,运行所述目标模型文件。
本发明实施例中,初始化硬件配置信息可以是在运行变形模型文件的初始化阶段,模型运行平台所需调用的硬件配置,该硬件配置可以包括模型运行平台的中央处理器(Central Processing Unit,CPU)、内存、显卡、数字信号处理(Digital Signal Process,DSP)配置、FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)配置、NPU(Neural-network Processing Unit,网络处理器)配置等参数的指标。变形模型文件关联有初始化硬件配置信息,可以是在变形模型文件的属性中标注对应的初始化硬件配置信息,也可以是将变形模型文件与对应的初始化硬件配置信息存储在同一目录下,对此本申请不作具体限制。
根据初始化硬件配置信息,调用目标运行平台中与初始化硬件配置信息对应的处理资源,运行目标模型文件,可以是在目标运行平台对应的目标模型文件是变形模型文件的情况下,按照变形模型文件关联的初始化硬件配置信息,在目标运行平台上调用与初始化硬件配置信息相匹配的处理资源,来运行该变形模型文件。在目标模型文件是变形模型文件时,直接根据初始化硬件配置信息对应的处理资源,来运行该变形模型文件,可以保证调用与模型文件相匹配的处理资源来运行该模型文件,从而可以提高运行模型文件的效率。
示例的,目标运行平台为A平台,而A平台相适配的目标模型文件是3D-Unet神经网络的变形模型文件,关联的初始化硬件配置信息包括两块NVIDIA TITAN XP的显卡、16GB的内存、Intel Core i7-7800X的中央处理器,以及软件anaconda3、cuda10、cudnn 7.4.2和Ubuntu 18.04。在A平台上运行3D-Unet神经网络的变形模型文件时,可以是A平台根据初始化硬件配置信息,调用初始化硬件配置信息,即,调用两块NVIDIA TITAN XP的显卡、16GB的内存、Intel Core i7-7800X的中央处理器,以及软件anaconda3、cuda10、cudnn 7.4.2和Ubuntu 18.04作为处理资源,来运行3D-Unet神经网络的变形模型文件。
可选的,在本申请的一种可选实施例中,步骤104还可以包括下述子步骤S2-子步骤S6:
子步骤S2、在所述目标模型文件为所述原始模型文件的情况下,检测所述目标运行平台的图形处理器配置是否满足所述目标模型文件的运行需求。
本发明实施例中,由于图形处理器(Graphics Processing Unit,GPU)是电子设备中处理图形系统结构的重要元件,因此,在目标模型文件为原始模型文件的情况下,检测目标运行平台的图形处理器配置是否满足目标模型文件的运行需求,可以先确定图形处理能力最好的硬件配置是否符合目标模型文件的需求,以便为目标模型文件优先选取运行效果最好的处理资源。
需要说明的是,检测目标运行平台的图形处理器配置是否满足目标模型文件的运行需求,可以是检测目标运行平台的图形处理器配置是否高于预设图形处理器配置的阈值,而预设图形处理器配置阈值可以是运行目标模型文件所需的最低图形处理器配置。
示例的,预设图形处理器配置阈值为NVIDIA TITAN XP,即,目标模型文件的运行需求可以是平台的GPU至少为NVIDIA TITAN XP以上的配置,而可以得到目标运行平台的GPU配置为NVIDIA TITAN V,则检测目标运行平台的图形处理器配置是否满足目标模型文件的运行需求,可以是检测目标运行平台的NVIDIA TITAN V的处理能力是否高于预设图形处理器配置阈值NVIDIA TITAN XP的处理能力。
子步骤S3、在所述图形处理器配置满足的情况下,调用所述图形处理器对应的处理资源,运行所述目标模型文件。
本发明实施例中,目标运行平台的图形处理器配置满足目标模型文件的运行需求,可以是目标运行平台的图形处理器配置高于预设图形处理器配置的阈值,即,目标运行平台配置的图形处理器的处理能力高于运行目标模型文件所需的图形处理器的处理能力。调用图形处理器对应的处理资源,运行目标模型文件,可以是通过调用指令将目标运行平台上的图形处理器作为处理资源,来运行目标模型文件。这样,在图形处理器配置满足的情况下,直接将目标运行平台上的图形处理器作为处理资源来运行目标模型文件,可以保证优先选用处理能力更好的处理资源来运行模型文件,进而保证运行目标模型文件的效果更好,提高了模型调用的效率。
示例的,当目标运行平台的NVIDIA TITAN V的处理能力高于预设图形处理器配置阈值NVIDIA TITAN XP的处理能力时,目标运行平台上可以调用NVIDIA TITAN V作为处理资源,来运行目标模型文件。
子步骤S4、在所述图形处理器配置不满足的情况下,检测所述目标运行平台是否支持特定类型的指令集。
本发明实施例中,目标运行平台的图形处理器配置不满足目标模型文件的运行需求,可以是目标运行平台的图形处理器配置低于预设图形处理器配置的阈值,即,目标运行平台配置的图形处理器的处理能力低于运行目标模型文件所需的图形处理器的处理能力。检测目标运行平台是否支持特定类型的指令集,可以是检测目标运行平台上的处理器是否支持调用特定类型的指令集执行数据操作,而特定类型的指令集可以是单指令多数据(Single Instruction Multiple Data,SIMD)指令集,比如,可以是SSE(Streaming SIMDExtensions,单指令多数据流扩展)指令集、NEON指令集等,也可以是其他类型的指令集,对此本发明不作限制。在图形处理器配置不满足目标模型文件的运行需求的情况下,检测目标运行平台是否支持特定类型的指令集,可以在目标运行平台上,选取处理能力较好的处理资源来运行目标模型文件,以便保证目标模型文件的运行效果。
子步骤S5、在支持所述特定类型的指令集的情况下,调用所述目标运行平台中与所述特定类型的指令集对应的处理资源,运行所述目标模型文件。
本发明实施例中,支持特定类型的指令集可以是目标运行平台上的处理器支持调用特定类型的指令集执行数据操作。调用目标运行平台中与特定类型的指令集对应的处理资源,运行目标模型文件,可以是在目标运行平台上,调用存储的特定类型的指令集作为处理资源进行数据操作,来运行目标模型文件。利用特定类型的指令集来运行目标模型文件,可以保证目标模型文件的运行效果,提高数据处理的效率。
子步骤S6、在不支持所述特定类型的指令集的情况下,调用所述目标运行平台的中央处理器对应的处理资源,运行所述目标模型文件。
本发明实施例中,不支持特定类型的指令集可以是目标运行平台上未存储特定类型的指令集,也可以是目标运行平台上不支持运行特定类型的指令集。调用目标运行平台的中央处理器对应的处理资源,运行目标模型文件,可以是将目标运行平台上的中央处理器(Central Processing Unit,CPU)作为处理资源,调用CPU来运行目标模型文件。利用目标运行平台的中央处理器来运行目标模型文件,可以在保证目标运行平台可运行目标模型文件的基础上,也保证了目标模型文件的运行效果。
示例的,可以先检测目标模型平台上配置的CPU参数,比如,CPU的主频和核心数,从中选取处理能力更好的处理资源来运行目标模型文件,具体的,可以是在CPU中的大核没有被目标运行平台的操作系统中其他重要进程占据的情况下,根据目标模型文件的运行需求设置CPU亲和性(affinity),让CPU在处理过程中更多地运行在主频最高的大核上,以提高数据处理效率。也可以根据CPU的核心数进行相应的多线程配置,比如,在八核的CPU上,选出四核来进行线程配置,从而可以让底层计算任务并行处理,来提高数据处理的效率。
示例的,图2是本申请实施例提供的一种模型调用流程示意图,如图2所示,开始进行模型调用的流程,先检测模型运行平台的平台信息,确定适配的模型文件类型,在目标运行平台适配的目标模型文件是变形模型文件的情况下,根据变形模型文件关联的初始化硬件配置信息,来运行变形模型文件,在目标运行平台适配的目标模型文件不是变形模型文件的情况下,先检测GPU配置是否满足原始模型文件的运行需求,若满足,则调用GPU运行原始模型文件,若不满足,则检测目标运行平台是否支持SIMD,若目标运行平台支持SIMD,则调用SIMD运行原始模型文件,若目标运行平台不支持SIMD,则调用CPU进行多线程配置来运行原始模型文件。
相较于现有技术中,模型运行平台调用模型供给端上的模型文件时,一般是模型供给端先确定模型运行平台所适配的模型类型,再通过模型转换生成该模型类型的模型文件,并将该模型类型的模型文件发送给对应的模型运行平台,本申请通过模型供给端直接返回包含原始模型文件以及预先生成的适配不同运行平台的多个变形模型文件的模型文件包,目标运行平台可以直接根据模型文件包,获取到适配该目标运行平台的可运行的模型文件,不仅使得模型供给端上可提供的模型文件包,可以适配不同运行平台,具备了跨平台性,而且通过检测模型运行平台上的硬件配置,调用平台上处理能力更好地处理资源来运行模型文件,可以是既保证了模型文件的运行效果,也提高了模型文件运行的效率,极大地节省了运行平台上的版本控制成本和时间成本。
综上所述,本发明实施例提供的模型调用方法,目标运行平台会先向模型供给端发送模型文件请求,并接收模型供给端返回的模型文件包,其中,模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表,预设映射表用于表征模型文件与运行平台之间的对应关系,变形模型文件是根据原始模型文件生成的,再根据预设映射表,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,运行目标模型文件。本申请中通过模型供给端直接返回包含原始模型文件以及预先生成的适配不同运行平台的多个变形模型文件的模型文件包,目标运行平台可以直接根据模型文件包,获取到适配该目标运行平台的可运行的模型文件,一定程度上可以降低目标运行平台的等待时长,提高处理效率。并且,在目标模型文件为变形模型文件时,直接根据初始化硬件配置信息来运行目标模型文件,在目标模型文件为原始模型文件时,选取目标运行平台处理能力较好的处理资源,来运行目标模型文件,既可以保证目标模型文件的运行效果,也可以提高模型文件运行的效率。
图3是本申请实施例提供的又一种模型调用方法的步骤流程图,该方法可以应用于模型供给端,如图3所示,该方法可以包括:
步骤301、接收目标运行平台发送的模型文件请求。
本发明实施例中,目标运行平台可以在需要获取模型文件时,向模型供给端发送模型文件请求,相应地,模型供给端可以接收该模型文件请求。例如,目标运行平台为UNIX平台,需要获取的模型文件为DNNs模型文件,则目标运行平台可以向模型供给端发送模型文件请求为“UNIX平台-DNNs模型”,相应地,模型供给端可以接收到UNIX平台发送的模型文件请求“UNIX平台-DNNs模型”。
步骤302、响应于所述模型文件请求,向所述目标运行平台返回模型文件包,以便于所述目标运行平台根据预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件,并运行所述目标模型文件。
本发明实施例中,模型供给端根据接收到的模型文件请求,向目标运行平台返回模型文件包,由于模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表,因此,该模型文件包可以是模型供给端预先生成的,则在目标运行平台向模型供给端发送模型文件请求之后,模型供给端可以直接向目标运行平台返回模型文件包,一定程度上可以降低目标运行平台的等待时长,提高模型调用的效率。
综上所述,本发明实施例提供的模型调用方法,模型供给端会先接收目标运行平台发送的模型文件请求,响应于该模型文件请求,再向目标运行平台返回模型文件包,以便于目标运行平台根据预设映射表,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,并运行目标模型文件。这样,模型供给端只需根据模型文件请求,可以直接将模型文件包发送给目标运行平台,一定程度上可以降低目标运行平台的等待时长,从而提高了模型调用的效率。
图4是本申请实施例提供的又一种模型调用方法的步骤流程图,该方法可以应用于模型供给端,如图4所示,该方法可以包括:
步骤401、根据原始模型文件生成适配不同运行平台的多个所述变形模型文件。
本发明实施例中,根据不同模型运行平台所适配的变形模型文件,对模型文件进行转换得到多个变形模型文件,该多个变形模型文件为模型运行平台可以运行的变形模型文件。
具体的,运行平台为特殊运行平台,模型供给端可以通过下述步骤4011~步骤4012生成适配不同运行平台的多个所述变形模型文件:
步骤4011、获取不同特殊运行平台的平台信息;所述平台信息包括所述特殊运行平台支持的参数类型、参数位数以及参数排列方式中的至少一种。
本发明实施例中,特殊运行平台可以是需要运行变形模型文件的模型运行平台,而不同特殊运行平台的平台信息可以是模型运行平台支持运行模型文件的参数类型、参数位数以及参数排列方式中的至少一种。通过获取不同特殊运行平台的平台信息,可以在模型运行平台未发起获取模型文件请求之前,就可以确定模型运行平台需要运行的模型文件类型,以便之后在模型运行平台发送模型文件请求时可以直接将模型文件发送给模型运行平台,提高了模型调用的效率。
示例的,模型运行平台A为特殊运行平台,平台A支持运行的模型文件是对原始模型文件的参数进行量化后的变形模型文件,则获取平台A的平台信息,该平台信息可以是“平台A—参数量化的变形模型文件”。模型运行平台B为特殊运行平台,平台B支持运行的模型文件是对原始模型文件的参数顺序重排列的变形模型文件,则获取平台B的平台信息,该平台信息可以是“平台B—参数顺序重排列的变形模型文件”。模型运行平台C为特殊运行平台,平台C支持运行的模型文件是将原始模型文件的参数位数转换为8位数的变形模型文件,则获取平台C的平台信息,该平台信息可以是“平台C—8位数参数的变形模型文件”。
步骤4012、根据所述不同特殊运行平台的平台信息,对所述原始模型文件进行变换,得到所述特殊运行平台适配的变形模型文件。
具体的,对原始模型文件进行变换得到特殊运行平台适配的变形模型文件可以如前述步骤102对原始模型文件进行转换得到变形模型文件。示例的,若特殊运行平台A的平台信息为“平台A—参数量化的变形模型文件”,则可以对原始模型文件进行参数量化处理,将处理后的模型文件作为参数量化的变形模型文件。若特殊运行平台B的平台信息为“平台B—参数顺序重排列的变形模型文件”,则可以对原始模型文件中的参数顺序进行重新排列,将处理后的模型文件作为参数顺序重排列的变形模型文件。根据平台信息生成适配不同特殊运行平台的变形模型文件,可以在模型运行平台发送模型文件请求时直接将模型文件发送给模型运行平台,提高了模型调用的效率。
步骤402、建立所述不同运行平台与多个变形模型文件之间的对应关系,得到所述预设映射表。
本发明实施例中,建立不同运行平台与多个变形模型文件之间的对应关系得到预设映射表可以根据前述步骤102中的方法,在此不再赘述。通过建立预设映射表可以直接根据运行平台来确定该运行平台所适配的变形模型文件,从而提高了调用模型的效率。
步骤403、将所述原始模型文件、所述多个变形模型文件及所述预设映射表打包为所述模型文件包。
本发明实施例中,模型供给端将原始模型文件、多个变形模型文件及预设映射表打包为模型文件包,可以在接收到模型运行平台发送的模型文件请求时,直接将模型文件包发送给模型运行平台,以便模型运行平台直接根据模型文件包即可获取到所需的模型文件,减少了模型运行平台获取模型文件的时间,从而提高了模型调用的效率。
步骤404、接收目标运行平台发送的模型文件请求。
具体的,本步骤的实现方式可以参照前述步骤301,本申请实施例对此不作限定。
步骤405、响应于所述模型文件请求,向所述目标运行平台返回模型文件包,以便于所述目标运行平台根据预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件,并运行所述目标模型文件。
具体的,本步骤的实现方式可以参照前述步骤302,本申请实施例对此不作限定。
综上所述,本发明实施例提供的模型调用方法,模型供给端会先根据原始模型文件生成适配不同运行平台的多个变形模型文件,并建立不同运行平台与多个变形模型文件之间的对应关系,得到预设映射表,将原始模型文件、多个变形模型文件及预设映射表打包为模型文件包,再接收目标运行平台发送的模型文件请求,响应于该模型文件请求,向目标运行平台返回模型文件包,以便于目标运行平台根据预设映射表,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,并运行目标模型文件。这样,先获取不同特殊运行平台的平台信息,可以在模型运行平台未发起获取模型文件请求之前,就可以确定模型运行平台需要运行的模型文件类型,以便之后在模型运行平台发送模型文件请求时,可以直接将模型文件包发送给目标运行平台,一定程度上可以降低目标运行平台的等待时长,从而提高了模型调用的效率。
图5是本申请实施例提供的又一种模型调用方法的步骤流程图,该方法可以应用于包括目标运行平台和模型供给端的系统,如图5所示,该方法可以包括:
步骤501、所述目标运行平台向所述模型供给端发送模型文件请求。
步骤502、所述模型供给端接收所述目标运行平台发送的所述模型文件请求。
步骤503、所述模型供给端响应于所述模型文件请求,向所述目标运行平台返回模型文件包。
步骤504、所述目标运行平台接收所述模型供给端返回的所述模型文件包。所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的。
步骤505、所述目标运行平台根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件。
步骤506、所述目标运行平台运行所述目标模型文件。
综上所述,本申请实施例提供的模型调用方法,目标运行平台会先向模型供给端发送模型文件请求,模型供给端接收该目标运行平台发送的模型文件请求,并响应于该模型文件请求,向目标运行平台返回模型文件包,相应地,目标运行平台接收模型供给端返回的模型文件包,该模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表,预设映射表用于表征模型文件与运行平台之间的对应关系,变形模型文件是根据原始模型文件生成的,目标运行平台再根据预设映射表,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,运行目标模型文件。本申请中通过模型供给端直接返回包含原始模型文件以及预先生成的适配不同运行平台的多个变形模型文件的模型文件包,目标运行平台可以直接根据模型文件包,获取到适配该目标运行平台的可运行的模型文件,一定程度上可以降低目标运行平台的等待时长,提高了模型调用的效率。
需要说明的是,本申请实施例提供的模型调用方法,执行主体可以为模型调用装置,或者该模型调用装置中的用于执行模型调用方法的控制模块。本申请实施例中以模型调用装置执行模型调用方法为例,说明本申请实施例提供的模型调用装置。
图6是本申请实施例还提供了一种模型调用装置的框图,应用于目标运行平台,如图6所示,该模型调用装置60可以包括:
发送模块601,用于向模型供给端发送模型文件请求;
第一接收模块602,用于接收所述模型供给端返回的模型文件包;所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的;
选择模块603,用于根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件;
运行模块604,用于运行所述目标模型文件。
可选的,所述预设映射表用于表征不同变形模型文件与不同运行平台之间的对应关系;所述选择模块603,还用于:
查找所述预设映射表中是否记录有与所述目标运行平台相适配的变形模型文件;
若记录有与所述目标运行平台相适配的变形模型文件,则将所述相适配的变形模型文件确定为所述目标模型文件;
若未记录有与所述目标运行平台相适配的变形模型文件,则将所述原始模型文件确定为所述目标模型文件。
可选的,所述变形模型文件关联有初始化硬件配置信息;所述运行模块604,还用于:
在所述目标模型文件为所述变形模型文件的情况下,根据所述初始化硬件配置信息,调用所述目标运行平台中与所述初始化硬件配置信息对应的处理资源,运行所述目标模型文件。
可选的,所述运行模块604,还用于:
在所述目标模型文件为所述原始模型文件的情况下,检测所述目标运行平台的图形处理器配置是否满足所述目标模型文件的运行需求;
在所述图形处理器配置满足的情况下,调用所述图形处理器对应的处理资源,运行所述目标模型文件;
在所述图形处理器配置不满足的情况下,检测所述目标运行平台是否支持特定类型的指令集;
在支持所述特定类型的指令集的情况下,调用所述目标运行平台中与所述特定类型的指令集对应的处理资源,运行所述目标模型文件;
在不支持所述特定类型的指令集的情况下,调用所述目标运行平台的中央处理器对应的处理资源,运行所述目标模型文件。
综上所述,本发明实施例提供的模型调用装置,目标运行平台会先向模型供给端发送模型文件请求,并接收模型供给端返回的模型文件包,其中,模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表,预设映射表用于表征模型文件与运行平台之间的对应关系,变形模型文件是根据原始模型文件生成的,再根据预设映射表,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,运行目标模型文件。本申请中通过模型供给端直接返回包含原始模型文件以及预先生成的适配不同运行平台的多个变形模型文件的模型文件包,目标运行平台可以直接根据模型文件包,获取到适配该目标运行平台的可运行的模型文件,一定程度上可以降低目标运行平台的等待时长,提高处理效率。
图7是本申请实施例还提供了一种模型调用装置的框图,应用于模型供给端,如图7所示,该模型调用装置70可以包括:
第二接收模块701,用于接收目标运行平台发送的模型文件请求;
返回模块702,用于响应于所述模型文件请求,向所述目标运行平台返回模型文件包,以便于所述目标运行平台根据预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件,并运行所述目标模型文件;其中,所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及所述预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的。
可选的,其特征在于,所述装置70还包括:
生成模块,用于根据原始模型文件生成适配不同运行平台的多个所述变形模型文件;
建立模块,用于建立所述不同运行平台与多个变形模型文件之间的对应关系,得到所述预设映射表;
打包模块,用于将所述原始模型文件、所述多个变形模型文件及所述预设映射表打包为所述模型文件包。
可选的,所述运行平台为特殊运行平台;
所述生成模块,还用于:
获取不同特殊运行平台的平台信息;所述平台信息包括所述特殊运行平台支持的参数类型、参数位数以及参数排列方式中的至少一种;
根据所述不同特殊运行平台的平台信息,对所述原始模型文件进行变换,得到所述特殊运行平台适配的变形模型文件;
综上所述,本发明实施例提供的模型调用装置,模型供给端会先接收目标运行平台发送的模型文件请求,响应于该模型文件请求,再向目标运行平台返回模型文件包,以便于目标运行平台根据预设映射表,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,并运行目标模型文件。这样,模型供给端只需根据模型文件请求,可以直接将模型文件包发送给目标运行平台,大大缩短了目标运行平台获取模型文件的时间,从而提高了模型调用的效率。
可选的,本申请实施例还提供了一种模型调用系统,该系统可以包括目标运行平台和模型供给端;
其中,所述目标运行平台,用于向所述模型供给端发送模型文件请求;
所述模型供给端,用于接收所述目标运行平台发送的模型文件请求;
所述模型供给端,用于响应于所述模型文件请求,向所述目标运行平台返回模型文件包;
所述目标运行平台,用于接收所述模型供给端返回的模型文件包;所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的;
所述目标运行平台,用于根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件;
所述目标运行平台,用于运行所述目标模型文件。
综上所述,本申请实施例提供的模型调用系统,目标运行平台会先向模型供给端发送模型文件请求,模型供给端接收该目标运行平台发送的模型文件请求,并响应于该模型文件请求,向目标运行平台返回模型文件包,以便于目标运行平台根据预设映射表,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,并运行目标模型文件,相应地,目标运行平台接收模型供给端返回的模型文件包,该模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表,预设映射表用于表征模型文件与运行平台之间的对应关系,变形模型文件是根据原始模型文件生成的,目标运行平台再根据预设映射表,从模型文件包中的模型文件中选择与目标运行平台适配的目标模型文件,运行目标模型文件。本申请中通过模型供给端直接返回包含原始模型文件以及预先生成的适配不同运行平台的多个变形模型文件的模型文件包,目标运行平台可以直接根据模型文件包,获取到适配该目标运行平台的可运行的模型文件,一定程度上可以降低目标运行平台的等待时长,提高处理效率。
本申请实施例提供的模型调用装置能够实现图1至图7的模型调用方法实施例中模型调用装置实现的各个过程,为避免重复,这里不再赘述。
可选的,如图8所示,本申请实施例还提供一种电子设备900,包括处理器901,存储器902,存储在存储器902上并可在所述处理器901上运行的程序或指令,该程序或指令被处理器901执行时实现上述模型调用方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图9为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备1000包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元106、用户输入单元1007 、接口单元1008、存储器1009、以及处理器1010等部件。
本领域技术人员可以理解,电子设备1000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图9中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器1010,用于向模型供给端发送模型文件请求;接收所述模型供给端返回的模型文件包;所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的;根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标模型运行平台适配的目标模型文件;运行所述目标模型文件。
或者,处理器1010,用于接收目标运行平台发送的模型文件请求;响应于所述模型文件请求,向所述目标运行平台返回模型文件包,以便于所述目标运行平台根据预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件,并运行所述目标模型文件;其中,所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及所述预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的。
综上所述,本申请实施例提供的模型调用方法,通过模型供给端直接返回包含原始模型文件以及预先生成的适配不同运行平台的多个变形模型文件的模型文件包,目标运行平台可以直接根据模型文件包,获取到适配该目标运行平台的可运行的模型文件,一定程度上可以降低目标运行平台的等待时长,提高处理效率。
应理解的是,本申请实施例中,输入单元1004可以包括图形处理器(GraphicsProcessing Unit,GPU)10041和麦克风10042,图形处理器10041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1006可包括显示面板10061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板10061。用户输入单元1007包括触控面板10071以及其他输入设备10072。触控面板10071,也称为触摸屏。触控面板10071可包括触摸检测装置和触摸控制器两个部分。其他输入设备10072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器1009可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器1010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。
可选的,本申请实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的程序或指令,该程序或指令被处理器执行时实现上述模型调用方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要注意的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述模型调用方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory, RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述模型调用方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (9)
1.一种模型调用方法,其特征在于,应用于目标运行平台,所述方法包括:
向模型供给端发送模型文件请求;
接收所述模型供给端返回的模型文件包;所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的;
根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件;
运行所述目标模型文件;
其中,所述运行所述目标模型文件,包括:
在所述目标模型文件为所述原始模型文件的情况下,检测所述目标运行平台的图形处理器配置是否满足所述目标模型文件的运行需求;
在所述图形处理器配置满足的情况下,调用所述图形处理器对应的处理资源,运行所述目标模型文件;
在所述图形处理器配置不满足的情况下,检测所述目标运行平台是否支持特定类型的指令集;
在支持所述特定类型的指令集的情况下,调用所述目标运行平台中与所述特定类型的指令集对应的处理资源,运行所述目标模型文件;
在不支持所述特定类型的指令集的情况下,调用所述目标运行平台的中央处理器对应的处理资源,运行所述目标模型文件。
2.根据权利要求1所述的方法,其特征在于,所述预设映射表用于表征不同变形模型文件与不同运行平台之间的对应关系;所述根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件,包括:
查找所述预设映射表中是否记录有与所述目标运行平台相适配的变形模型文件;
若记录有与所述目标运行平台相适配的变形模型文件,则将所述相适配的变形模型文件确定为所述目标模型文件;
若未记录有与所述目标运行平台相适配的变形模型文件,则将所述原始模型文件确定为所述目标模型文件。
3.根据权利要求1所述的方法,其特征在于,所述变形模型文件关联有初始化硬件配置信息;所述运行所述目标模型文件,包括:
在所述目标模型文件为所述变形模型文件的情况下,根据所述初始化硬件配置信息,调用所述目标运行平台中与所述初始化硬件配置信息对应的处理资源,运行所述目标模型文件。
4.一种模型调用方法,其特征在于,应用于模型供给端,所述方法包括:
接收目标运行平台发送的模型文件请求;
响应于所述模型文件请求,向所述目标运行平台返回模型文件包,以便于所述目标运行平台根据预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件,并运行所述目标模型文件;
其中,所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及所述预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的;
其中,所述运行所述目标模型文件,包括:
所述目标运行平台在所述目标模型文件为所述原始模型文件的情况下,检测所述目标运行平台的图形处理器配置是否满足所述目标模型文件的运行需求;
所述目标运行平台在所述图形处理器配置满足的情况下,调用所述图形处理器对应的处理资源,运行所述目标模型文件;
所述目标运行平台在所述图形处理器配置不满足的情况下,检测所述目标运行平台是否支持特定类型的指令集;
所述目标运行平台在支持所述特定类型的指令集的情况下,调用所述目标运行平台中与所述特定类型的指令集对应的处理资源,运行所述目标模型文件;
所述目标运行平台在不支持所述特定类型的指令集的情况下,调用所述目标运行平台的中央处理器对应的处理资源,运行所述目标模型文件。
5.根据权利要求4所述的方法,其特征在于,在所述接收目标运行平台发送的模型文件请求之前,还包括:
根据原始模型文件生成适配不同运行平台的多个所述变形模型文件;
建立所述不同运行平台与多个变形模型文件之间的对应关系,得到所述预设映射表;
将所述原始模型文件、所述多个变形模型文件及所述预设映射表打包为所述模型文件包。
6.根据权利要求5所述的方法,其特征在于,所述运行平台为特殊运行平台;所述特殊运行平台是用于运行变形模型文件的平台;
所述根据原始模型文件生成适配不同运行平台的多个所述变形模型文件,包括:
获取不同特殊运行平台的平台信息;
根据所述不同特殊运行平台的平台信息,对所述原始模型文件进行变换,得到所述特殊运行平台适配的变形模型文件;
所述平台信息包括所述特殊运行平台支持的参数类型、参数位数以及参数排列方式中的至少一种。
7.一种模型调用系统,其特征在于,包括目标运行平台和模型供给端;
所述目标运行平台,用于向所述模型供给端发送模型文件请求;
所述模型供给端,用于接收所述目标运行平台发送的所述模型文件请求;
所述模型供给端,用于响应于所述模型文件请求,向所述目标运行平台返回模型文件包;
所述目标运行平台,用于接收所述模型供给端返回的所述模型文件包;所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的;
所述目标运行平台,用于根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件;
所述目标运行平台,用于运行所述目标模型文件;
其中,所述运行所述目标模型文件,包括:
所述目标运行平台在所述目标模型文件为所述原始模型文件的情况下,检测所述目标运行平台的图形处理器配置是否满足所述目标模型文件的运行需求;
所述目标运行平台在所述图形处理器配置满足的情况下,调用所述图形处理器对应的处理资源,运行所述目标模型文件;
所述目标运行平台在所述图形处理器配置不满足的情况下,检测所述目标运行平台是否支持特定类型的指令集;
所述目标运行平台在支持所述特定类型的指令集的情况下,调用所述目标运行平台中与所述特定类型的指令集对应的处理资源,运行所述目标模型文件;
所述目标运行平台在不支持所述特定类型的指令集的情况下,调用所述目标运行平台的中央处理器对应的处理资源,运行所述目标模型文件。
8.一种模型调用装置,其特征在于,应用于目标运行平台,所述装置包括:
发送模块,用于向模型供给端发送模型文件请求;
第一接收模块,用于接收所述模型供给端返回的模型文件包;所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的;
选择模块,用于根据所述预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件;
运行模块,用于运行所述目标模型文件;
其中,所述运行所述目标模型文件,包括:
在所述目标模型文件为所述原始模型文件的情况下,检测所述目标运行平台的图形处理器配置是否满足所述目标模型文件的运行需求;
在所述图形处理器配置满足的情况下,调用所述图形处理器对应的处理资源,运行所述目标模型文件;
在所述图形处理器配置不满足的情况下,检测所述目标运行平台是否支持特定类型的指令集;
在支持所述特定类型的指令集的情况下,调用所述目标运行平台中与所述特定类型的指令集对应的处理资源,运行所述目标模型文件;
在不支持所述特定类型的指令集的情况下,调用所述目标运行平台的中央处理器对应的处理资源,运行所述目标模型文件。
9.一种模型调用装置,其特征在于,应用于模型供给端,所述装置包括:
第二接收模块,用于接收目标运行平台发送的模型文件请求;
返回模块,用于响应于所述模型文件请求,向所述目标运行平台返回模型文件包,以便于所述目标运行平台根据预设映射表,从所述模型文件包中的模型文件中选择与所述目标运行平台适配的目标模型文件,并运行所述目标模型文件;其中,所述模型文件包中包括原始模型文件、预先生成的适配不同运行平台的多个变形模型文件以及所述预设映射表;所述预设映射表用于表征模型文件与运行平台之间的对应关系,所述变形模型文件是根据所述原始模型文件生成的;
其中,所述运行所述目标模型文件,包括:
所述目标运行平台在所述目标模型文件为所述原始模型文件的情况下,检测所述目标运行平台的图形处理器配置是否满足所述目标模型文件的运行需求;
所述目标运行平台在所述图形处理器配置满足的情况下,调用所述图形处理器对应的处理资源,运行所述目标模型文件;
所述目标运行平台在所述图形处理器配置不满足的情况下,检测所述目标运行平台是否支持特定类型的指令集;
所述目标运行平台在支持所述特定类型的指令集的情况下,调用所述目标运行平台中与所述特定类型的指令集对应的处理资源,运行所述目标模型文件;
所述目标运行平台在不支持所述特定类型的指令集的情况下,调用所述目标运行平台的中央处理器对应的处理资源,运行所述目标模型文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011110898.XA CN111930691B (zh) | 2020-10-16 | 2020-10-16 | 一种模型调用方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011110898.XA CN111930691B (zh) | 2020-10-16 | 2020-10-16 | 一种模型调用方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930691A CN111930691A (zh) | 2020-11-13 |
CN111930691B true CN111930691B (zh) | 2021-01-12 |
Family
ID=73334490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011110898.XA Active CN111930691B (zh) | 2020-10-16 | 2020-10-16 | 一种模型调用方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930691B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130139183A1 (en) * | 2011-11-28 | 2013-05-30 | Wyse Technology Inc. | Creation or installation of a disk image for a target device having one of a plurality of hardware platforms |
CN104978224B (zh) * | 2015-07-06 | 2018-11-20 | 张兆琦 | 一种面向多硬件平台的应用程序管理方法 |
EP3602414A1 (en) * | 2017-05-20 | 2020-02-05 | Google LLC | Application development platform and software development kits that provide comprehensive machine learning services |
US11269639B2 (en) * | 2019-06-27 | 2022-03-08 | Intel Corporation | Methods and apparatus for intentional programming for heterogeneous systems |
CN111353608B (zh) * | 2020-02-26 | 2023-09-12 | Oppo广东移动通信有限公司 | 模型移植方法及相关设备 |
-
2020
- 2020-10-16 CN CN202011110898.XA patent/CN111930691B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111930691A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3975474B1 (en) | Methods and apparatuses for chaining service data | |
CN108874924B (zh) | 搜索服务的创建方法、装置及计算机可读存储介质 | |
CN108701149A (zh) | 一种智能推荐方法和终端 | |
CN105824974A (zh) | 数据分析处理的方法和系统 | |
CN110245128B (zh) | 元模型的建立方法及装置、存储介质、电子装置 | |
CN109597825B (zh) | 规则引擎调用方法、装置、设备及计算机可读存储介质 | |
CN113138771A (zh) | 数据处理方法、装置、设备及存储介质 | |
WO2008132693A2 (en) | Tangible interface for mobile middleware | |
CN112650804B (zh) | 大数据接入方法、装置、系统及存储介质 | |
CN112835582A (zh) | 基于容器引擎的渲染方法、装置、设备以及存储介质 | |
CN113626512A (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN111930691B (zh) | 一种模型调用方法、装置及系统 | |
CN116932147A (zh) | 流式作业处理方法、装置、电子设备及介质 | |
CN114070892A (zh) | 数据传输方法和装置 | |
CN115373646A (zh) | 扩展信息方法、装置和相关产品 | |
CN110851452A (zh) | 数据表连接处理方法及装置、电子设备和存储介质 | |
CN113836405B (zh) | 信息查询方法、装置以及计算机可读存储介质 | |
CN109561146A (zh) | 文件下载方法、装置、终端设备 | |
CN114268653B (zh) | 设备调用方法、装置、设备、介质及产品 | |
CN110489469B (zh) | 数据传输方法、装置、计算机设备以及存储介质 | |
CN116880761A (zh) | 一种基于云存储和接口服务器的数据读写方法、装置及设备 | |
CN114650276A (zh) | 业务请求处理方法、电子设备终端及存储介质 | |
CN117113271A (zh) | 数据处理的方法、装置、电子设备及存储介质 | |
CN113448995A (zh) | 数据库操作方法及装置、系统、电子设备和存储介质 | |
CN117435323A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |