CN116126354A - 模型部署方法、装置、电子设备以及存储介质 - Google Patents

模型部署方法、装置、电子设备以及存储介质 Download PDF

Info

Publication number
CN116126354A
CN116126354A CN202310085300.3A CN202310085300A CN116126354A CN 116126354 A CN116126354 A CN 116126354A CN 202310085300 A CN202310085300 A CN 202310085300A CN 116126354 A CN116126354 A CN 116126354A
Authority
CN
China
Prior art keywords
model
target
deployment
initial
training
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
Application number
CN202310085300.3A
Other languages
English (en)
Inventor
陈腊梅
王凡祎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202310085300.3A priority Critical patent/CN116126354A/zh
Publication of CN116126354A publication Critical patent/CN116126354A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Feedback Control In General (AREA)

Abstract

本申请公开了一种模型部署方法、装置、电子设备以及存储介质,涉及计算机技术领域。该方法包括:获取已训练的模型,其中,已训练的模型包括已训练的丢弃层;将已训练的丢弃层从已训练的模型中丢弃,获得目标模型;基于目标量化参数将目标模型的权重进行量化,获得部署模型;将部署模型部署在目标平台。本申请通过将已训练的模型中包括的丢弃层丢弃后再量化模型,提高了模型量化的精度,增加了模型的鲁棒性,也减少了模型在端侧量化的精度和理论量化精度的差异。

Description

模型部署方法、装置、电子设备以及存储介质
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种模型部署方法、装置、电子设备以及存储介质。
背景技术
随着科学技术的发展,人工神经网络正向模拟人类认知的道路上更加深入的发展。目前,深度学习等神经网络在具体应用时,需要各个方面的工程技术协作;其中,模型的部署方案关系着模型是如何被程序所使用的,它在整个神经网络学习应用场景中起着十分关键的作用。相关技术中,神经网络的训练与部署面对的环境不同,神经网络的部署要求更加高效的性能。
发明内容
鉴于上述问题,本申请提出了一种模型部署方法、装置、电子设备以及存储介质,可以通过将已训练的模型中包括的丢弃层丢弃后再量化模型,提高模型量化的精度,增加模型的鲁棒性,以及减少模型在端侧量化的精度和理论量化精度的差异。
第一方面,本申请实施例提供了一种模型部署方法,所述方法包括:获取已训练的模型,其中,所述已训练的模型包括已训练的丢弃层;将所述已训练的丢弃层从所述已训练的模型中丢弃,获得目标模型;基于目标量化参数将所述目标模型的权重进行量化,获得部署模型;将所述部署模型部署在目标平台。
第二方面,本申请实施例提供了一种模型部署装置,所述装置包括:已训练的模型获取模块、丢弃层丢弃模块、模型量化模块以及模型部署模块。其中,已训练的模型获取模块,用于获取已训练的模型,其中,所述已训练的模型包括已训练的丢弃层;丢弃层丢弃模块,用于将所述已训练的丢弃层从所述已训练的模型中丢弃,获得目标模型;模型量化模块,用于基于目标量化参数将所述目标模型的权重进行量化,获得部署模型;模型部署模块,用于将所述部署模型部署在目标平台。
第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
本申请实施例提供的模型部署方法、装置、电子设备以及存储介质,通过获取已训练的模型,其中,已训练的模型包括已训练的丢弃层;将已训练的丢弃层从已训练的模型中丢弃,获得目标模型;基于目标量化参数将目标模型的权重进行量化,获得部署模型;将部署模型部署在目标平台,进而通过将已训练的模型中包括的丢弃层丢弃后再量化模型,提高了模型量化的精度,增加了模型的鲁棒性,也减少了模型在端侧量化的精度和理论量化精度的差异。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本申请一实施例提供的模型部署方法的流程示意图;
图2示出了本申请一实施例提供的模型部署方法的流程示意图;
图3示出了本申请一实施例提供的模型部署方法的流程示意图;
图4示出了本申请一实施例提供的模型部署方法的流程示意图;
图5示出了本申请一实施例提供的模型部署方法的流程示意图;
图6示出了本申请一实施例提供的模型部署方法的流程示意图;
图7示出了本申请一实施例提供的模型部署装置的模块框图;
图8示出了本申请实施例用于执行根据本申请实施例的模型部署方法的电子设备的框图;
图9示出了本申请实施例的用于保存或者携带实现根据本申请实施例的模型部署方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为更好的说明本申请提供的技术方案,下面对本申请实施例中涉及的专业性名词进行介绍:
卷积神经网络(Convolutional Neural Network,CNN),是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer),其中,卷积神经网络的网络结构包括:卷积层、线性整流层、池化层、损失函数层。与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更好的结果;这一模型也可以使用反向传播算法进行训练,较其他深度、前馈神经网络,卷积神经网络需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。
量化,将高精度的运算转化成低精度上进行,例如float32转化成int8。
反量化,将量化后的低精度数进行反映射回高精度,例如int8转化成float32。
训练后量化(Post Training Quantization,PTQ),对预训练后的网络选择合适的量化操作和校准操作,以实现量化损失的最小化,该过程不需要训练,通常不直接更新权重原始数值而是选用合适的量化参数。
量化感知训练(Quantization Aware Trainging,QAT),指在模型训练时给网络添加伪量化节点,仿真量化过程。
伪量化节点,指量化感知训练中插入的节点,用以寻找网络数据分布,并反馈损失精度。在MindSpore中,一般会在权重、激活、网络输入输出等地方插入伪量化节点,其具体作用如下:找到输入、权重等待量化数据的分布,找到待量化数据的最大和最小值;模拟量化到低比特操作的时候的精度损失,把该损失作用到网络模型中,传递给损失函数,让优化器在训练过程中对该损失值进行优化。
丢弃层(dropout layer),是CNN训练中常用的网络层,表示对输入的数据以概率P进行随机剔除,具有防止过拟合增强模型鲁棒性的功能。
目前,模型的部署方案关系着模型是如何被程序所使用的,它在整个神经网络学习应用场景中起着十分关键的作用;对于大部分部署在端上平台(如,手机平台、端侧GPU平台等)的CNN都需要量化。示例性的,手机平台上应用于高通芯片上的骁龙神经处理引擎(Snapdragon Neural Processing Engine,SNPE)、联发科芯片的人工智能平台NeuroPilot以及端侧GPU平台优化器TensorrT等,为避免模型处理数据的时延过长、把模型高效部署到平台以及提高模型数据处理的效率,需要将部署到平台的模型进行量化。
相关文献《Li,Y.,et al."MQBench:Towards Reproducible and DeployableModel Quantization Benchmark."2021.》论文中探讨了QAT理论(Academic)精度和实际部署精度的差异。请参阅表1,表1示出了QAT理论(Academic)精度与实际部署精度的精度。
表1
Figure BDA0004074738040000031
其中,不同模型在SNPE平台上量化和理论量化精度上使用不同的QAT算法均存在一定的差异,如表1中使用LSQ算法,MobileNetV2理论量化精度和部署在SNPE平台上量化的精度差异是4.3个百分点。
另外,相关技术中,存在利用dropout来优化PTQ精度的技术,通过在模型训练完成后,在量化权重时将激活也考虑进去,随机丢失激活让量化的模型更加平缓,精度更高,也即在量化训练完成后利用dropout优化PTQ精度,但是该方法模型的鲁棒性较低。
因此,相关技术中,神经网络模型量化存在部署在端侧的量化精度与理论量化精度差异大,以及模型鲁棒性不高的问题。
针对上述问题,发明人经过长期的研究发现,并提出了本申请实施例提供的模型部署方法、装置、电子设备以及存储介质,通过将已训练的模型中包括的丢弃层丢弃后再量化模型,提高模型量化的精度,增加模型的鲁棒性,以及减少模型在端侧量化的精度和理论量化精度的差异。其中,具体的模型部署方法在后续的实施例中进行详细的说明。
请参阅图1,图1示出了本申请一实施例提供的模型部署方法的流程示意图。该模型部署方法通过将已训练的模型中包括的丢弃层丢弃后再量化模型,提高模型量化的精度,增加模型的鲁棒性,以及减少模型在端侧量化的精度和理论量化精度的差异。在具体的实施例中,该模型部署方法可以应用于如图7所示的模型部署装置200以及配置有模型部署装置200的电子设备100(图8)。下面将以电子设备为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的电子设备可以包括智能手机、平板电脑、穿戴式电子设备等,在此不做限定。下面将针对图1所示的流程进行详细的阐述,所述模型部署方法具体可以包括以下步骤:
步骤S110:获取已训练的模型,其中,所述已训练的模型包括已训练的丢弃层。
在一些实施方式中,电子设备中可以预先设置有已训练的模型,电子设备也可以通过无线通信技术(如,WiFi、蓝牙、zigbee技术等)从相关联的云端或电子设备获得已训练的模型,还可以通过串口通信接口(如,串行外设接口等)从相关联的电子设备获得已训练的模型。
其中,已训练的模型可以是MobileNet模型、ResNet模型、RegNet模型、EfficientNet模型等;其中,在模型中添加丢弃层,对模型训练的过程中也可以对丢弃层进行训练;进一步的,已训练的模型中可以包括已训练的。
其中,已训练的模型中可以包括已训练的丢弃层,已训练的丢弃层可以在已训练的模型的全连接层、也可以在已训练的模型的卷积层、线性整流层、池化层、损失函数层、已训练的模型中各个网络层等。
其中,已训练的模型可以用于图像处理、也可以用于文字处理、还可以用于语音处理等。示例性的,已训练的模型可以用于图像分类、图像目标检测等。
需要说明的是,在模型中添加丢弃层可以防止在模型的训练阶段过拟合。其中,丢弃层的工作流程可以分为学习阶段(训练阶段)和测试阶段。其中,在训练阶段,丢弃层可以以概率p主动临时性地忽略掉部分隐藏节点,算法步骤包括:1.随机(临时)删掉网络中的一些隐藏神经元;其中,输入输出神经元通常保持不变;2.把输入网络的训练样本通过修改后的网络前向传播,删除的神经元不进行前向传播,传给下一层的值是0,然后把得到的损失结果通过修改后的网络反向传播;预设数量的训练样本执行完这个过程后就按照随机梯度下降法更新没有被删除的神经元对应的参数(权重,偏差);3.恢复被删掉的神经元,此时被删除的神经元保持原样,而没有被删除的神经元已经有所更新;4.不断重复上述过程1,2,3的步骤。
其中,在测试阶段,可以将丢弃层中参与学习的节点和被隐藏的节点以一定的概率p加权求和,综合计算得到网络的输出,预测的时候,每一个单元的参数要预乘以p。
其中,Dropout技术防止过拟合的工作原理可以包括在数据层面以及模型层面。在数据层面,对于每一个dropout后的网络,进行训练时,相当于做了数据增强。比如,对于某一层,丢弃一些单元后,形成的结果是(1.5,0,2.5,0,1,2,0),其中0是被丢弃的单元,那么总能找到一个样本,使得结果也是如此。这样每一次丢弃其实都相当于增加了样本。在模型层面,在较大程度上减小了网络的大小:在这个“残缺”的网络中,让神经网络学习数据中的局部特征(即部分分布式特征),但这些特征也足以进行输出正确的结果。另外,由学习阶段可知,每一次训练都会按keep_probability=p来保留每个神经元,这意味着每次迭代过程中,随机删除一些神经元,这就意味着在多个“残缺”的神经网络中,每次都进行随机的特征选择,进而使得模型的泛化能力更加健壮,增大了模型的鲁棒性。
其中,模型中添加的丢弃层对应的可以包括丢弃比例,也即主动临时性地忽略掉部分隐藏节点的概率(如,50%、60%等)。可以理解的是,为保证模型的准确性以及训练模型的效率,在模型的各个网络层中添加丢弃层时,对应的丢弃层的丢弃比例小于比例阈值,以保证在训练模型的过程中模型损失值下降的速率。
步骤S120:将所述已训练的丢弃层从所述已训练的模型中丢弃,获得目标模型。
在一些实施方式中,电子设备获得已训练的模型后,可以将已训练的丢弃层从已训练的模型中丢弃,获得目标模型。其中,目标模型可以理解为去掉了已训练的丢弃层的已训练的模型。需要说明的是,部署至平台的模型可以不包括丢弃层,其中,丢弃层添加至模型通常是用于在训练模型的过程中提高模型的鲁棒性、泛化能力。
步骤S130:基于目标量化参数将所述目标模型的权重进行量化,获得部署模型。
在一些实施方式中,电子设备获得目标模型后,可以基于目标量化参数将目标模型的权重进行量化,获得部署模型。其中,部署模型可以理解为部署至平台的模型。
在一些实施方式中,已训练的模型部署至目标平台的部署方式可以为训练后量化方式,可选地,电子设备可以从获得该已训练的模型的训练数据中获取预设数量的训练数据作为校准数据,并将校准数据输入已训练的模型中进行前向运算数据校准,获得对应已训练的模型的目标量化参数。进一步的,电子设备可以基于该目标量化参数将已训练的模型中的权重由浮点数转换为量化后的整数,量化后的已训练的模型也即部署模型。
在一些实施方式中,已训练的模型部署至目标平台的部署方式可以为量化感知训练方式获得,其中,获得该已训练的模型的过程中可以获得基于量化感知训练方式获得的已训练的模型的量化参数,并将该量化参数作为目标量化参数。进一步的,电子设备可以基于该目标量化参数将已训练的模型中的权重由浮点数转换为量化后的整数,获得量化后的已训练的模型也即部署模型。
步骤S140:将所述部署模型部署在目标平台。
在一些实施方式中,电子设备获得部署模型后,可以将部署模型部署在目标平台上。其中,目标平台可以是手机平台(如,应用于高通芯片上的SNPE(Snapdragon NeuralProcessing Engine)和联发科芯片的NeuroPilot)、端侧GPU平台(如,NVIDAI公司的TensorrT等)等。
在一些实施方式中,电子设备可以根据目标平台的类型,获得部署至目标平台的模型要求的目标格式(如,.js格式、.css格式、.html格式、.ts格式、.vue格式等),并进一步的将部署模型转换为对应的目标格式部署至目标平台。
其中,模型在目标平台的部署方式可以是训练后量化的方式,也可以是量化感知训练的方式。可以理解的是,本申请提供的实施例可以在PTQ和QAT上应用,在不大幅改变模型训练过程的前提下,在模型中添加丢弃层缓解模型过拟合现象,并且在将模型量化部署至平台前将丢弃层去掉,提高了模型量化精度,减少了模型理论量化精度和端侧量化精度差异,提高了模型部署至端侧的量化精度。
本申请一实施例提供的模型部署方法,通过获取已训练的模型,其中,已训练的模型包括已训练的丢弃层;将已训练的丢弃层从已训练的模型中丢弃,获得目标模型;基于目标量化参数将目标模型的权重进行量化,获得部署模型;将部署模型部署在目标平台。本申请通过将已训练的模型中包括的丢弃层丢弃后再量化模型,提高了模型量化的精度,增加了模型的鲁棒性,也减少了模型在端侧量化的精度和理论量化精度的差异。
请参阅图2,图2示出了本申请一实施例提供的模型部署方法的流程示意图。该方法应用于上述电子设备,下面将针对图2所示的流程进行详细的阐述,所述模型部署方法具体可以包括以下步骤:
步骤S210:获取已训练的模型,其中,所述已训练的模型包括已训练的丢弃层。
在一些实施方式中,电子设备中可以预先设置有初始模型,进一步的,电子设备可以获取训练数据集对该初始模型进行训练获得已训练的模型。其中,初始模型中可以包括初始丢弃层;对初始模型进行训练的过程中也可以对初始丢弃层进行训练,进一步的,电子设备获得已训练的模型的同时也可以获得已训练的丢弃层。
在一些实施方式中,步骤S210可以包括步骤S2110-步骤S2130。
步骤S2110:基于目标任务确定初始模型,其中,所述初始模型中包括基于预设方式插入的初始丢弃层。
在一些实施方式中,电子设备中可以预先设置有不同任务类型对应的初始模型;其中,任务类型可以包括图像分类任务、图像中目标检测任务、部署在端侧的模型、不是部署在端侧的模型等;初始模型可以包括MobileNet模型、ResNet模型、RegNet模型、EfficientNet模型等。
进一步的,电子设备可以获取目标任务,并根据目标任务的类型确定对应的初始模型。示例性的,若目标任务的任务类型为部署在端侧的模型,进一步的,考虑到端侧资源的限制,部署在端侧的模型对应初始模型可以为规模小于预设规模的模型,如,MobileNet模型等;若目标任务的任务类型为不是部署在端侧的模型,进一步的,考虑到提高模型数据处理的精度,部署在端侧的模型对应初始模型可以为规模大于或等于预设规模的模型,如,ResNet模型等。
可选的,电子设备可以通过无线通信技术从相关联的云端获得目标任务;电子设备也可以通过串口通信接口相关联的电子设备获得目标任务;电子设备可以包括按键、屏幕等,其中,屏幕可以用于显示任务输入界面;电子设备还可以通过检测电子设备包括的按键的按压情况或者电子设备包括的屏幕的按压情况获得用户输入的目标任务。进一步的,电子设备可以基于目标任务确定初始模型,如,图像处理任务对应的初始模型为AlexNet模型,文字处理任务对应的初始模型为Transformer模型等。
在一些实施方式中,初始模型中可以包括初始丢弃层;其中,该初始丢弃层可以基于预设方式插入该初始模型。其中,电子设备中可以预先设置有预设方式,其中,该预设方式可以包括在模型最后的全连接层添加丢弃层,也可以包括随机在模型中添加丢弃层,还可以基于丢弃层添加比例在模型中与添加比例数量相同的卷积层后面添加丢弃层,还可以在模型所有的网络层添加丢弃层。
在一些实施方式中,步骤S2110可以包括步骤S2111-步骤S2113。
步骤S2111:基于所述目标任务确定任务模型。
在一些实施方式中,电子设备可以基于目标任务确定任务模型,也可以理解为电子设备根据目标任务设计卷积神经网络结构,如,MobileNet模型、ResNet模型、RegNet模型、EfficientNet模型等。
步骤S2112:确定所述任务模型的部署方式,其中,所述部署方式包括训练后量化方式或者量化感知训练方式。
在一些实施方式中,电子设备中可以预先设置有不同任务模型对应的部署方式;其中,模型的部署方式可以包括训练后量化方式、量化感知训练方式等。示例性的,MobileNet模型对应的部署方式为训练后量化方式;电子设备中也可以设置有与任务模型的规模对应的部署方式,如,任务模型的规模大于或等于规模阈值,则可以基于量化感知训练方式部署模型;任务模型的规模小于规模阈值,则可以基于训练后量化方式部署模型。
进一步的,电子设备获得任务模型后可以确定该任务模型对应的部署方式,其中,部署方式包括训练后量化方式或者量化感知训练方式。
步骤S2113:基于所述部署方式在所述任务模型中插入所述初始丢弃层,获得所述初始模型。
在一些实施方式中,电子设备确定任务模型的部署方式后,可以基于部署方式在任务模型中插入初始丢弃层,获得初始模型。其中,电子设备在任务模型中插入初始丢弃层的同时可以设置丢弃层对应的丢弃比例。
在一些实施方式中,步骤S2113可以包括步骤S1131。
步骤S1131:若所述部署方式为所述训练后量化方式,则基于第一预设方式在所述任务模型中插入所述初始丢弃层,并设置所述初始丢弃层的丢弃比例,获得所述初始模型。
在一些实施方式中,若电子设备确定任务模型的部署方式为训练后量化方式,也即本申请实施例提供的模型部署方法应用于PTQ中,则基于第一预设方式在任务模型中插入初始丢弃层,并设置初始丢弃层的丢弃比例,获得初始模型。
其中,第一预设方式可以是在模型最后的全连接层添加丢弃层,也可以是随机在模型中添加丢弃层,还可以是基于丢弃层添加比例在模型中与添加比例数量相同的卷积层后面添加丢弃层,还可以是在模型所有的网络层添加丢弃层,本申请实施例在此不作限定。
在一些实施方式中,步骤S2113可以包括步骤S1132。
步骤S1132:若所述部署方式为所述量化感知训练方式,则基于第二预设方式在所述任务模型中插入所述初始丢弃层和伪量化节点,并设置所述初始丢弃层的丢弃比例,获得所述初始模型。
在一些实施方式中,若电子设备确定任务模型的部署方式为量化感知训练方式,也即本申请实施例提供的模型部署方法应用于QAT中,则基于第二预设方式在任务模型中插入初始丢弃层和伪量化节点,并设置初始丢弃层的丢弃比例,获得初始模型。
其中,第二预设方式可以是在模型最后的全连接层添加丢弃层,也可以是随机在模型中添加丢弃层,还可以是基于丢弃层添加比例在模型中与添加比例数量相同的卷积层后面添加丢弃层,还可以是在模型所有的网络层添加丢弃层,本申请实施例在此不作限定。其中,第二预设方式可以与第一预设方式相同也可以不同,在此不作限定。
步骤S2120:获取训练数据集,其中,所述训练数据集中包括多个训练数据。
在一些实施方式中,电子设备中可以预先设置有训练数据集,电子设备也可以通过无线通信技术从相关联的云端或电子设备获得训练数据集,还可以通过串口通信接口获得训练数据集。其中,该训练数据集中包括多个训练数据,其中,训练数据可以包括图像数据、文字数据、语音数据等,在此不作限定。
步骤S2130:基于所述训练数据集训练所述初始模型,获得所述已训练的模型。
在一些实施方式中,电子设备获得训练数据集后,可以基于训练数据集训练初始模型,获得已训练的模型。其中,电子设备可以将训练数据输入初始模型,基于初始模型对训练数据正向传播计算的结果,对初始模型进行反向传递,更新初始模型的参数,直至基于训练数据迭代训练初始模型达到迭代阈值或者基于训练数据集训练初始模型的轮次达到预设轮次,则确定模型训练完成,获得已训练的模型,并将该已训练的模型保存,或者将该已训练的模型发送至相关联的云端或电子设备。
在一些实施方式中,步骤S2130可以包括步骤S2131-步骤S2133。
步骤S2131:对所述训练数据进行预处理,获得标准数据。
在一些实施方式中,电子设备获得训练数据集后,可以对训练数据集中的训练数据进行预处理,获得标准数据。其中,电子设备对训练数据预处理可以是对训练数据进行数据增强、随机添加噪声、图像翻转、图像缩放、随机剪裁等,在此不做限定。
在一些实施方式中,步骤S2131可以包括步骤1311。
步骤1311:对所述训练数据进行归一化处理、图像缩放处理、随机剪裁处理中的至少一种处理,获得所述标准数据。
在一些实施方式中,电子设备获得训练数据集后,可以确定训练数据的类型,并根据训练数据的类型确定对训练数据处理的方式。其中,训练数据的类型可以包括图像类型、文字类型、语音类型等。
可选的,电子设备确定训练数据的类型为图像类型后,可以对训练数据进行归一化处理、图像缩放处理、随机剪裁处理中的至少一种处理,获得标准数据。
步骤S2132:将所述标准数据输入所述初始模型,获得所述初始模型正向传播的测试结果。
在一些实施方式中,电子设备获得标准数据后,可以将标准数据输入初始模型,获得初始模型正向传播的测试结果。其中,将标准数据输入初始模型,获得初始模型正向传播的测试结果,可以是将标准数据输入初始模型,获得初始模型对标准数据执行目标任务获得的测试结果。
其中,初始模型对训练数据执行目标任务获得的测试结果可以是,初始模型对标准数据执行图像分类任务获得的标准数据对应的类型(如,人物图像、风景图像等),也可以是初始模型对标准数据执行图像分割任务获得的对标准数据进行图像分割的结果,还可以是初始模型对标准数据执行图像中目标检测任务获得的标准数据中目标的位置,在此不作限定。
步骤S2133:基于所述测试结果对所述初始模型进行反向传播,更新所述初始模型的参数,并返回执行所述将所述标准数据输入所述初始模型,获得所述初始模型正向传播的测试结果,以及基于所述测试结果对所述初始模型进行反向传播,更新所述初始模型的参数的步骤,直至训练所述初始模型的次数达到预设训练次数或者基于所述训练数据集训练所述初始模型的轮次达到预设轮次,获得所述已训练的模型。
在一些实施方式中,电子设备获得初始模型基于标准数据正向传播的测试结果后,可以基于该测试结果对初始模型进行反向传播,更新初始模型的参数,并返回执行将标准数据输入初始模型,获得初始模型正向传播的测试结果,以及基于测试结果对初始模型进行反向传播,更新初始模型的参数的步骤,直至训练初始模型的次数达到预设训练次数或者基于训练数据集训练初始模型的轮次达到预设轮次,获得已训练的模型。
其中,训练初始模型的过程可以包括将标准数据输入初始模型,获得初始模型正向传播的测试结果,以及基于该测试结果对初始模型进行反向传播更新模型的权重的步骤。
可选的,电子设备中可以预先设置有预设训练次数,其中,该预设训练次数可以理解为最大迭代次数;进一步的,训练初始模型的次数达到该预设训练次数时,可以确定模型训练完成,进一步的,电子设备可以获得已训练的模型,并可以将该已训练的模型保存或者发送至相关联的云端或电子设备。
可选的,电子设备中可以预先设置有预设轮次,其中,该预设轮次可以理解为最大轮次;进一步的,电子设备基于训练数据集训练初始模型的轮次达到预设轮次时,可以确定模型训练完成,进一步的,电子设备可以获得已训练的模型,并可以将该已训练的模型保存或者发送至相关联的云端或电子设备。
示例性的,请参阅图3,其示出了获得通过PTQ部署的已训练的模型的流程示意图。其中,电子设备可以基于目标任务确定任务模型,也即根据任务设计卷积神经网络结构,同时电子设备在确定任务模型的部署方式为训练后量化方式后,则基于第一预设方式在任务模型中插入初始丢弃层,并设置初始丢弃层的丢弃比例,获得初始模型,也即在网络中随机插入丢弃层,并设置丢弃比例。
进一步的,电子设备获得训练数据集后,可以对训练数据进行预处理,获得标准数据,并将标准数据输入初始模型,获得初始模型正向传播的测试结果,也即对训练数据预处理并导入网络中,网络完成正向传播计算。进一步的,电子设备可以基于测试结果对初始模型进行反向传播,更新初始模型的参数,也即网络反向传递,更新模型权重。进一步的,电子设备可以返回执行将标准数据输入初始模型,获得初始模型正向传播的测试结果,以及基于测试结果对初始模型进行反向传播,更新初始模型的参数的步骤,直至训练初始模型的次数达到预设训练次数或者基于训练数据集训练初始模型的轮次达到预设轮次,获得已训练的模型,也即达到最大迭代次数或最大轮次,训练完成,保存模型。
示例性的,请参阅图4,其示出了获得通过QAT部署的已训练的模型的流程示意图。其中,电子设备可以基于目标任务确定任务模型,也即根据任务设计卷积神经网络,同时电子设备在确定任务模型的部署方式为量化感知训练方式后,则基于第二预设方式在任务模型中插入初始丢弃层和伪量化节点,并设置初始丢弃层的丢弃比例,获得初始模型,也即在网络中随机插入伪量化节点和丢弃层,并设置丢弃比例。
进一步的,电子设备获得训练数据集后,可以对训练数据进行预处理,获得标准数据,并将标准数据输入初始模型,获得初始模型正向传播的测试结果,也即对训练数据预处理并导入网络中,网络完成正向传播计算。进一步的,电子设别可以基于测试结果对初始模型进行反向传播,更新初始模型的参数,也即网络反向传递,更新模型权重。进一步的,电子设备可以返回执行将标准数据输入初始模型,获得初始模型正向传播的测试结果,以及基于测试结果对初始模型进行反向传播,更新初始模型的参数的步骤,直至训练初始模型的次数达到预设训练次数或者基于训练数据集训练初始模型的轮次达到预设轮次,获得已训练的模型,也即达到最大迭代次数或最大轮次,训练完成,保存模型。
其中,通过训练后量化方式部署已训练的模型的预设训练次数与通过量化感知训练方式部署已训练的模型的预设训练次数可以相同也可以不同;通过训练后量化方式部署已训练的模型的预设轮次与通过量化感知训练方式部署已训练的模型的预设轮次可以相同也可以不同,在此不作限定。
步骤S220:将所述已训练的丢弃层从所述已训练的模型中丢弃,获得目标模型。
其中,关于步骤S220的具体描述请参阅前文对步骤S120的具体描述,在此不再详细赘述。
步骤S230:基于目标量化参数将所述目标模型的权重进行量化,获得部署模型。
在一些实施方式中,电子设备将已训练的丢弃层从已训练的模型中丢弃,获得目标模型后,可以基于目标量化参数将目标模型的权重进行量化,获得部署模型。其中,电子设备中可以预先设置有目标量化参数,也可以通过无线通信技术从相关联的云端或电子设备获得目标量化参数,还可以是通过串口通信接口从相关联的电子设备获得目标量化参数。
在一些实施方式中,电子设备可以基于已训练的模型对应的部署方式,获得目标量化参数。其中,部署方式可以包括训练后量化方式或者量化感知训练方式。进一步的,电子设备获得目标量化参数后,可以基于目标量化参数将目标模型的权重进行量化,获得部署模型。
其中,基于目标量化参数将目标模型的权重进行量化可以是基于目标量化参数将目标模型的权重由浮点数转换为量化后的整数,进而减小模型大小,减小模型执行任务时内存占用,加快模型推理速度,以及提高模型部署的精度。
在一些实施方式中,在步骤S230之前可以包括步骤S231。
步骤S231:若所述部署方式为所述训练后量化方式,则获取校准数据集,并基于所述校准数据集对所述目标模型进行数据校准,获得所述目标量化参数,其中,所述校准数据集中包括多个校准数据。
在一些实施方式中,若电子设备确定目标模型对应的部署方式为训练后量化方式,则可以获取校准数据集,并基于校准数据集对目标模型进行数据校准,获得目标量化参数。其中,校准数据集中包括多个校准数据。
可选的,电子设备获取校准数据集的方式可以是,从训练初始模型获得已训练的模型的训练数据集中获取预设校准数量的训练数据作为校准数据构成校准数据集。示例性的,预设校准数量为一百万,训练数据集中包括多张图片,也即多个训练数据;电子设备可以从训练数据集中随机抽取一百万图片作为校准数据,构成校准数据集。电子设备获取校准数据集的方式也可以是,从相关联的云端或电子设备获得预设校准数量的与训练数据的类型相同的数据作为校准数据,构成校准数据集。其中,训练数据的类型可以包括图片类、文字类、音频类等。
其中,基于校准数据集对目标模型进行数据校准,获得目标量化参数可以是,将多个校准数据输入目标模型,获得目标模型前向传播激活的目标参数(如,min-max最小-最大值),并将该目标参数作为目标量化参数。其中,目标量化参数可以是对应MinMax量化方式的量化参数,也可以是对应KLD量化方式的量化参数,也可以是对应ADMM量化方式的量化参数,还可以是对应EQ量化方式的量化参数,在本申请实施方式中,目标量化参数对应的量化方式,在此不作限定。
在一些实施方式中,在步骤S230之前可以包括步骤S232。
步骤S231:若所述部署方式为所述量化感知训练方式,则获取基于所述量化感知训练方式获得的所述已训练的模型的量化参数,并将所述量化参数作为所述目标量化参数。
在一些实施方式中,考虑到提高部署至平台的模型量化的精度,已训练的模型可以基于量化感知训练方式部署;其中,量化感知训练方式可以包括PACT方式、Dorefa方式、LSQ方式等。可以理解的是,由于通过量化感知训练方式部署已训练的模型的过程中包括对模型进行量化和反量化,进而可以确定获得已训练的模型对应的量化参数作为目标量化参数,进而提高模型量化的精度,增加模型的鲁棒性。也即,若目标模型对应的部署方式为量化感知训练方式,电子设备则可以获取基于量化和反量化方式获得已训练的模型的量化参数,并将该量化参数作为目标量化参数。
进一步的,电子设备可以经QAT方式获得已训练的模型的量化参数将目标模型的权重由浮点转换为量化后的整数,获得部署模型。
步骤S240:基于所述目标平台确定目标格式。
在一些实施方式中,电子设备可以获取需要部署模型的平台作为目标平台;进一步的,电子设备获取目标平台后可以基于目标平台确定目标格式。其中,目标格式可以理解为模型部署至目标平台所需的文件格式。
在一些实施方式中,电子设备获得目标平台后,可以获取目标平台的生产厂家标识,并根据目标平台的生产厂家标识确定目标格式。可以理解的是,各平台部署模型所需的模型文件类型可以相同也可以不同,同一生产厂家开发的平台部署模型所需的格式大多相同。进一步的,电子设备可以根据目标平台对应的生成厂家标识确定目标格式。示例性的,SNPE平台所需的模型文件的格式可以包括.js文件;MTK平台所需的模型文件格式可以包括.tflite文件。
步骤S250:将所述部署模型转换为所述目标格式,并部署在所述目标平台。
在一些实施方式中,电子设备确定目标平台的目标格式后,可以将部署模型转换为该目标格式,并部署在该目标平台。示例性的,目标平台为SNPE,目标格式包括.js文件,电子设备可以将部署模型转换为.js文件并部署在SNPE平台;目标平台为MTK平台,目标格式包括.tflite文件,电子设备可以将部署模型转换为.tflite文件并部署在MTK平台。
示例性的,请参阅图5,其示出了通过PTQ将已训练的模型部署至目标平台的流程示意。其中,已训练的模型通过PTQ部署至目标平台,电子设备获得已训练的模型后,可以将已训练的模型中包括的已训练的丢弃层去掉,获得目标模型,也即去掉网络的丢弃层。进一步的,电子设备可以获取校准数据集,并基于校准数据集的对目标模型进行数据校准,获得目标量化参数,也即将校准数据集导入到网络中,进行前向运算,进行数据校准,获得目标量化参数。
进一步的,电子设备可以通过目标量化参数将目标模型的权重进行量化获得部署模型;电子设备还可以基于目标平台确定目标格式,并将部署模型转换为目标格式部署在目标平台,也即,通过目标量化参数将目标模型的权重由浮点转化为量化后的整数获得部署模型,并将部署模型转换为目标平台所需格式的模型文件。
示例性的,请参阅图6,其示出了通过QAT将已训练的模型部署至目标平台的流程示意。其中,已训练的模型通过QAT部署至目标平台,电子设备获得已训练的模型后,可以将已训练的模型中包括的已训练的丢弃层去掉,获得目标模型,也即去掉网络的丢弃层。进一步的,电子设备可以获取基于QAT获得的已训练的模型的量化参数,并将该量化参数作为目标量化参数。
进一步的,电子设备可以通过目标量化参数将目标模型的权重进行量化获得部署模型;电子设备还可以基于目标平台确定目标格式,并将部署模型转换为目标格式部署在目标平台,也即,利用经QAT后保存的量化参数将目标模型的权重由浮点转化为量化后的整数获得部署模型,并将部署模型转换为目标平台所需格式的模型文件。
本申请一实施例提供的模型部署方法,相较于图1所示的模型部署方法,本实施例还可以基于目标平台确定目标格式;将部署模型转换为目标格式,并部署在目标平台,从而提高模型部署在不同平台的效率,并且通过将已训练的模型中包括的丢弃层丢弃后再量化模型,提高了模型量化的精度,增加了模型的鲁棒性,也减少了模型在端侧量化的精度和理论量化精度的差异。
请参阅图7,图7示出了本申请一实施例提供的模型部署装置的模块框图。该模型部署装置200应用于上述电子设备。下面将针对图7所示的流程进行详细的阐述,所述模型部署装置200包括:已训练的模型获取模块210、丢弃层丢弃模块220、模型量化模块230以及模型部署模块240,其中:
已训练的模型获取模块210,用于获取已训练的模型,其中,所述已训练的模型包括已训练的丢弃层。
丢弃层丢弃模块220,用于将所述已训练的丢弃层从所述已训练的模型中丢弃,获得目标模型。
模型量化模块230,用于基于目标量化参数将所述目标模型的权重进行量化,获得部署模型。
模型部署模块240,用于将所述部署模型部署在目标平台。
进一步地,所述已训练的模型获取模块210可以包括:初始模型确定模块、训练数据集获取模块以及模型训练模块,其中:
初始模型确定模块,用于基于目标任务确定初始模型,其中,所述初始模型中包括基于预设方式插入的初始丢弃层。
训练数据集获取模块,用于获取训练数据集,其中,所述训练数据集中包括多个训练数据。
模型训练模块,用于基于所述训练数据集训练所述初始模型,获得所述已训练的模型。
进一步地,所述初始模型确定模块可以包括:任务模型确定模块、部署方式确定模块以及初始模型确定子模块,其中:
任务模型确定模块,用于基于所述目标任务确定任务模型。
部署方式确定模块,用于确定所述任务模型的部署方式,其中,所述部署方式包括训练后量化方式或者量化感知训练方式。
初始模型确定子模块,用于基于所述部署方式在所述任务模型中插入所述初始丢弃层,获得所述初始模型。
进一步地,所述初始模型确定子模块可以包括:初始模型确定第一单元,其中:
初始模型确定第一单元,用于若所述部署方式为所述训练后量化方式,则基于第一预设方式在所述任务模型中插入所述初始丢弃层,并设置所述初始丢弃层的丢弃比例,获得所述初始模型。
进一步地,在所述基于目标量化参数,将所述目标模型的权重进行量化,获得部署模型之前,所述模型部署装置200还可以包括:目标量化参数获取第一单元,其中:
目标量化参数获取第一单元,用于若所述部署方式为所述训练后量化方式,则获取校准数据集,并基于所述校准数据集对所述目标模型进行数据校准,获得所述目标量化参数,其中,所述校准数据集中包括多个校准数据。
进一步地,所述初始模型确定子模块可以包括:初始模型确定第二单元,其中:
初始模型确定第二单元,用于若所述部署方式为所述量化感知训练方式,则基于第二预设方式在所述任务模型中插入所述初始丢弃层和伪量化节点,并设置所述初始丢弃层的丢弃比例,获得所述初始模型。
进一步地,在所述基于目标量化参数,将所述目标模型的权重进行量化,获得部署模型之前,所述模型部署装置200还可以包括:目标量化参数获取第二单元,其中:
目标量化参数获取第二单元,用于若所述部署方式为所述量化感知训练方式,则获取基于所述量化感知训练方式获得的所述已训练的模型的量化参数,并将所述量化参数作为所述目标量化参数。
进一步地,所述模型训练模块可以包括:预处理单元、正向测试单元以及已训练的模型获得单元,其中:
预处理单元,用于对所述训练数据进行预处理,获得标准数据。
正向测试单元,用于将所述标准数据输入所述初始模型,获得所述初始模型正向传播的测试结果。
已训练的模型获得单元,用于基于所述测试结果对所述初始模型进行反向传播,更新所述初始模型的参数,并返回执行所述将所述标准数据输入所述初始模型,获得所述初始模型正向传播的测试结果,以及基于所述测试结果对所述初始模型进行反向传播,更新所述初始模型的参数的步骤,直至训练所述初始模型的次数达到预设训练次数或者基于所述训练数据集训练所述初始模型的轮次达到预设轮次,获得所述已训练的模型。
进一步地,所述预处理单元可以包括:预处理子单元,其中:
预处理子单元,用于对所述训练数据进行归一化处理、图像缩放处理、随机剪裁处理中的至少一种处理,获得所述标准数据。
进一步地,所述模型部署模块240可以包括:目标格式确定单元以及模型部署子单元,其中:
目标格式确定单元,用于基于所述目标平台确定目标格式。
模型部署子单元,用于将所述部署模型转换为所述目标格式,并部署在所述目标平台。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图8,其示出了本申请实施例提供的一种电子设备100的结构框图。该电子设备100可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
其中,处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-PrograMMable Gate Array,FPGA)、可编程逻辑阵列(PrograMMableLogic Array,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责待显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参阅图9,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取介质300中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读取存储介质300可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质300包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读取存储介质300具有执行上述方法中的任何方法步骤的程序代码310的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码310可以例如以适当形式进行压缩。
综上所述,本申请实施例提供的模型部署方法、装置、电子设备以及存储介质,通过获取已训练的模型,其中,已训练的模型包括已训练的丢弃层;将已训练的丢弃层从已训练的模型中丢弃,获得目标模型;基于目标量化参数将目标模型的权重进行量化,获得部署模型;将部署模型部署在目标平台。本申请通过将已训练的模型中包括的丢弃层丢弃后再量化模型,提高了模型量化的精度,增加了模型的鲁棒性,也减少了模型在端侧量化的精度和理论量化精度的差异。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (13)

1.一种模型部署方法,其特征在于,所述方法包括:
获取已训练的模型,其中,所述已训练的模型包括已训练的丢弃层;
将所述已训练的丢弃层从所述已训练的模型中丢弃,获得目标模型;
基于目标量化参数将所述目标模型的权重进行量化,获得部署模型;
将所述部署模型部署在目标平台。
2.根据权利要求1所述的方法,其特征在于,所述获取已训练的模型,包括:
基于目标任务确定初始模型,其中,所述初始模型中包括基于预设方式插入的初始丢弃层;
获取训练数据集,其中,所述训练数据集中包括多个训练数据;
基于所述训练数据集训练所述初始模型,获得所述已训练的模型。
3.根据权利要求2所述的方法,其特征在于,所述基于目标任务确定初始模型,包括:
基于所述目标任务确定任务模型;
确定所述任务模型的部署方式,其中,所述部署方式包括训练后量化方式或者量化感知训练方式;
基于所述部署方式在所述任务模型中插入所述初始丢弃层,获得所述初始模型。
4.根据权利要求3所述的方法,其特征在于,所述基于所述部署方式在所述任务模型中插入所述初始丢弃层,获得所述初始模型,包括:
若所述部署方式为所述训练后量化方式,则基于第一预设方式在所述任务模型中插入所述初始丢弃层,并设置所述初始丢弃层的丢弃比例,获得所述初始模型。
5.根据权利要求4所述的方法,其特征在于,在所述基于目标量化参数,将所述目标模型的权重进行量化,获得部署模型之前,还包括:
若所述部署方式为所述训练后量化方式,则获取校准数据集,并基于所述校准数据集对所述目标模型进行数据校准,获得所述目标量化参数,其中,所述校准数据集中包括多个校准数据。
6.根据权利要求3所述的方法,其特征在于,所述基于所述部署方式在所述任务模型中插入所述初始丢弃层,获得所述初始模型,包括:
若所述部署方式为所述量化感知训练方式,则基于第二预设方式在所述任务模型中插入所述初始丢弃层和伪量化节点,并设置所述初始丢弃层的丢弃比例,获得所述初始模型。
7.根据权利要求6所述的方法,其特征在于,在所述基于目标量化参数,将所述目标模型的权重进行量化,获得部署模型之前,还包括:
若所述部署方式为所述量化感知训练方式,则获取基于所述量化感知训练方式获得的所述已训练的模型的量化参数,并将所述量化参数作为所述目标量化参数。
8.根据权利要求2所述的方法,其特征在于,所述基于所述训练数据集训练所述初始模型,获得所述已训练的模型,包括:
对所述训练数据进行预处理,获得标准数据;
将所述标准数据输入所述初始模型,获得所述初始模型正向传播的测试结果;
基于所述测试结果对所述初始模型进行反向传播,更新所述初始模型的参数,并返回执行所述将所述标准数据输入所述初始模型,获得所述初始模型正向传播的测试结果,以及基于所述测试结果对所述初始模型进行反向传播,更新所述初始模型的参数的步骤,直至训练所述初始模型的次数达到预设训练次数或者基于所述训练数据集训练所述初始模型的轮次达到预设轮次,获得所述已训练的模型。
9.根据权利要求8所述的方法,其特征在于,所述对所述训练数据进行预处理,获得标准数据,包括:
对所述训练数据进行归一化处理、图像缩放处理、随机剪裁处理中的至少一种处理,获得所述标准数据。
10.根据权利要求1所述的方法,其特征在于,所述将所述部署模型部署在目标平台,包括:
基于所述目标平台确定目标格式;
将所述部署模型转换为所述目标格式,并部署在所述目标平台。
11.一种模型部署装置,其特征在于,所述装置包括:
已训练的模型获取模块,用于获取已训练的模型,其中,所述已训练的模型包括已训练的丢弃层;
丢弃层丢弃模块,用于将所述已训练的丢弃层从所述已训练的模型中丢弃,获得目标模型;
模型量化模块,用于基于目标量化参数将所述目标模型的权重进行量化,获得部署模型;
模型部署模块,用于将所述部署模型部署在目标平台。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-10任一项所述的方法。
13.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-10任一项所述的方法。
CN202310085300.3A 2023-01-16 2023-01-16 模型部署方法、装置、电子设备以及存储介质 Pending CN116126354A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310085300.3A CN116126354A (zh) 2023-01-16 2023-01-16 模型部署方法、装置、电子设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310085300.3A CN116126354A (zh) 2023-01-16 2023-01-16 模型部署方法、装置、电子设备以及存储介质

Publications (1)

Publication Number Publication Date
CN116126354A true CN116126354A (zh) 2023-05-16

Family

ID=86298975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310085300.3A Pending CN116126354A (zh) 2023-01-16 2023-01-16 模型部署方法、装置、电子设备以及存储介质

Country Status (1)

Country Link
CN (1) CN116126354A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116341633A (zh) * 2023-05-29 2023-06-27 山东浪潮科学研究院有限公司 一种模型部署方法、装置、设备及存储介质
CN116911406A (zh) * 2023-07-05 2023-10-20 上海数禾信息科技有限公司 风控模型部署方法、装置、计算机设备和存储介质
CN117391175A (zh) * 2023-11-30 2024-01-12 中科南京智能技术研究院 一种用于类脑计算平台的脉冲神经网络量化方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116341633A (zh) * 2023-05-29 2023-06-27 山东浪潮科学研究院有限公司 一种模型部署方法、装置、设备及存储介质
CN116341633B (zh) * 2023-05-29 2023-09-01 山东浪潮科学研究院有限公司 一种模型部署方法、装置、设备及存储介质
CN116911406A (zh) * 2023-07-05 2023-10-20 上海数禾信息科技有限公司 风控模型部署方法、装置、计算机设备和存储介质
CN116911406B (zh) * 2023-07-05 2024-02-02 上海数禾信息科技有限公司 风控模型部署方法、装置、计算机设备和存储介质
CN117391175A (zh) * 2023-11-30 2024-01-12 中科南京智能技术研究院 一种用于类脑计算平台的脉冲神经网络量化方法及系统

Similar Documents

Publication Publication Date Title
JP6790286B2 (ja) 強化学習を用いたデバイス配置最適化
CN109816009B (zh) 基于图卷积的多标签图像分类方法、装置及设备
WO2022007823A1 (zh) 一种文本数据处理方法及装置
US11790212B2 (en) Quantization-aware neural architecture search
CN112257858B (zh) 一种模型压缩方法及装置
US11604960B2 (en) Differential bit width neural architecture search
CN116126354A (zh) 模型部署方法、装置、电子设备以及存储介质
CN112418292B (zh) 一种图像质量评价的方法、装置、计算机设备及存储介质
CN111178507B (zh) 图谱卷积神经网络数据处理方法及装置
CN109117953A (zh) 网络参数训练方法和系统、服务器、客户端及存储介质
WO2022228425A1 (zh) 一种模型训练方法及装置
CN113705775A (zh) 一种神经网络的剪枝方法、装置、设备及存储介质
CN111369430B (zh) 基于移动深度学习引擎的移动端人像智能背景替换方法
CN114925320B (zh) 一种数据处理方法及相关装置
CN113656563B (zh) 一种神经网络搜索方法及相关设备
CN109766476B (zh) 视频内容情感分析方法、装置、计算机设备及存储介质
CN113032116A (zh) 任务时间预测模型的训练方法、任务调度方法及相关装置
CN114298329A (zh) 一种模型训练方法、装置、设备及存储介质
CN116737895A (zh) 一种数据处理方法及相关设备
CN112307048A (zh) 语义匹配模型训练方法、匹配方法、装置、设备及存储介质
CN109145107A (zh) 基于卷积神经网络的主题提取方法、装置、介质和设备
CN115879508A (zh) 一种数据处理方法及相关装置
CN112132281B (zh) 一种基于人工智能的模型训练方法、装置、服务器及介质
CN111445545B (zh) 一种文本转贴图方法、装置、存储介质及电子设备
CN111967478A (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