CN111353608B - 模型移植方法及相关设备 - Google Patents
模型移植方法及相关设备 Download PDFInfo
- Publication number
- CN111353608B CN111353608B CN202010120445.9A CN202010120445A CN111353608B CN 111353608 B CN111353608 B CN 111353608B CN 202010120445 A CN202010120445 A CN 202010120445A CN 111353608 B CN111353608 B CN 111353608B
- Authority
- CN
- China
- Prior art keywords
- model
- preset
- target
- transplanted
- deep learning
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- 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
- G06N3/045—Combinations of networks
-
- 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
-
- 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- 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)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种模型移植方法及相关设备,应用于电子设备,所述方法包括:获取待移植模型,确定电子设备对应的目标芯片类型,根据预设的芯片类型与预设移植策略之间的映射关系,确定目标芯片类型对应的目标移植策略,基于目标移植策略,将待移植模型移植到电子设备中,如此,通过不同的芯片类型预设不同的移植策略,并通过目标移植策略,将待移植模型移植到电子设备中,可避免由于框架不支持、模型过大造成的而无法进行模型移植的情况,有利于减少资源的消耗。
Description
技术领域
本申请涉及芯片技术领域,尤其涉及一种模型移植方法及相关设备。
背景技术
目前,深度学习模型的部署一般分为云端和移动端部署,对于云端部署,已经有较为成熟的部署方案,并且支持较多的深度学习推理框架,而基于移动端的框架则可用的框架较少,目前较为常见的是采用云端深度学习开发的思路进行移动端的深度学习模型开发,会因为框架不支持、模型过大,而导致计算资源消耗过多。
发明内容
本申请实施例提供一种模型移植方法及相关设备,有利于减少资源消耗。
第一方面,本申请实施例提供一种模型移植方法,应用于电子设备,所述方法包括:
获取待移植模型;
确定所述电子设备对应的目标芯片类型;
根据预设的芯片类型与预设移植策略之间的映射关系,确定所述目标芯片类型对应的目标移植策略;
基于所述目标移植策略,将所述待移植模型移植到所述电子设备中。
第二方面,本申请实施例提供一种模型移植装置,应用于电子设备,所述装置包括:
第一获取单元,用于获取待移植模型;
第一确定单元,用于确定所述电子设备对应的目标芯片类型;
所述第一确定单元,还用于根据预设的芯片类型与预设移植策略之间的映射关系,确定所述目标芯片类型对应的目标移植策略;
移植单元,用于基于所述目标移植策略,将所述待移植模型移植到所述电子设备中。
第三方面,本申请实施例提供一种电子设备,该电子设备包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质用于存储计算机程序,其中,上述计算机程序被处理器执行,以实现如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,在本申请实施例中,电子设备可获取待移植模型,确定电子设备对应的目标芯片类型,根据预设的芯片类型与预设移植策略之间的映射关系,确定目标芯片类型对应的目标移植策略,基于目标移植策略,将待移植模型移植到电子设备中,如此,通过不同的芯片类型预设不同的移植策略,并通过目标移植策略,将待移植模型移植到电子设备中,可避免由于框架不支持、模型过大造成的而无法进行模型移植的情况,有利于减少资源的消耗。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种电子设备硬件的结构示意图;
图1B是本申请实施例提供的一种模型移植方法的流程示意图;
图1C是本申请实施例提供的一种模型移植系统的结构示意图;
图2是本申请实施例提供的一种模型移植方法的流程示意图;
图3是本申请实施例提供的一种模型移植方法的流程示意图;
图4是本申请实施例提供的一种电子设备的结构示意图;
图5A是本申请实施例提供的一种模型移植装置的结构示意图;
图5B是本申请实施例提供的图5A所示的一种模型移植装置的变型结构。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下分别进行详细说明。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
请参阅图1A,图1A是本申请实施例公开的一种电子设备的结构示意图,电子设备100包括存储和处理电路110,以及与所述存储和处理电路110连接的传感器170,传感器170包括摄像头,其中:
电子设备100可以包括控制电路,该控制电路可以包括存储和处理电路110。该存储和处理电路110可以存储器,例如硬盘驱动存储器,非易失性存储器(例如闪存或用于形成固态驱动器的其它电子可编程只读存储器等),易失性存储器(例如静态或动态随机存取存储器等)等,本申请实施例不作限制。存储和处理电路110中的处理电路可以用于控制电子设备100的运转。该处理电路可以基于一个或多个微处理器,微控制器,数字信号处理器,基带处理器,功率管理单元,音频编解码器芯片,专用集成电路,显示驱动器集成电路等来实现。
存储和处理电路110可用于运行电子设备100中的软件,例如互联网浏览应用程序,互联网协议语音(Voice over Internet Protocol,VOIP)电话呼叫应用程序,电子邮件应用程序,媒体播放应用程序,操作系统功能等。这些软件可以用于执行一些控制操作,例如,基于照相机的图像采集,基于环境光传感器的环境光测量,基于接近传感器的接近传感器测量,基于诸如发光二极管的状态指示灯等状态指示器实现的信息显示功能,基于触摸传感器的触摸事件检测,与在多个(例如分层的)显示屏上显示信息相关联的功能,与执行无线通信功能相关联的操作,与收集和产生音频信号相关联的操作,与收集和处理按钮按压事件数据相关联的控制操作,以及电子设备100中的其它功能等,本申请实施例不作限制。
电子设备100可以包括输入-输出电路150。输入-输出电路150可用于使电子设备100实现数据的输入和输出,即允许电子设备100从外部设备接收数据和也允许电子设备100将数据从电子设备100输出至外部设备。输入-输出电路150可以进一步包括传感器170。传感器170可以包括环境光传感器,基于光和电容的接近传感器,指纹识别模组,触摸传感器(例如,基于光触摸传感器和/或电容式触摸传感器,其中,触摸传感器可以是触控显示屏的一部分,也可以作为一个触摸传感器结构独立使用),加速度传感器,摄像头,和其它传感器等,摄像头可以为前置摄像头或者后置摄像头。
输入-输出电路150还可以包括一个或多个显示屏,例如显示屏130。显示屏130可以包括液晶显示屏,有机发光二极管显示屏,电子墨水显示屏,等离子显示屏,使用其它显示技术的显示屏中一种或者几种的组合。显示屏130可以包括触摸传感器阵列(即,显示屏130可以是触控显示屏)。触摸传感器可以是由透明的触摸传感器电极(例如氧化铟锡(ITO)电极)阵列形成的电容式触摸传感器,或者可以是使用其它触摸技术形成的触摸传感器,例如音波触控,压敏触摸,电阻触摸,光学触摸等,本申请实施例不作限制。
电子设备100还可以包括音频组件140。音频组件140可以用于为电子设备100提供音频输入和输出功能。电子设备100中的音频组件140可以包括扬声器,麦克风,蜂鸣器,音调发生器以及其它用于产生和检测声音的组件。
通信电路120可以用于为电子设备100提供与外部设备通信的能力。通信电路120可以包括模拟和数字输入-输出接口电路,和基于射频信号和/或光信号的无线通信电路。通信电路120中的无线通信电路可以包括射频收发器电路、功率放大器电路、低噪声放大器、开关、滤波器和天线。举例来说,通信电路120中的无线通信电路可以包括用于通过发射和接收近场耦合电磁信号来支持近场通信(Near Field Communication,NFC)的电路。例如,通信电路120可以包括近场通信天线和近场通信收发器。通信电路120还可以包括蜂窝电话收发器和天线,无线局域网收发器电路和天线等。
电子设备100还可以进一步包括电池,电力管理电路和其它输入-输出单元160。输入-输出单元160可以包括按钮,操纵杆,点击轮,滚动轮,触摸板,小键盘,键盘,照相机,发光二极管和其它状态指示器等。
用户可以通过输入-输出电路150输入命令来控制电子设备100的操作,并且可以使用输入-输出电路150的输出数据以实现接收来自电子设备100的状态信息和其它输出。
基于上述图1A所描述的电子设备,可以用于实现如下功能:
获取待移植模型;
确定所述电子设备对应的目标芯片类型;
根据预设的芯片类型与预设移植策略之间的映射关系,确定所述目标芯片类型对应的目标移植策略;
基于所述目标移植策略,将所述待移植模型移植到所述电子设备中。
如图1B所示,图1B是本申请实施例提供的一种模型移植方法的流程示意图,应用于如图1A所示的电子设备,所述方法包括:
101、获取待移植模型。
其中,目前不少开发者使用的TensorFlow Lite(tflite)引擎可以支持在电子设备的部署,上述tflite引擎是基于电子设备所做的深度学习推理引擎,在实际应用中,例如,在深度学习算法的推理过程中,基于硬件的优化比算法自身的优化带来的性能提升更为明显,因此,基于电子设备的芯片的深度学习推理速度更快,再者,由于大多数芯片厂商针对其硬件做了优化,如果想要达到更稳定更快速的效果,基于芯片厂商提供的框架进行模型的部署将更为合适,因此,可针对整个电子设备端,进行模型的移植,以便于构建更为稳定快速的电子设备端的深度学习引擎系统。
进一步地,上述待移植模型可包括以下至少一种:TensorFlow模型、深度学习容器(Deep learning container,DLC)模型、协议缓冲(ProtocolBuffer,PB)模型等等,在此不做限定;上述协议缓冲模型是一种表示模型结构的二进制文件,上述深度学习容器一种适用于高通芯片的模型文件,在利用电子设备进行深度学习的应用时,需要进行模型的移植,可获取待移植模型,将待移植模型移植到电子设备中,以适用于电子设备的操作环境。
在一种可能的示例中,在上述步骤101之前,在所述获取待移植模型之前,还可包括如下步骤:
A1、获取预设框架库,所述预设框架库中包括多个预设框架;
A2、确定所述电子设备对应的应用场景;
A3、根据所述应用场景,从所述多个预设框架中选取目标预设框架;
A4、基于所述目标预设框架,将预设网络模型转换为所述待移植模型。
其中,上述预设框架库可为用户自行设置或者系统默认,在此不做限定,上述预设框架库中可包括多个预设框架,该预设框架可包括以下至少一种:快速特征嵌入的卷积结构(Convolutional Architecture for Fast Feature Embedding,Caffe)框架、TensorFlow框架、PyTorch框架、keras框架等等,在此不做限定,上述Caffe框架是一个清晰而高效的深度学习框架;TensorFlow框架可支持异构设备分布式计算,它能够在各个平台上自动运行模型,上述PyTorch框架是一种基于Python的深度学习框架,其中包括多个机器学习模型,如朴素贝叶斯、支持向量机、卷积神经网络等;Keras框架是基于Theano的一个深度学习框架,也是一个高层神经网络API,上述框架均可用于不同的应用场景,例如,Keras框架可应用于图像分类或者图像识别等场景,TensorFlow框架可被用于语音识别或图像识别等多项深度学习应用场景;。
进一步地,上述预设网络模型可为用户自行设置或者系统默认,在此不做限定,例如,该预设网络模型可包括以下至少一种:MobileNet模型、ShuffleNet模型等等,在此不做限定,上述预设网络模型大多选取轻量级网络模型,上述MobileNet模型是基于一种使用深度可分割卷积去建立轻量型网络结构的流线型结构,上述ShuffleNet可通过分组卷积来降低计算量,通过重组通道来丰富各个通道的信息,如此,采用上述轻量级网络模型,有利于提高内部芯片的计算速度。
此外,上述应用场景可包括以下至少一种:图像识别、图像处理、语音识别、智能推荐等等,在此不作限定,由于上述不同的预设模型在不同的应用场景下有各自的优势,在不同应用时,可采用不同的预设模型,以达到更好的训练效果。
具体实现中,可确定电子设备当前状态下对应的应用场景,并根据该应用场景,从多个预设框架中匹配与该应用场景匹配的目标预设框架,例如,若当前的应用场景为图像识别应用场景,则可选取TensorFlow框架为目标预设框架,并基于该目标预设框架,将上述预设网络模型转换为待移植模型,转换为上述待移植模型有利于移植到电子设备中,如此,可根据不同的应用场景匹配目标预设框架,有利于避免模型不适配情况的发生。
可选地,上述步骤A4,基于所述目标预设框架,将预设网络模型转换为所述待移植模型,可包括如下步骤:
A41、基于所述目标预设框架,对所述预设网络模型进行训练,得到已训练网络模型;
A42、对所述已训练网络模型进行压缩处理,得到所述待移植模型。
其中,由于电子设备的计算资源远不如云端服务器等计算资源强劲,因此,需要对网络模型的大小进行一定限制,因此,在对预设网络模型进行训练的时候,需要尽量使用轻量级的目标预设框架。
另外,由于电子设备中的深度学习引擎可能不适应采用新的算子,因此,对于已训练网络模型需要进行一定程度的压缩处理,以得到上述待移植模型,例如,可采用模型剪枝的方式对上述已训练模型进行压缩处理,以挑选出已训练模型中不重要的参数,如此,可在保证上述模型性能的情况下,最大程度的压缩模型参数及运算量,有利于避免由于模型过大而无法进行模型移植的情况发生。
102、确定所述电子设备对应的目标芯片类型。
其中,不同芯片类公司研发出的芯片是不同的,不同的芯片类型的架构、计算能力、功耗等方面的特性也是不同的,因此,电子设备中装载的芯片的类型也可能不同,上述芯片类型可依据芯生产商来划分,例如,芯片类型可以包括以下至少一种:高通类型、联发科类型、三星类型、展讯类型等等,在此不做限定。
103、根据预设的芯片类型与预设移植策略之间的映射关系,确定所述目标芯片类型对应的目标移植策略。
其中,由于不同的芯片类型的架构、计算能力、功耗等方面的特性是不同的,因此,不同的芯片类型对应的深度学习的框架也不同,如此,电子设备可预设芯片类型与预设移植策略之间的映射关系,也就是说,可基于不同的芯片类型对应的架构、计算能力、功耗等方面的特性来预设不同的移植策略,该移植策略可由用户自行设置或者系统默认,最后,可确定该目标芯片类型对应的目标移植策略。
104、基于所述目标移植策略,将所述待移植模型移植到所述电子设备中。
其中,电子设备可基于选定的目标移植策略,将上述待移植模型从服务器端移植到电子设备中,如此,可实现到电子设备端的模型移植,有利于建立适合于电子设备且更加稳定快速的深度学习系统。
可选地,上述步骤104,若所述目标芯片类型为预设芯片类型,基于所述目标移植策略,将所述待移植模型移植到所述电子设备中,可包括如下步骤:
41、基于所述目标移植策略,将所述待移植模型转化为深度学习容器模型;
42、对所述深度学习容器模型进行量化处理,得到第一深度学习容器模型;
43、比较所述第一深度学习容器模型和所述待移植模型的性能,得到差异值;
44、若所述差异值在预设范围内,则对所述第一深度学习容器模型进行抽象封装,得到第一动态链接库;
45、若所述差异值不在所述预设范围内,则对所述对深度学习容器模型进行量化感知处理,得到第二深度学习容器模型,对所述第二深度学习容器模型进行抽象封装,得到第二动态链接库。
其中,上述预设范围可为用户自行设置或者系统默认,在此不做限定,上述预设芯片类型可为用户自行设置或者系统默认,在此不做限定,该预设芯片类型可包括以下至少一种:高通类型、联发科类型、三星类型、展讯类型等等,在此不做限定,由于不同的深度学习框架所对应的模型格式是不同的,上述目标移植策略主要用于将上述待移植模型转换为电子设备中目标芯片类型可应用的格式,并编译为适用于上述目标芯片类型的动态链接库,该动态链接库中可包括多个可执行代码的函数,如此,可实现将上述待移植模型移植到电子设备中。
具体实现中,若上述目标芯片类型满足预设芯片类型,例如,该预设芯片类型可预设为高通类型,则可将上述待移植模型转化为深度学习容器模型,该深度学习容器模型可为高通类型的芯片对应的模型文件,由于在电子设备端,对于模型的大小可能会更加严格,因此,可对上述深度学习容器模型进行量化处理,上述量化处理有利于压缩上述深度学习容器模型的大小,以去掉上述深度学习容器模型的不必要部分,得到第一深度学习容器模型。
进一步地,又由于上述量化处理,可能会对深度学习容器模型的性能产生影响,因此,可比较上述第一深度学习容器模型和上述待移植模型的性能,得到差异值,可通过该差异值判断上述第一深度学习容器模型的性能,具体实现中,若该差异值在预设范围内,则对第一深度学习容器模型进行抽象封装,该抽象封装实则是通过写代码,将第一深度学习容器模型封装为一些函数接口,得到第一动态链接库,该第一动态链接库为上述待移植模型移植后的具体体现,该动态链接库可包括so库等等,在此不作限定,该动态链接库可为调用者提供函数接口,例如,提供一些人脸表情识别函数,以判断人脸具体是什么表情,例如,可用于判断是开心、伤心、哭泣、惊讶或者愤怒等等,在此不作限定。
此外,若所述差异值不在所述预设范围内,则可对上述深度学习容器模型进行量化感知处理,得到第二深度学习容器模型,对第二深度学习容器模型进行抽象封装,得到第二动态链接库,具体实现中,上述抽象封装实则是通过写代码,将第二深度学习容器模型封装为一些函数接口,得到第二动态链接库,上述量化感知处理即在上述预设网络模型的训练过程中进行边量化边训练,以调整参数得到合适的第二深度学习容器模型,上述该第二动态链接库为上述待移植模型移植后的具体体现,如此,通过上述方法,有利于构建更为稳定的深度学习系统。
可选地,例如,若上述目标预设框架为TensorFlow模型,在完成预设网络模型的训练后,可导出PB模型。当上述目标芯片类型为高通类型时,可继续使用深度学习框架SNPE(Snapdragon Neural Processing Engine SDK,骁龙神经网络引擎SDK)进行PB模型到高通平台或者高通类型的芯片支持的格式,即深度学习容器(dlc)模型的转换。
可选地,上述步骤43,比较所述第一深度学习容器模型和所述待移植模型的性能,得到差异值,可包括如下步骤:
431、确定所述目标芯片类型对应的芯片架构;
432、依据所述芯片架构,对所述待移植模型的性能进行测试,得到第一测试结果,所述第一测试结果包括多个第一测试参数;
433、对所述第一深度学习容器模型的性能进行测试,得到第二测试结果,所述第二测试结果包括多个第二测试参数;
434、将所述多个第一测试参数与所述多个第二测试参数进行匹配,得到多个匹配度;
435、对所述多个匹配度取均值,得到所述差异值。
其中,电子设备中的CPU(central processing unit,中央处理器)的核心是各种类型的芯片,芯片架构是造芯的第一步,目前,主流的芯片架构有X86、ARM、RiSC-V和MIPS等等,不同的芯片架构,直接影响运算速度以及功耗,因此,可确定目标芯片类型对应的芯片架构,并根据该芯片架构,对待移植模型以及第一深度学习容器模型分别对应的性能进行测试,以得到两个模型之间的性能的差异值。
具体实现中,可针对不同的芯片架构预设其对应的性能测试的方法,例如,留出法,交叉验证法及自助法等等方法,可从以下几个方面测试上述两种模型的性能:模型参数所需占用的空间大小、运行时所需要占用的内存空间、模型的运行速度、以及模型的运行时带来的功耗等等方面的测试参数,如此,可得到待移植模型对应的多个第一测试参数,上述多个测试参数对应第一测试结果,以及,得到第一深度学习容器模型的多个第二测试参数参数,多个第二测试参数可构成第二测试结果,通过比较多个第一测试参数与多个第二测试参数之间大的匹配度,得到多个匹配度,为了得到一个性能的综合性的评价指标,可将上述多个匹配度取均值,得到一个平均值,该平均值即为上述差异值,如此,可通过针对不同的芯片架构选取不同的性能测试方法,有助于提高测试准确率。
可选地,如图1C所示,为一种模型移植系统的结构示意图,如图1C中所示,第一芯片类型和第二芯片类型为两种不同厂商对应的芯片类型,上述第一动态链接库和第三动态链接库也可为相同或不同的动态链接库,例如,均可为so库,该so库为一个程序函数库,在本申请实施例中,第一芯片类型可为高通类型,第二芯片类型可为联发科类型,由于不同厂商对应的芯片所适用的深度学习框架以及其所对应的模型格式是不同的,因此,可针对不同的芯片类型设定不同的移植策略。
具体实现中,如图1C中所示,针对第一芯片类型,可将待移植模型转换为深度学习容器模型,并经过量化处理,得到第一深度学习容器模型,最后对第一深度学习容器模型进行抽象封装,得到第一动态链接库,同样的,针对第二芯片类型,可将待移植模型转换为TensorFlow Lite模型,该TensorFlow Lite模型可运行在联发科类型的芯片对应的电子设备中,并经过量化处理,得到第一TensorFlow Lite模型,最后对该第一TensorFlow Lite模型进行抽象封装,得到第三动态链接库,如此,可针对不同的芯片类型的芯片实施不同的模型的移植策略,从而可针对电子设备中的不同的芯片实施不同的移植策略,以提高深度学习系统以及引擎在电子设备中的应用,可避免由于框架不支持、模型过大造成的而无法进行模型移植的情况,有利于减少资源的消耗。
可选地,在本申请实施例中,若上述目标预设框架为TensorFlow模型,在完成预设网络模型的训练后,可导出PB模型。当上述目标芯片类型为联发科类型时,可继续将PB模型转换为联发科平台或者联发科类型的芯片支持的格式,即TensorFlow Lite模型的转换。
可以看出,本申请实施例所描述的模型移植方法,电子设备可获取待移植模型,确定电子设备对应的目标芯片类型,根据预设的芯片类型与预设移植策略之间的映射关系,确定目标芯片类型对应的目标移植策略,基于目标移植策略,将待移植模型移植到电子设备中,如此,通过不同的芯片类型预设不同的移植策略,并通过目标移植策略,将待移植模型移植到电子设备中,可避免由于框架不支持、模型过大造成的而无法进行模型移植的情况,有利于减少资源的消耗。
与上述一致的,请参阅图2,图2是本申请实施例提供的一种模型移植方法的流程示意图,应用于电子设备,所述方法包括:
201、获取预设框架库,所述预设框架库中包括多个预设框架。
202、确定所述电子设备对应的应用场景。
203、根据所述应用场景,从所述多个预设框架中选取目标预设框架。
204、基于所述目标预设框架,将预设网络模型转换为所述待移植模型。
205、获取待移植模型。
206、确定所述电子设备对应的目标芯片类型。
207、根据预设的芯片类型与预设移植策略之间的映射关系,确定所述目标芯片类型对应的目标移植策略。
208、基于所述目标移植策略,将所述待移植模型移植到所述电子设备中。
其中,上述步骤201-208的具体实现过程可参照图1B所示的方法中相应的描述,在此不再赘述。
可以看出,本申请实施例所描述的模型移植方法,应用于电子设备,可获取预设框架库,预设框架库中包括多个预设框架,确定电子设备对应的应用场景,根据应用场景,从多个预设框架中选取目标预设框架,基于目标预设框架,将预设网络模型转换为待移植模型,获取待移植模型,确定电子设备对应的目标芯片类型,根据预设的芯片类型与预设移植策略之间的映射关系,确定目标芯片类型对应的目标移植策略,基于目标移植策略,将待移植模型移植到电子设备中,如此,可根据不同的应用场景匹配目标预设框架,有利于避免模型不适配情况的发生。
与上述一致的,请参阅图3,图3是本申请实施例提供的一种模型移植方法的流程示意图,应用于电子设备,所述方法包括:
301、获取待移植模型。
302、确定所述电子设备对应的目标芯片类型。
303、根据预设的芯片类型与预设移植策略之间的映射关系,确定所述目标芯片类型对应的目标移植策略。
304、基于所述目标移植策略,将所述待移植模型转化为深度学习容器模型。
305、对所述深度学习容器模型进行量化处理,得到第一深度学习容器模型。
306、比较所述第一深度学习容器模型和所述待移植模型的性能,得到差异值。
307、若所述差异值在预设范围内,则对所述第一深度学习容器模型进行抽象封装,得到第一动态链接库。
308、若所述差异值不在所述预设范围内,则对所述对深度学习容器模型进行量化感知处理,得到第二深度学习容器模型,对所述第二深度学习容器模型进行抽象封装,得到第二动态链接库。
其中,上述步骤301-308的具体实现过程可参照图1B所示的方法中相应的描述,在此不再赘述。
可以看出,本申请实施例所描述的模型移植方法,应用于电子设备,可获取预设框架库,预设框架库中包括多个预设框架,确定电子设备对应的应用场景,根据应用场景,从多个预设框架中选取目标预设框架,基于目标预设框架,将预设网络模型转换为待移植模型,获取待移植模型,确定电子设备对应的目标芯片类型,根据预设的芯片类型与预设移植策略之间的映射关系,确定目标芯片类型对应的目标移植策略,基于目标移植策略,将待移植模型移植到电子设备中,如此,可根据不同的应用场景匹配目标预设框架,有利于避免模型不适配情况的发生。
与上述一致的,如图4所示,图4是本申请实施例提供的一种电子设备的结构示意图,该电子设备包括存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
获取待移植模型;
确定所述电子设备对应的目标芯片类型;
根据预设的芯片类型与预设移植策略之间的映射关系,确定所述目标芯片类型对应的目标移植策略;
基于所述目标移植策略,将所述待移植模型移植到所述电子设备中。
可以看出,本申请实施例所描述的电子设备,可获取待移植模型,确定电子设备对应的目标芯片类型,根据预设的芯片类型与预设移植策略之间的映射关系,确定目标芯片类型对应的目标移植策略,基于目标移植策略,将待移植模型移植到电子设备中,如此,通过不同的芯片类型预设不同的移植策略,并通过目标移植策略,将待移植模型移植到电子设备中,可避免由于框架不支持、模型过大造成的而无法进行模型移植的情况,有利于减少资源的消耗。
在一种可能的示例中,若所述目标芯片类型为预设芯片类型,在所述基于所述目标移植策略,将所述待移植模型移植到所述电子设备中时,上述程序包括具体用于执行以下步骤的指令:
基于所述目标移植策略,将所述待移植模型转化为深度学习容器模型;
对所述深度学习容器模型进行量化处理,得到第一深度学习容器模型;
比较所述第一深度学习容器模型和所述待移植模型的性能,得到差异值;
若所述差异值在预设范围内,则对所述第一深度学习容器模型进行抽象封装,得到第一动态链接库;
若所述差异值不在所述预设范围内,则对所述对深度学习容器模型进行量化感知处理,得到第二深度学习容器模型,对所述第二深度学习容器模型进行抽象封装,得到第二动态链接库。
在一种可能的示例中,在所述比较所述第一深度学习容器模型和所述待移植模型的性能,得到差异值方面,上述程序包括具体用于执行以下步骤的指令:
确定所述目标芯片类型对应的芯片架构;
依据所述芯片架构,对所述待移植模型的性能进行测试,得到第一测试结果,所述第一测试结果包括多个第一测试参数;
对所述第一深度学习容器模型的性能进行测试,得到第二测试结果,所述第二测试结果包括多个第二测试参数;
将所述多个第一测试参数与所述多个第二测试参数进行匹配,得到多个匹配度;
对所述多个匹配度取均值,得到所述差异值。
在一种可能的示例中,在所述获取待移植模型之前,上述程序还包括具体用于执行以下步骤的指令:
获取预设框架库,所述预设框架库中包括多个预设框架;
确定所述电子设备对应的应用场景;
根据所述应用场景,从所述多个预设框架中选取目标预设框架;
基于所述目标预设框架,将预设网络模型转换为所述待移植模型。
在一种可能的示例中,在所述基于所述目标框架,将预设网络模型转换为所述待移植模型方面,上述程序还包括具体用于执行以下步骤的指令:
基于所述目标预设框架,对所述预设网络模型进行训练,得到已训练网络模型;
对所述已训练网络模型进行压缩处理,得到所述待移植模型。
需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。
上述实施例主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据所述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面为本申请装置实施例,本申请装置实施例用于执行本申请方法实施例所实现的方法。
请参阅图5A,图5A是本申请实施例提供的一种模型移植装置的结构示意图,应用于电子设备,所述装置包括:第一获取单元501、第一确定单元502和移植单元503,其中,
所述第一获取单元501,用于获取待移植模型;
所述第一确定单元502,用于确定所述电子设备对应的目标芯片类型;
所述第一确定单元502,还用于根据预设的芯片类型与预设移植策略之间的映射关系,确定所述目标芯片类型对应的目标移植策略;
所述移植单元503,用于基于所述目标移植策略,将所述待移植模型移植到所述电子设备中。
需要说明的是,第一获取单元501、第一确定单元502和移植单元503可通过处理器实现。
可以看出,本申请实施例所描述的模型移植装置,可获取待移植模型,确定电子设备对应的目标芯片类型,根据预设的芯片类型与预设移植策略之间的映射关系,确定目标芯片类型对应的目标移植策略,基于目标移植策略,将待移植模型移植到电子设备中,如此,通过不同的芯片类型预设不同的移植策略,并通过目标移植策略,将待移植模型移植到电子设备中,可避免由于框架不支持、模型过大造成的而无法进行模型移植的情况,有利于减少资源的消耗。
在一种可能的示例中,若所述目标芯片类型为预设芯片类型,在所述基于所述目标移植策略,将所述待移植模型移植到所述电子设备中方面,所述移植单元503具体用于:
基于所述目标移植策略,将所述待移植模型转化为深度学习容器模型;
对所述深度学习容器模型进行量化处理,得到第一深度学习容器模型;
比较所述第一深度学习容器模型和所述待移植模型的性能,得到差异值;
若所述差异值在预设范围内,则对所述第一深度学习容器模型进行抽象封装,得到第一动态链接库;
若所述差异值不在所述预设范围内,则对所述对深度学习容器模型进行量化感知处理,得到第二深度学习容器模型,对所述第二深度学习容器模型进行抽象封装,得到第二动态链接库。
在一种可能的示例中,在比较所述第一深度学习容器模型和所述待移植模型的性能,得到差异值方面,所述移植单元503具体还用于:
确定所述目标芯片类型对应的芯片架构;
依据所述芯片架构,对所述待移植模型的性能进行测试,得到第一测试结果,所述第一测试结果包括多个第一测试参数;
对所述第一深度学习容器模型的性能进行测试,得到第二测试结果,所述第二测试结果包括多个第二测试参数;
将所述多个第一测试参数与所述多个第二测试参数进行匹配,得到多个匹配度;
对所述多个匹配度取均值,得到所述差异值。
可选地,请参阅图5B,图5B是图5A所示的一种模型移植装置的变型结构,其与图5A相比较,还可以包括:第二获取单元504、第二确定单元505、选取单元506和转换单元507,其中,
所述第二获取单元504,用于获取预设框架库,所述预设框架库中包括多个预设框架;
所述第二确定单元505,用于确定所述电子设备对应的应用场景;
所述选取单元506,用于根据所述应用场景,从所述多个预设框架中选取目标预设框架;
所述转换单元507,用于基于所述目标预设框架,将预设网络模型转换为所述待移植模型。
在一种可能的示例中,在所述基于所述目标框架,将预设网络模型转换为所述待移植模型方面,上述转换单元507具体用于:
基于所述目标预设框架,对所述预设网络模型进行训练,得到已训练网络模型;
对所述已训练网络模型进行压缩处理,得到所述待移植模型。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (7)
1.一种模型移植方法,其特征在于,应用于电子设备,所述方法包括:
获取待移植模型;
确定所述电子设备对应的目标芯片类型;
根据预设的芯片类型与预设移植策略之间的映射关系,确定所述目标芯片类型对应的目标移植策略,其中,所述预设移植策略用于将所述待移植模型转换为所述电子设备中所述目标芯片类型可应用的格式,并编译为适用于所述目标芯片类型的动态链接库,所述动态链接库中包括多个可执行代码的函数,所述预设移植策略基于不同的所述芯片类型所对应的特性确定,所述特性包括不同的所述芯片类型的架构、计算能力、功耗;
基于所述目标移植策略,将所述待移植模型移植到所述电子设备中,具体包括:基于所述目标移植策略,将所述待移植模型转化为深度学习容器模型;对所述深度学习容器模型进行量化处理,得到第一深度学习容器模型;确定所述目标芯片类型对应的芯片架构;依据所述芯片架构,对所述待移植模型的性能进行测试,得到第一测试结果,所述第一测试结果包括多个第一测试参数;对所述第一深度学习容器模型的性能进行测试,得到第二测试结果,所述第二测试结果包括多个第二测试参数,其中,所述多个第一测试参数和/或所述多个第二测试参数包括以下一种或多种:模型参数所需占用的空间大小参数、运行时所述待移植模型所需要占用的内存空间参数、所述待移植模型的运行速度参数、以及所述待移植模型的运行时带来的功耗参数;
将所述多个第一测试参数与所述多个第二测试参数进行匹配,得到多个匹配度;对所述多个匹配度取均值,得到差异值;若所述差异值在预设范围内,则对所述第一深度学习容器模型进行抽象封装,得到第一动态链接库;
若所述差异值不在所述预设范围内,则对所述深度学习容器模型进行量化感知处理,得到第二深度学习容器模型,对所述第二深度学习容器模型进行抽象封装,得到第二动态链接库。
2.根据权利要求1所述的方法,其特征在于,在所述获取待移植模型之前,所述方法还包括:
获取预设框架库,所述预设框架库中包括多个预设框架;
确定所述电子设备对应的应用场景;
根据所述应用场景,从所述多个预设框架中选取目标预设框架;
基于所述目标预设框架,将预设网络模型转换为所述待移植模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标预设框架,将预设网络模型转换为所述待移植模型,包括:
基于所述目标预设框架,对所述预设网络模型进行训练,得到已训练网络模型;
对所述已训练网络模型进行压缩处理,得到所述待移植模型。
4.一种模型移植装置,其特征在于,应用于电子设备,所述装置包括:
第一获取单元,用于获取待移植模型;
第一确定单元,用于确定所述电子设备对应的目标芯片类型;
所述第一确定单元,还用于根据预设的芯片类型与预设移植策略之间的映射关系,确定所述目标芯片类型对应的目标移植策略,其中,所述预设移植策略用于将所述待移植模型转换为所述电子设备中所述目标芯片类型可应用的格式,并编译为适用于所述目标芯片类型的动态链接库,所述动态链接库中包括多个可执行代码的函数,所述预设移植策略基于不同的所述芯片类型所对应的特性确定,所述特性包括不同的所述芯片类型的架构、计算能力、功耗;
移植单元,用于基于所述目标移植策略,将所述待移植模型移植到所述电子设备中,具体包括:基于所述目标移植策略,将所述待移植模型转化为深度学习容器模型;对所述深度学习容器模型进行量化处理,得到第一深度学习容器模型;确定所述目标芯片类型对应的芯片架构;依据所述芯片架构,对所述待移植模型的性能进行测试,得到第一测试结果,所述第一测试结果包括多个第一测试参数;对所述第一深度学习容器模型的性能进行测试,得到第二测试结果,所述第二测试结果包括多个第二测试参数,其中,所述多个第一测试参数和/或所述多个第二测试参数包括以下一种或多种:模型参数所需占用的空间大小参数、运行时所述待移植模型所需要占用的内存空间参数、所述待移植模型的运行速度参数、以及所述待移植模型的运行时带来的功耗参数;以及,
将所述多个第一测试参数与所述多个第二测试参数进行匹配,得到多个匹配度;对所述多个匹配度取均值,得到差异值;若所述差异值在预设范围内,则对所述第一深度学习容器模型进行抽象封装,得到第一动态链接库;若所述差异值不在所述预设范围内,则对所述深度学习容器模型进行量化感知处理,得到第二深度学习容器模型,对所述第二深度学习容器模型进行抽象封装,得到第二动态链接库。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于获取预设框架库,所述预设框架库中包括多个预设框架;
第二确定单元,用于确定所述电子设备对应的应用场景;
选取单元,用于根据所述应用场景,从所述多个预设框架中选取目标预设框架;
转换单元,用于基于所述目标预设框架,将预设网络模型转换为所述待移植模型。
6.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-3任一项所述的方法中的步骤的指令。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010120445.9A CN111353608B (zh) | 2020-02-26 | 2020-02-26 | 模型移植方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010120445.9A CN111353608B (zh) | 2020-02-26 | 2020-02-26 | 模型移植方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111353608A CN111353608A (zh) | 2020-06-30 |
CN111353608B true CN111353608B (zh) | 2023-09-12 |
Family
ID=71195829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010120445.9A Active CN111353608B (zh) | 2020-02-26 | 2020-02-26 | 模型移植方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111353608B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930691B (zh) * | 2020-10-16 | 2021-01-12 | 北京美摄网络科技有限公司 | 一种模型调用方法、装置及系统 |
CN113408744A (zh) * | 2021-07-08 | 2021-09-17 | 山东浪潮科学研究院有限公司 | 基于AIot和TinyML技术的多传感器多环境监测方法 |
CN114281404B (zh) * | 2021-12-24 | 2023-03-24 | 科东(广州)软件科技有限公司 | 一种工控机算法代码的移植方法及装置 |
CN114330668A (zh) * | 2021-12-31 | 2022-04-12 | 成都商汤科技有限公司 | 模型处理方法、装置、电子设备和计算机存储介质 |
CN115600664B (zh) * | 2022-09-28 | 2024-03-08 | 美的集团(上海)有限公司 | 算子处理方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2007203291A1 (en) * | 2000-08-29 | 2007-08-02 | Genentech, Inc. | Methods for enhancing the efficacy of cancer therapy |
CN102622263A (zh) * | 2012-02-20 | 2012-08-01 | 烽火通信科技股份有限公司 | 机顶盒上基于嵌入式系统虚拟机的实现方法 |
CN107426432A (zh) * | 2017-07-31 | 2017-12-01 | 广东欧珀移动通信有限公司 | 资源配置方法及相关产品 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814937A (zh) * | 2017-11-20 | 2019-05-28 | 广东欧珀移动通信有限公司 | 应用程序预测模型建立、预加载方法、装置、介质及终端 |
CN108764487B (zh) * | 2018-05-29 | 2022-07-08 | 北京百度网讯科技有限公司 | 用于生成模型的方法和装置、用于识别信息的方法和装置 |
-
2020
- 2020-02-26 CN CN202010120445.9A patent/CN111353608B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2007203291A1 (en) * | 2000-08-29 | 2007-08-02 | Genentech, Inc. | Methods for enhancing the efficacy of cancer therapy |
CN102622263A (zh) * | 2012-02-20 | 2012-08-01 | 烽火通信科技股份有限公司 | 机顶盒上基于嵌入式系统虚拟机的实现方法 |
CN107426432A (zh) * | 2017-07-31 | 2017-12-01 | 广东欧珀移动通信有限公司 | 资源配置方法及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111353608A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353608B (zh) | 模型移植方法及相关设备 | |
CN110163367B (zh) | 一种终端部署方法和装置 | |
CN108430101B (zh) | 天线关闭方法、装置、存储介质和电子设备 | |
CN109241859B (zh) | 指纹识别方法及相关产品 | |
US10956783B2 (en) | Image processing method and apparatus | |
CN108268366B (zh) | 测试用例执行方法及装置 | |
CN108494957A (zh) | 天线切换方法、装置、存储介质和电子设备 | |
CN107317916B (zh) | 应用控制方法及相关产品 | |
CN107908407B (zh) | 编译方法、装置及终端设备 | |
CN110933312B (zh) | 拍照控制方法及相关产品 | |
CN113822322B (zh) | 图像处理模型训练方法及文本处理模型训练方法 | |
CN107992822A (zh) | 图像处理方法和装置、计算机设备、计算机可读存储介质 | |
CN109814930A (zh) | 一种应用加载方法、装置及移动终端 | |
CN108600516A (zh) | 数据采集方法、移动终端及计算机可读存储介质 | |
CN107577542A (zh) | 日志信息上报方法、装置、存储介质及移动终端 | |
CN107231461B (zh) | 指纹的采集方法及相关产品 | |
CN116881143A (zh) | 一种数据对象复制异常排查方法、装置、设备及存储介质 | |
CN108829600B (zh) | 算法库的测试方法、装置、存储介质和电子设备 | |
CN112989878A (zh) | 瞳孔检测方法及相关产品 | |
CN106484141A (zh) | 阈值的设置方法及移动终端 | |
CN115268921A (zh) | 一种编译方法和装置 | |
CN110532748B (zh) | 电池管理方法及相关产品 | |
CN111651313B (zh) | 识别卡的转换方法及系统、存储介质及终端设备 | |
CN111309605B (zh) | 终端测试方法、装置、存储介质及终端设备 | |
CN108021368B (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 |