CN117931211A - 模型部署方法、设备、装置、芯片及存储介质 - Google Patents
模型部署方法、设备、装置、芯片及存储介质 Download PDFInfo
- Publication number
- CN117931211A CN117931211A CN202410102557.XA CN202410102557A CN117931211A CN 117931211 A CN117931211 A CN 117931211A CN 202410102557 A CN202410102557 A CN 202410102557A CN 117931211 A CN117931211 A CN 117931211A
- Authority
- CN
- China
- Prior art keywords
- model
- deployment
- quantization
- present application
- file
- 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 108
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000013139 quantization Methods 0.000 claims abstract description 192
- 238000012549 training Methods 0.000 claims abstract description 82
- 238000006243 chemical reaction Methods 0.000 claims abstract description 72
- 238000012545 processing Methods 0.000 claims abstract description 67
- 230000015654 memory Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 15
- 238000005516 engineering process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 47
- 238000007667 floating Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 15
- 238000004519 manufacturing process Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013506 data mapping Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种模型部署方法、设备、装置、芯片及存储介质,该方法包括:对初始模型进行量化训练,获得第一模型;其中,第一模型包括伪量化节点;根据目标场景对应的部署策略对第一模型进行数据转换处理,获得目标场景对应的模型部署文件;基于模型部署文件在目标场景中部署第一模型。
Description
技术领域
本发明涉及模型部署技术领域,尤其涉及一种模型部署方法,设备,装置,芯片及存储介质。
背景技术
近年来,随着人工智能的发展,人们对神经网络的研究如火如荼,在模型部署方面,即将训练好的模型部署到具体的端边云芯片平台上,并完成特定业务的视频结构化应用开发。
然而,常见技术主要是打通模型部署的流程,在不同芯片平台上需要进行不同的量化训练和模型部署流程,存在模型部署效率低的问题,同时,由于不同平台部署的模型存在差异,导致不同平台的输出会存在效果差异,降低了模型部署准确性。
发明内容
本申请实施例提供了一种模型部署方法,设备,装置,芯片及存储介质,提高了模型部署的效率和准确性。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供了一种模型部署方法,所述方法包括:
对初始模型进行量化训练,获得第一模型;其中,所述第一模型包括伪量化节点;
根据目标场景对应的部署策略对所述第一模型进行数据转换处理,获得所述目标场景对应的模型部署文件;
基于所述模型部署文件在所述目标场景中部署所述第一模型。
第二方面,本申请实施例提供了一种模型部署设备,所述模型部署设备包括:训练单元,转换单元,部署单元,
所述训练单元,用于对初始模型进行量化训练,获得第一模型;其中,所述第一模型包括伪量化节点;
所述转换单元,根据目标场景对应的部署策略对所述第一模型进行数据转换处理,获得所述目标场景对应的模型部署文件;
所述部署单元,基于所述模型部署文件在所述目标场景中部署所述第一模型。
第三方面,本申请实施例提供了一种模型部署装置,所述模型部署装置包括:处理器和存储器;其中,
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种芯片,所述芯片包括处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备实现如上述第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时,实现如上述第一方面所述的方法。
本申请实施例提供了一种模型部署方法,设备,装置,芯片及存储介质,对初始模型进行量化训练,获得第一模型;其中,第一模型包括伪量化节点;根据目标场景对应的部署策略对第一模型进行数据转换处理,获得目标场景对应的模型部署文件;基于模型部署文件在目标场景中部署第一模型。由此可见,在本申请中,在不同场景下进行模型部署时,首先会对初始模型进行统一的量化训练,获得的第一模型带有伪量化节点,从而能够适用于不同场景的部署,从而提高模型训练效率;同时,在目标场景下进行模型部署时,可以基于目标场景对应的部署策略对第一模型进行数据转换处理,从而可以获得所需模型部署文件,以进一步根据模型部署文件进行第一模型的部署,进而提高了模型部署的准确性。也就是说,在本申请的实施例中,通过模型的统一量化训练和针对不同场景的模型转换部署,能够有效提升模型部署的效率和准确性。
附图说明
图1为本申请实施例提出的模型部署方法实现流程示意图一;
图2为本申请实施例提出的模型部署方法实现流程示意图二;
图3为本申请实施例提出的模型部署方法实现流程示意图三;
图4为本申请实施例提出的模型部署方法实现示意图;
图5为本申请实施例提出的模型部署设备的组成结构示意图;
图6为本申请实施例提出的模型部署装置的组成结构示意图;
图7为本申请实施例提出的芯片的组成结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
目前在不同芯片平台上进行模型部署时,主要是打通模型部署的流程,在不同芯片平台上需要进行不同的量化训练和模型部署流程,这样对于同样的功能,需要训练多个版本的模型分别在不同的芯片上进行部署,这样就需要开发多个算法模型,并分别进行训练,而且还需要较多的时间来进行各种模型的开发和训练。同时算法部署过程需要根据不同的芯片平台进行不同的量化转换部署流程,这样也需要花费时间来进行不同的模型转换和部署。
为了解决上述问题,本申请实施例提供了一种模型部署方法,设备,装置,芯片及存储介质,该方法包括:对初始模型进行量化训练,获得第一模型;其中,第一模型包括伪量化节点;根据目标场景对应的部署策略对第一模型进行数据转换处理,获得目标场景对应的模型部署文件;基于模型部署文件在目标场景中部署第一模型。由此可见,在本申请中,在不同场景下进行模型部署时,首先会对初始模型进行统一的量化训练,获得的第一模型带有伪量化节点,从而能够适用于不同场景的部署,从而提高模型训练效率;同时,在目标场景下进行模型部署时,可以基于目标场景对应的部署策略对第一模型进行数据转换处理,从而可以获得所需模型部署文件,以进一步根据模型部署文件进行第一模型的部署,进而提高了模型部署的准确性。也就是说,在本申请的实施例中,通过模型的统一量化训练和针对不同场景的模型转换部署,能够有效提升模型部署的效率和准确性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请一实施例提供了一种模型部署方法,该模型部署方法可以应用于模型部署设备、模型部署装置或芯片,还可以应用于包括有模型部署设备或模型部署装置或芯片的任意终端设备中。
下面以模型部署设备为例,对本申请实施例提出的模型部署方法进行说明。
进一步地,在本申请的实施例中,图1为本申请实施例提出的模型部署方法实现流程示意图一,如图1所示,模型部署方法可以包括以下步骤:
S101、对初始模型进行量化训练,获得第一模型;其中,第一模型包括伪量化节点。
在本申请的实施例中,在不同平台进行模型部署的情况下,模型部署设备首先会对初始模型进行统一量化训练,然后可以获得带有伪量化节点的第一模型。
需要说明的是,在本申请的实施例中,初始模型是需要进行模型部署的模型。
需要说明的是,在本申请的实施例中,量化即将神经网络前向过程中浮点数运算量化为整数运算,以达到计算加速的目的。通常是指将Float32转化为int8进行运算,经实践部署DSP(Demand-Side Platform,需求方平台)上能提升2.5~3倍左右的推理速度。对浮点数的量化操作是将其从一个高维度映射到低维度的转换过程。
需要说明的是,在本申请的实施例中,量化的原理是建立一种从浮点到定点的有效数据映射关系,使得以较小的精度损失代价获得更好的收益。
需要说明的是,在本申请的实施例中,量化训练是在量化的过程中对网络进行训练,从而让网络参数能更好地适应量化带来的信息损失。
需要说明的是,在本申请的实施例中,量化训练中都是采用浮点运算来模拟定点运算,所以训练过程中的量化结果与真实量化结果是有差异的。
需要说明的是,在本申请的实施例中,第一模型是对初始模型进行量化训练后的模型。
需要说明的是,在本申请的实施例中,伪量化节点是对权重进行激活,量化,再反量化。这样引入了量化误差,让模型在训练过程中“感知”到量化操作,在优化trainingloss(网络损失)的同时兼顾quantization error(量化误差)。
需要说明的是,在本申请的实施例中,伪量化即将模拟量化操作引入训练过程中,在每个weight(权重)的输入后与output(输出)的输出前进行伪量化,将浮点量化到定点,再反量化成浮点,用round(在计算机编程中用于对数字进行四舍五入的操作)过程中所产生的误差的浮点值进行前向运算。伪量化的操作可以使权值、激活值的分布更加均匀,也就是方差更小,相比直接进行后量化的精度损失能更小,其次能够控制每层的输出在一定范围内,对溢出处理更有帮助。
进一步地,在本申请的实施例中,在对初始模型进行量化训练,获得第一模型时,在初始模型中增加伪量化节点,获得伪量化模型。
也就是说,在本申请的实施例中,在获得第一模型的过程中,是通过对初始模型中增加伪量化节点,从而可以获得伪量化模型。
需要说明的是,在本申请的实施例中,通过增加伪量化节点可以找到输入参数的分布,即找到最大值和最小值。
需要说明的是,在本申请的实施例中,通过增加伪量化节点还可以模拟量化到低比特操作时(如float32到int8)的精度损失,把该损失作用到模型中,传递给损失函数,让优化器在训练过程中优化该损失值。
需要说明的是,在本申请的实施例中,伪量化节点包括正向传播和反向传播,伪量化节点包括正向传播即为了求得模型中tensor(张量)数据的最大值和最小值,在模型训练时插入为量化节点来模拟引入的误差,得到数据的分布。
需要说明的是,在本申请的实施例中,伪量化节点主要是根据找到的最大值和最小值进行伪量化操作,更新最大值和最小值的方式类似于BatchNorm(批量归一化)更新beta(贝塔)和gamma(伽玛)算子。
需要说明的是,在本申请的实施例中,伪量化模型对初始模型增加伪量化节点获得的模型。
进一步地,在本申请的实施例中,训练伪量化模型,获得第一模型。
也就是说,在本申请的实施例中,模型部署设备对初始模型增加伪量化节点获得的伪量化模型进行训练,从而可以获得第一模型。
进一步地,在本申请的实施例中,初始模型包括Pytorch模型中的Float模型。
也就是说,在本申请的实施例中,初始模型可以是Float模型,Float模型是属于Pytorch模型的。
需要说明的是,在本申请的实施例中,Pytorch模型是一个基于Python的深度学习框架,它提供了一种灵活、高效、易于学习的方式来实现深度学习模型。Pytorch现在已经成为了一个非常流行的深度学习框架之一,被广泛应用于各种领域,如计算机视觉、自然语言处理、语音识别等。
需要说明的是,在本申请的实施例中,Pytorch的核心思想是使用张量来表示数据,这使得Pytorch可以轻松地处理大规模的数据集,并且可以在GPU(GraphicsProcessing Unit)上进行加速。Pytorch还提供了许多高级的功能,如自动微分、自动求导等,这些功能可以更好地理解模型的训练过程,并且提高模型的训练效率。
需要说明的是,在本申请的实施例中,Float模型是一种可视化格式模型,浮动的框可以左右移动(根据Float属性值而定),直到它的外边缘碰到包含框或者另一个浮动元素的框的边缘。浮动元素不在文档的普通流中,文档的普通流中的元素变的就像浮动元素不存在一样。
进一步地,在本申请的实施例中,第一模型包括Pytorch模型。
S102、根据目标场景对应的部署策略对第一模型进行数据转换处理,获得目标场景对应的模型部署文件。
在本申请的实施例中,在对初始模型进行量化训练,获得第一模型之后,模型部署设备在目标场景下进行模型部署时,对第一模型进行数据转换处理,从而可以获得在目标场景下进行模型部署的所需模型部署文件。
需要说明的是,在本申请的实施例中,目标场景指的是在不同平台上进行模型部署。
示例性的,在本申请的实施例中,目标场景可以是高通平台或MTK平台,本申请实施例不进行具体限定。
需要说明的是,在本申请的实施例中,部署策略为在高通平台或MTK平台进行模型部署的部署策略。
需要说明的是,在本申请的实施例中,数据转换处理是在不同平台进行模型部署时,需要对第一模型进行的处理。
需要说明的是,在本申请的实施例中,模型部署文件是在不同平台进行模型部署时,所需的部署文件,在不同平台上进行模型部署时,所需的模型部署文件是不同的。
进一步地,在本申请的实施例中,在对初始模型进行量化训练,获得第一模型之后,输出第一模型的模型数据;其中,第一模型的模型数据包括结构参数,权重参数以及量化参数。
也就是说,在本申请的实施例中,通过对初始模型进行量化训练,不仅会获得第一模型,而且会获得第一模型的模型数据,第一模型的模型数据包括结构参数,权重参数以及量化参数。
需要说明的是,在本申请的实施例中,模型数据是第一模型的数据参数,包括第一模型的结构参数,权重参数以及量化参数。
需要说明的是,在本申请的实施例中,结构参数可以是第一模型的输入层,隐藏层,输出层,激活函数,损失函数等。
需要说明的是,在本申请的实施例中,权重参数可以是第一模型中的每一层网络的权重系数,可以用于对输入的数据进行加权求和。
需要说明的是,在本申请的实施例中,量化参数可以是对初始模型进行量化训练后,获得的第一模型中的参数。
需要说明的是,在本申请的实施例中,量化参数可以是将浮点数表示的参数转换为低位整数或定点数,以减少模型的存储空间和计算量。通过量化参数,可以在不显著损失模型性能的情况下,大幅度减小模型的体积,提高模型的运行效率。
进一步地,在本申请的实施例中,目标场景对应的部署策略包括高通平台的部署策略,在根据目标场景对应的部署策略对第一模型进行数据转换处理,获得目标场景对应的模型部署文件时,基于高通平台的部署策略,根据量化参数生成第一文件,同时根据结构参数和权重参数构建第二模型。
也就是说,在本申请的实施例中,在目标场景下进行模型部署时,需要对第一模型进行数据转换处理,从而可以获得进行模型部署时所需的模型部署文件,在不同的平台下,进行模型部署的所需模型部署文件不同,在目标场景为高通平台的情况下,高通平台对应的模型部署策略是可以先根据量化参数生成第一文件,再基于获取的模型数据中的结构参数和权重参数构建第二模型。
需要说明的是,在本申请的实施例中,高通平台包括两种高通系列的架构,一个IC(integrated circuit,集成电路)内部集成有两个ARM(Advanced RISC Machine)处理器,一个ARM9(或者arm11),专门负责处理通信协议,射频以及GPIO(General-purpose input/output,通用输入输出端口)等,软件架构采用AMSS(Advanced Mobile SubscriberSoftware,先进移动用户软件),另外一个是ARM11,用来处理多媒体,上层应用,以及其他的一些任务,运行的系统是安卓系统,这两个处理器之间通过共享内存的硬件方式来进行通信。
需要说明的是,在本申请的实施例中,第一文件是根据第一模型的模型数据中的量化参数生成的。
需要说明的是,在本申请的实施例中,第二模型是根据第一模型的模型数据中的结构参数和权重参数构建的。
进一步地,在本申请的实施例中,根据第一文件和第二模型确定第三模型。
也就是说,在本申请的实施例中,将根据量化参数生成的第一文件和根据结构参数和权重参数构建的第二模型,可以确定出第三模型。
需要说明的是,在本申请的实施例中,第三模型是通过第一文件和第二模型确定的。
进一步地,在本申请的实施例中,基于第三模型的模型数据生成模型部署文件。
也就是说,在本申请的实施例中,在高通平台下进行模型部署时,需要获得高通平台对应的模型部署文件,高通平台对应的模型部署文件是基于第三模型的模型数据生成的。
进一步地,在本申请的实施例中,目标场景对应的部署策略包括MTK平台的部署策略,在根据目标场景对应的部署策略对第一模型进行数据转换处理,获得目标场景对应的模型部署文件时,基于MTK平台的部署策略,对第一模型进行转换处理,确定第四模型。
也就是说,在本申请的实施例中,在目标场景下进行模型部署时,需要对第一模型进行数据转换处理,从而可以获得进行模型部署时所需的模型部署文件,在不同的平台下,进行模型部署的所需模型部署文件不同,在目标场景为MTK平台的情况下,MTK平台对应的模型部署策略可以是对第一模型进行转换处理后,确定出第四模型。
需要说明的是,在本申请的实施例中,MTK平台的芯片包括处理器、图形处理单元、调制解调器等,能够提供快速、稳定和高效的移动通信和计算能力。
需要说明的是,在本申请的实施例中,转换处理是在MTK平台进行模型部署时,需要对第一模型进行的转换处理。
需要说明的是,在本申请的实施例中,第四模型可以是通过对第一模型进行转换处理之后获得的模型。
进一步地,在本申请的实施例中,基于第四模型的模型数据生成模型部署文件。
也就是说,在本申请的实施例中,在MTK平台下进行模型部署时,需要获得MTK平台对应的模型部署文件,MTK平台对应的模型部署文件是基于第四模型的模型数据生成的。
S103、基于模型部署文件在目标场景中部署第一模型。
在本申请的实施例中,在根据目标场景对应的部署策略对第一模型进行数据转换处理,获得目标场景对应的模型部署文件之后,模型部署设备在目标场景中可以根据获得的模型部署文件进行模型部署。
需要说明的是,在本申请的实施例中,模型部署是指将训练好的机器学习模型部署到生产环境中,以便实际应用中使用。在模型发布之前,需要将模型从训练环境中导出,然后将其部署到生产环境中,通常是作为一个服务或者一个库的形式。
示例性的,在本申请的实施例中,模型部署的过程通常包括导出模型,部署模型,测试模型,监控模型。
示例性的,在本申请的实施例中,导出模型是将训练好的模型导出为可部署的格式,如PMML(Predictive Model Markup Language,预测模型标记语言)、ONNX(Open NeuralNetwork Exchange,开放神经网络交换格式)、TensorFlow(张量流)等。
示例性的,在本申请的实施例中,部署模型是将导出的模型部署到生产环境中,通常是作为一个服务或者一个库的形式。
示例性的,在本申请的实施例中,测试模型是在生产环境中对模型进行测试,以确保其能够正常工作,并且输出结果符合预期。
示例性的,在本申请的实施例中,监控模型是在生产环境中对模型进行监控,以便及时发现并解决问题。
进一步地,在本申请的实施例中,图2为本申请实施例提出的模型部署方法实现流程示意图二,如图2所示,在基于模型部署文件在目标场景中部署第一模型之后,即S103之后,模型部署方法还包括以下步骤:
S104、运行部署在目标场景中第一模型,以通过第一模型对初始图像进行图像处理,获得处理后的图像。
在本申请的实施例中,在基于模型部署文件在目标场景中部署第一模型之后,可以运行部署的第一模型,从而可以通过第一模型对初始图像进行图像处理,得到输出后的图像。
示例性的,在本申请的实施例中,进行图像处理的方法可以包括图像增强、图像滤波、图像分割等任意类型的处理方法,本申请实施例不进行具体限定。
示例性的,在本申请的实施例中,模型可以应用在任意场景下,不限于图像处理的场景,还可以应用于图像降噪、图像去雾以及图像识别等其他场景下,本申请实施例不进行具体限定。
需要说明的是,在本申请的实施例中,初始图像是需要进行处理的图像。
示例性的,在本申请的实施例中,第一模型可以是关于图像识别的模型,也可以是图像复原的模型,本申请实施例不进行具体限定。
示例性的,在本申请的实施例中,可以将图像识别模型部署到智能摄像头、安防监控系统等设备上,智能摄像头或者安防监控系统获取到人脸图片即获得初始图像。
需要说明的是,在本申请的实施例中,图像处理是对初始图像进行的处理。
示例性的,在本申请的实施例中,在实现人脸识别、车牌识别等功能时,需要对获取的初始图像进行图像处理。
需要说明的是,在本申请的实施例中,处理后的图像是通过部署在目标场景的第一模型,对初始图像进行图像处理后,获得的图像。
综上所述,通过S101至S104所提出的模型部署方法,对初始模型中增加伪量化节点,可以获得伪量化模型,同时还需要对伪量化模型进行训练,从而可以获得第一模型,还可以获得包括结构参数,权重参数以及量化参数的第一模型的模型数据,使用这些模型数据可以用于在模型部署过程中生成模型部署文件,在不同的目标场景下进行模型部署的策略是不同的,在高通平台下可以进行数据转换处理获得高通平台对应的模型部署文件,在MTK平台下也可以进行数据转换处理获得MTK平台对应的模型部署文件,最后基于模型部署文件在目标场景中部署第一模型。
由此可见,在本申请中,在不同场景下进行模型部署时,首先会对初始模型进行统一的量化训练,获得的第一模型带有伪量化节点,从而能够适用于不同场景的部署,从而提高模型训练效率;同时,在目标场景下进行模型部署时,可以基于目标场景对应的部署策略对第一模型进行数据转换处理,从而可以获得所需模型部署文件,以进一步根据模型部署文件进行第一模型的部署,进而提高了模型部署的准确性。也就是说,在本申请的实施例中,通过模型的统一量化训练和针对不同场景的模型转换部署,能够有效提升模型部署的效率和准确性。
基于上述实施例,本申请的再一实施例提供了一种模型部署方法,该方法包括:在初始模型中增加伪量化节点,获得伪量化模型;训练伪量化模型,获得第一模型;并输出第一模型的模型数据;其中,第一模型的模型数据包括结构参数,权重参数以及量化参数。基于高通平台的部署策略,根据量化参数生成第一文件,同时根据结构参数和权重参数构建第二模型;根据第一文件和第二模型确定第三模型;基于第三模型的模型数据生成模型部署文件;基于MTK平台的部署策略,对第一模型进行转换处理,确定第四模型;基于第四模型的模型数据生成模型部署文件,运行部署在目标场景中第一模型,以对初始图像进行图像处理,获得处理后的图像。
进一步地,在本申请的实施例中,图3为本申请实施例提出的模型部署方法实现流程示意图三,如图3所示,模型部署方法可以包括以下步骤:
S201、在初始模型中增加伪量化节点,获得伪量化模型。
在本申请的实施例中,通过对初始模型中增加伪量化节点,可以获得伪量化模型。
需要说明的是,在本申请的实施例中,初始模型是需要进行模型部署的模型。
需要说明的是,在本申请的实施例中,通过增加伪量化节点可以找到输入参数的分布,即找到最大值和最小值。
需要说明的是,在本申请的实施例中,通过增加伪量化节点还可以模拟量化到低比特操作时(如float32到int8)的精度损失,把该损失作用到模型中,传递给损失函数,让优化器在训练过程中优化该损失值。
需要说明的是,在本申请的实施例中,伪量化节点包括正向传播和反向传播,伪量化节点包括正向传播即为了求得模型中tensor(张量)数据的最大值和最小值,在模型训练时插入为量化节点来模拟引入的误差,得到数据的分布。
需要说明的是,在本申请的实施例中,伪量化节点主要是根据找到的最大值和最小值进行伪量化操作,更新最大值和最小值的方式类似于BatchNorm(批量归一化)更新beta(贝塔)和gamma(伽玛)算子。
需要说明的是,在本申请的实施例中,伪量化模型对初始模型增加伪量化节点获得的模型。
需要说明的是,在本申请的实施例中,量化即将神经网络前向过程中浮点数运算量化为整数运算,以达到计算加速的目的。通常是指将Float32转化为int8进行运算,经实践部署DSP(Demand-Side Platform,需求方平台)上能提升2.5~3倍左右的推理速度。对浮点数的量化操作是将其从一个高维度映射到低维度的转换过程。
需要说明的是,在本申请的实施例中,量化的原理是建立一种从浮点到定点的有效数据映射关系,使得以较小的精度损失代价获得更好的收益。
需要说明的是,在本申请的实施例中,伪量化节点是对权重进行激活,量化,再反量化。这样引入了量化误差,让模型在训练过程中“感知”到量化操作,在优化trainingloss(网络损失)的同时兼顾quantization error(量化误差)。
需要说明的是,在本申请的实施例中,伪量化即将模拟量化操作引入训练过程中,在每个weight(权重)的输入后与output(输出)的输出前进行伪量化,将浮点量化到定点,再反量化成浮点,用round(在计算机编程中用于对数字进行四舍五入的操作)过程中所产生的误差的浮点值进行前向运算。伪量化的操作可以使权值、激活值的分布更加均匀,也就是方差更小,相比直接进行后量化的精度损失能更小,其次能够控制每层的输出在一定范围内,对溢出处理更有帮助。
S202、训练伪量化模型,获得第一模型。
在本申请的实施例中,在初始模型中增加伪量化节点,获得伪量化模型之后,可以对伪量化模型进行训练,获得第一模型。
需要说明的是,在本申请的实施例中,第一模型是对初始模型进行量化训练后的模型。
需要说明的是,在本申请的实施例中,量化训练是在量化的过程中,对网络进行训练,从而让网络参数能更好地适应量化带来的信息损失。
需要说明的是,在本申请的实施例中,量化训练中都是采用浮点运算来模拟定点运算,所以训练过程中的量化结果与真实量化结果是有差异的。
S203、输出第一模型的模型数据;其中,第一模型的模型数据包括结构参数,权重参数以及量化参数。
在本申请的实施例中,在训练伪量化模型,获得第一模型之后,还可以输出第一模型的模型数据,第一模型的模型数据包括结构参数,权重参数以及量化参数。
需要说明的是,在本申请的实施例中,模型数据是第一模型的数据参数,包括第一模型的结构参数,权重参数以及量化参数。
需要说明的是,在本申请的实施例中,结构参数可以是第一模型的输入层,隐藏层,输出层,激活函数,损失函数等。
需要说明的是,在本申请的实施例中,权重参数可以是第一模型中的每一层网络的权重系数,可以用于对输入的数据进行加权求和。
需要说明的是,在本申请的实施例中,量化参数可以是对初始模型进行量化训练后,获得的第一模型中的参数。
需要说明的是,在本申请的实施例中,量化参数可以是将浮点数表示的参数转换为低位整数或定点数,以减少模型的存储空间和计算量。通过量化参数,可以在不显著损失模型性能的情况下,大幅度减小模型的体积,提高模型的运行效率。
S204、基于高通平台的部署策略,根据量化参数生成第一文件,同时根据结构参数和权重参数构建第二模型。
在本申请的实施例中,在输出第一模型的模型数据之后,在目标场景为高通平台的情况下,高通平台对应的模型部署策略是可以先根据量化参数生成第一文件,再基于获取的模型数据中的结构参数和权重参数构建第二模型。
需要说明的是,在本申请的实施例中,高通平台包括两种高通系列的架构,一个IC(integrated circuit,集成电路)内部集成有两个ARM(Advanced RISC Machine)处理器,一个ARM9(或者arm11),专门负责处理通信协议,射频以及GPIO(General-purpose input/output,通用输入输出端口)等,软件架构采用AMSS(Advanced Mobile SubscriberSoftware,先进移动用户软件),另外一个是ARM11,用来处理多媒体,上层应用,以及其他的一些任务,运行的系统是安卓系统,这两个处理器之间通过共享内存的硬件方式来进行通信。
需要说明的是,在本申请的实施例中,部署策略为在高通平台或MTK平台进行模型部署的部署策略。
需要说明的是,在本申请的实施例中,第一文件是根据第一模型的模型数据中的量化参数生成的。
需要说明的是,在本申请的实施例中,第二模型是根据第一模型的模型数据中的结构参数和权重参数构建的。
S205、根据第一文件和第二模型确定第三模型。
在本申请的实施例中,在基于高通平台的部署策略,根据量化参数生成第一文件,同时根据结构参数和权重参数构建第二模型之后,将根据量化参数生成的第一文件和根据结构参数和权重参数构建的第二模型,可以确定出第三模型。
需要说明的是,在本申请的实施例中,第三模型是通过第一文件和第二模型确定的。
S206、基于第三模型的模型数据生成模型部署文件。
在本申请的实施例中,在根据第一文件和第二模型确定第三模型之后,高通平台对应的模型部署文件是基于第三模型的模型数据生成的。
需要说明的是,在本申请的实施例中,模型部署文件是在不同平台进行模型部署时,所需的部署文件,在不同平台上进行模型部署时,所需的模型部署文件是不同的。
S207、基于MTK平台的部署策略,对第一模型进行转换处理,确定第四模型。
在本申请的实施例中,在输出第一模型的模型数据之后,在目标场景为MTK平台的情况下,MTK平台对应的模型部署策略可以是对第一模型进行转换处理后,确定出第四模型。
需要说明的是,在本申请的实施例中,MTK平台的芯片包括处理器、图形处理单元、调制解调器等,能够提供快速、稳定和高效的移动通信和计算能力。
需要说明的是,在本申请的实施例中,转换处理是在MTK平台进行模型部署时,需要对第一模型进行的转换处理。
需要说明的是,在本申请的实施例中,第四模型可以是通过对第一模型进行转换处理之后获得的模型。
S208、基于第四模型的模型数据生成模型部署文件。
在本申请的实施例中,在基于MTK平台的部署策略,对第一模型进行转换处理,确定第四模型之后,MTK平台对应的模型部署文件是基于第四模型的模型数据生成的。
S209、基于模型部署文件在目标场景中部署第一模型。
在本申请的实施例中,在根据目标场景对应的部署策略对第一模型进行数据转换处理,获得目标场景对应的模型部署文件之后,模型部署设备在目标场景中,可以根据获得的模型部署文件进行模型部署。
需要说明的是,在本申请的实施例中,目标场景指的是在不同平台上进行模型部署。
示例性的,在本申请的实施例中,目标场景可以是高通平台或MTK平台,本申请实施例不进行具体限定。
需要说明的是,在本申请的实施例中,模型部署是指将训练好的机器学习模型部署到生产环境中,以便实际应用中使用。在模型发布之前,需要将模型从训练环境中导出,然后将其部署到生产环境中,通常是作为一个服务或者一个库的形式。
示例性的,在本申请的实施例中,模型部署的过程通常包括导出模型,部署模型,测试模型,监控模型。
示例性的,在本申请的实施例中,导出模型是将训练好的模型导出为可部署的格式,如PMML(Predictive Model Markup Language,预测模型标记语言)、ONNX(Open NeuralNetwork Exchange,开放神经网络交换格式)、TensorFlow(张量流)等。
示例性的,在本申请的实施例中,部署模型是将导出的模型部署到生产环境中,通常是作为一个服务或者一个库的形式。
示例性的,在本申请的实施例中,测试模型是在生产环境中对模型进行测试,以确保其能够正常工作,并且输出结果符合预期。
示例性的,在本申请的实施例中,监控模型是在生产环境中对模型进行监控,以便及时发现并解决问题。
S210、运行部署在目标场景中第一模型,以通过第一模型对初始图像进行图像处理,获得处理后的图像。
在本申请的实施例中,在基于模型部署文件在目标场景中部署第一模型之后,在运行部署的第一模型时,可以是对初始图像进行图像处理,获得输出后的图像。
需要说明的是,在本申请的实施例中,初始图像是需要进行处理的图像。
示例性的,在本申请的实施例中,第一模型可以是关于图像识别的模型,也可以是图像复原的模型,本申请实施例不进行具体限定。
示例性的,在本申请的实施例中,可以将图像识别模型部署到智能摄像头、安防监控系统等设备上,智能摄像头或者安防监控系统获取到人脸图片即获得初始图像。
需要说明的是,在本申请的实施例中,图像处理是对初始图像进行的处理。
示例性的,在本申请的实施例中,在实现人脸识别、车牌识别等功能时,需要对获取的初始图像进行图像处理。
需要说明的是,在本申请的实施例中,处理后的图像是通过部署在目标场景的第一模型,对初始图像进行图像处理后,获得的图像。
综上所述,通过S201至S210所提出的模型部署方法,对初始模型中增加伪量化节点,可以获得伪量化模型,同时还需要对伪量化模型进行训练,从而可以获得第一模型,还可以获得包括结构参数,权重参数以及量化参数的第一模型的模型数据,使用这些模型数据可以用于在模型部署过程中生成模型部署文件,在不同的目标场景下进行模型部署的策略是不同的,在高通平台下的模型部署是对第一模型进行数据转换处理,从而可以获得在高通平台下进行模型部署的模型部署文件,数据转换处理包括:可以根据量化参数生成第一文件,同时根据结构参数和权重参数构建出第二模型,进而可以根据第一文件和第二模型确定出第三模型,基于第三模型的模型数据可以生成模型部署文件;在MTK平台下的模型部署是对第一模型进行数据转换处理,从而可以获得在MTK平台下进行模型部署的模型部署文件,数据转换处理包括:对第一模型进行转换处理,从而可以确定出第四模型,基于第四模型的模型数据可以生成模型部署文件,基于模型部署文件在目标场景中部署第一模型。
由此可见,在本申请中,在不同场景下进行模型部署时,首先会对初始模型进行统一的量化训练,获得的第一模型带有伪量化节点,从而能够适用于不同场景的部署,从而提高模型训练效率;同时,在目标场景下进行模型部署时,可以基于目标场景对应的部署策略对第一模型进行数据转换处理,从而可以获得所需模型部署文件,以进一步根据模型部署文件进行第一模型的部署,进而提高了模型部署的准确性。也就是说,在本申请的实施例中,通过模型的统一量化训练和针对不同场景的模型转换部署,能够有效提升模型部署的效率和准确性。
基于上述实施例,本申请另一实施例提出了一种模型部署方法,该方法主要是通过统一MTK和高通平台的模型量化训练和量化部署流程,通过一次量化训练就可以完成模型的量化训练并完成量化部署流程。首先在量化训练时,通过MTK的SDK对float模型增加伪量化节点,进行量化训练;在完成量化训练后,输出带量化节点的pt模型,然后对pt模型进行解析输出权重的onnx模型和对应解析模型的量化参数并保存为encoding文件;在完成上一步后,同时对pt模型和onnx+encoding模型进行转换,分别转换为MTK和高通平台的部署模型;最后在MTK和高通平台上分别进行MTK和高通的部署。本方案通过一套流程完成了MTK和高通平台的统一部署,在此流程中只需要一次量化训练,统一的部署流程,就可以完成模型在两种平台上的部署,同时保证了两种平台上部署的模型参数完全一样,避免了之前在部署时两个平台参数不一致导致的模型部署效果差异,同时避免了之前两种不同量化训练需要的时间。
示例性的,在本申请的实施例中,图4为本申请实施例提出的模型部署方法实现示意图,如图4所示。
MTK平台和高通平台(目标场景)统一量化部署流程中的量化训练、模型的多平台转换(数据转换处理)、量化模型部署和运行的具体过程如下:
1、量化训练
采用Pytorch量化模块SDK对Pytorch模型(初始模型)(Pytorch模型中的浮点型Float模型)增加伪量化节点,这样就可以得到训练端的量化模型(伪量化模型)。然后对伪量化模型进行训练,进行正常的权重更新,直到模型收敛,这样训练的模型就是带量化节点的模型(伪量化模型),可以保证量化部署后的精度不会降低。同时将模型输出为pt模型(第一模型)(Pytorch模型),pt模型包含了模型(模型数据)的结构(结构参数),权重(权重参数)和量化参数。
2、模型的多平台转换,即对第一模型进行数据转换处理
在完成模型量化训练后,通过输出的pt模型分别转换成MTK和高通的量化部署格式。将pt中的量化节点提取生成模型的量化参数encoding文件(第一文件),同时将模型的结构(结构参数)和模型的权重(权重参数)生成onnx模型(第二模型),这样高通平台转换模型需要的onnx和量化encoding文件就转换成功(高通平台的部署策略)。最后将pt模型转换为tflite和dla(第四模型)就完成了MTK平台的部署dla文件(MTK平台的部署策略)。同时将onnx+encoding文件转换成dlc文件(第三模型)(存储模型数据),dlc为高通平台的模型部署文件。至此就完成了不同平台的统一量化流程,和模型部署文件的统一转换流程。
3、量化模型部署和运行
在完成两种评估的部署模型转换流程后,就可以分别把dla和dlc模型在实际的项目中进行调用和实际的运行。由于在前面的过程中模型采用的权重和量化参数完全一样,因此模型在不同平台上运行之后得到的结果差异很小,保证了模型的部署效果,避免模型在不同硬件平台上部署后效果出现差异,影响上项进度。
本技术方案,通过设计一种统一的模型量化部署方案,解决了当前需要两套模型来分别进行MTK和高通平台的量化和部署。同时减轻了算法开发人员和模型部署人员的工作量化。使算法部署人员只需要训练一个模型,就满足不同芯片平台的要求,减少了算法开发人员的工作量。同时使算法部署人员只用使用一套转换流程就可以输出两种平台上所需要的部署模型,减少了工作量。同时由于模型统一,这样避免了之前采用两个模型在不同平台上进行部署时,出现两种平台上模型效果存在差异的重大问题,提高了用户的使用满意度。
对用户来说,通过本方案,可以减少用户在使用不同芯片对应的手机存在效果差异的问题。之前的方案需要算法开发人员训练两个模型分别部署到MTK或者高通平台,这样由于权重的差异,在部署后不同的芯片平台输出的效果会存在差异,尤其在一些场景中会存在重大差异,导致用户体验变差。而本方案通过统一进行模型的量化部署,使两个平台上部署的模型权重和量化参数不存在差异,这样用户使用过程中体现的效果差异较小,提高用户的使用体验。
本申请将MTK和高通平台的量化部署流程统一到一起,通过将pytorch量化模型转换成pt模型,然后分别转换成MTK和高通平台部署的模型,完成模型的统一量化训练和模型转换部署。通过本申请使算法工程师只需要维护开发一套模型,进行量化训练即可,极大的减少了算法开发的工作量。同时对应算法部署工程师,只需要通过本方案即可完成MTK和高通两个平台的模型转换部署,减少了模型转换部署过程中的共工作量。同时由于开发过程中只有一个模型,因此可以有效避免模型上项后,不同芯片平台输出的效果存在差异的问题。本申请可以用于各种神经网络模型。
在实际应该过程中,可以只采用第一步和第二步即可完成模型的转换,但是在实际应用中需要通过第三步,对前两步转换出的模型进行部署,并且通过实际部署验证输出结果的效果。在完成部署运行后就可以在项目端对模型的输出进行效果可视化,完成最后的上项部署流程。
本申请实施例提供了一种模型部署方法,该方法包括:先对统一对浮点型Float网络进行量化训练,获得pt模型,在不同平台上进行部署时,分别将pt中的量化节点提取生成模型的量化参数encoding文件,同时将模型的结构和模型的权重生成onnx模型,这样可以获得高通平台转换模型需要的onnx和量化encoding文件。最后将pt模型转换为tflite和dla就完成了MTK平台的部署dla文件。同时将onnx+encoding文件转换成dlc文件,dlc为高通平台的模型部署文件。在完成两种评估的部署模型转换流程后,就可以分别把dla和dlc模型在实际的项目中进行调用和实际的运行。由此可见,在本申请中,在高通平台和MTK平台下进行模型部署时,首先会对Float模型进行量化训练,如此可以统一量化训练,提高模型训练效率,同时可以获得量化训练后的带有伪量化节点的pt模型;分别获得高通平台转换模型需要的onnx和量化encoding文件和MTK平台的部署dla文件,进而在目标场景中,可以根据获得的模型部署文件进行模型部署,提高了模型部署的效率和准确性。
基于上述实施例,在本申请的另一实施例中,图5为本申请实施例提出的模型部署设备的组成结构示意图,如图5所示,本申请实施例提出的模型部署设备100可以包括训练单元110,转换单元111,部署单元112,其中,
所述训练单元110,用于对初始模型进行量化训练,获得第一模型;其中,第一模型包括伪量化节点;
所述转换单元111,根据目标场景对应的部署策略对第一模型进行数据转换处理,获得目标场景对应的模型部署文件;
所述部署单元112,基于模型部署文件在目标场景中部署第一模型。
在本申请的实施例中,进一步地,图6为本申请实施例提出的模型部署装置的组成结构示意图,如图6所示,本申请实施例提出的模型部署装置200还可以包括处理器121,存储器122,通信接口123,和用于连接处理器121、存储器122以及通信接口123的总线124。
在本申请的实施例中,上述处理器121可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgRAMmable Logic Device,PLD)、现场可编程门阵列(Field ProgRAMmable GateArray,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。模型部署装置200可以包括存储器122,该存储器122可以与处理器121连接,其中,存储器122用于存储可执行程序代码,该程序代码包括计算机操作指令,存储器122可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。
在本申请的实施例中,总线124用于连接通信接口123、处理器121以及存储器122以及这些器件之间的相互通信。
在实际应用中,上述存储器122可以是易失性存储器(volatile memory),例如随机存取存储器(Random-ACCess Memory,RAM);或者非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器121提供指令和数据。
进一步地,在本申请的实施例中,所述存储器122,用于存储能够在所述处理器上运行的计算机程序;
所述处理器121,用于在运行所述计算机程序时,对初始模型进行量化训练,获得第一模型;其中,第一模型包括伪量化节点;根据目标场景对应的部署策略对第一模型进行数据转换处理,获得目标场景对应的模型部署文件;基于模型部署文件在目标场景中部署第一模型。
在本申请的实施例中,进一步地,图7为本申请实施例提出的芯片的组成结构示意图,如图7所示,本申请实施例提出的芯片300可以包括处理器121。
进一步地,在本申请的实施例中,所述处理器121,还用于对初始模型进行量化训练,获得第一模型;其中,第一模型包括伪量化节点;根据目标场景对应的部署策略对第一模型进行数据转换处理,获得目标场景对应的模型部署文件;基于模型部署文件在目标场景中部署第一模型。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random ACCess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上所述的模型部署方法。
具体来讲,本实施例中的一种模型部署方法对应的程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种模型部署方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:
对初始模型进行量化训练,获得第一模型;其中,所述第一模型包括伪量化节点;
根据目标场景对应的部署策略对所述第一模型进行数据转换处理,获得所述目标场景对应的模型部署文件;
基于所述模型部署文件在所述目标场景中部署所述第一模型。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (11)
1.一种模型部署方法,其特征在于,所述方法包括:
对初始模型进行量化训练,获得第一模型;其中,所述第一模型包括伪量化节点;
根据目标场景对应的部署策略对所述第一模型进行数据转换处理,获得所述目标场景对应的模型部署文件;
基于所述模型部署文件在所述目标场景中部署所述第一模型。
2.根据权利要求1所述的方法,其特征在于,所述对初始模型进行量化训练,获得第一模型,包括:
在所述初始模型中增加所述伪量化节点,获得伪量化模型;
训练所述伪量化模型,获得所述第一模型。
3.根据权利要求1或2所述的方法,其特征在于,在对初始模型进行量化训练,获得第一模型之后,所述方法还包括:
输出所述第一模型的模型数据;其中,所述第一模型的模型数据包括结构参数,权重参数以及量化参数。
4.根据权利要求3所述的方法,其特征在于,所述目标场景对应的部署策略包括高通平台的部署策略,所述根据目标场景对应的部署策略对所述第一模型进行数据转换处理,获得所述目标场景对应的模型部署文件,包括:
基于所述高通平台的部署策略,根据所述量化参数生成第一文件,同时根据所述结构参数和所述权重参数构建第二模型;
根据所述第一文件和所述第二模型确定第三模型;
基于所述第三模型的模型数据生成所述模型部署文件。
5.根据权利要求3所述的方法,其特征在于,所述目标场景对应的部署策略包括联发科技MTK平台的部署策略,所述根据目标场景对应的部署策略对所述第一模型进行数据转换处理,获得所述目标场景对应的模型部署文件,包括:
基于所述MTK平台的部署策略,对所述第一模型进行转换处理,确定第四模型;
基于所述第四模型的模型数据生成所述模型部署文件。
6.根据权利要求1-2,3-4中的任一项所述的方法,其特征在于,
所述初始模型包括Pytorch模型中的浮点型Float模型;
所述第一模型包括Pytorch模型。
7.根据权利要求1-2,3-4中的任一项所述的方法,其特征在于,所述基于所述模型部署文件在所述目标场景中部署所述第一模型之后,所述方法还包括:
运行部署在所述目标场景中第一模型,以通过所述第一模型对初始图像进行图像处理,获得处理后的图像。
8.一种模型部署设备,其特征在于,所述模型部署设备包括:训练单元,转换单元,部署单元,
所述训练单元,用于对初始模型进行量化训练,获得第一模型;其中,所述第一模型包括伪量化节点;
所述转换单元,根据目标场景对应的部署策略对所述第一模型进行数据转换处理,获得所述目标场景对应的模型部署文件;
所述部署单元,基于所述模型部署文件在所述目标场景中部署所述第一模型。
9.一种模型部署装置,其特征在于,所述模型部署装置包括:处理器和存储器;其中,
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行如权利要求1-7中的任一项所述的方法。
10.一种芯片,其特征在于,所述芯片包括处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备实现所述权利要求1-7中的任一项所述的模型部署方法。
11.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时,实现如权利要求1-7中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410102557.XA CN117931211A (zh) | 2024-01-24 | 2024-01-24 | 模型部署方法、设备、装置、芯片及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410102557.XA CN117931211A (zh) | 2024-01-24 | 2024-01-24 | 模型部署方法、设备、装置、芯片及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117931211A true CN117931211A (zh) | 2024-04-26 |
Family
ID=90766153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410102557.XA Pending CN117931211A (zh) | 2024-01-24 | 2024-01-24 | 模型部署方法、设备、装置、芯片及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117931211A (zh) |
-
2024
- 2024-01-24 CN CN202410102557.XA patent/CN117931211A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020190542A1 (en) | Quantization-aware neural architecture search | |
KR20190117713A (ko) | 신경망 아키텍처 최적화 | |
US11604960B2 (en) | Differential bit width neural architecture search | |
TW202145142A (zh) | 量化訓練、圖像處理方法及裝置、儲存媒體 | |
CN110689136B (zh) | 一种深度学习模型获得方法、装置、设备及存储介质 | |
CN114004352B (zh) | 一种仿真实现方法、神经网络编译器以及计算机可读存储介质 | |
CN113241064B (zh) | 语音识别、模型训练方法、装置、电子设备和存储介质 | |
CN114429208A (zh) | 基于残差结构剪枝的模型压缩方法、装置、设备及介质 | |
CN111738435A (zh) | 一种基于移动设备的在线稀疏训练方法及系统 | |
CN114861907A (zh) | 数据计算方法、装置、存储介质和设备 | |
CN113408704A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN113228056B (zh) | 运行时硬件模拟仿真方法、装置、设备及存储介质 | |
CN117931211A (zh) | 模型部署方法、设备、装置、芯片及存储介质 | |
US20220405561A1 (en) | Electronic device and controlling method of electronic device | |
CN112633516B (zh) | 性能预测和机器学习编译优化方法及装置 | |
CN115688917A (zh) | 神经网络模型的训练方法、装置、电子设备及存储介质 | |
CN114565080A (zh) | 神经网络压缩方法及装置、计算机可读介质、电子设备 | |
CN111931930A (zh) | 模型剪枝方法、装置及电子设备 | |
CN116384452B (zh) | 动态网络模型构建方法、装置、设备及存储介质 | |
CN116523052B (zh) | 一种快速推理方法、装置及设备 | |
CN116755714B (zh) | 深度神经网络模型的运行方法、装置、设备和存储介质 | |
CN117114075B (zh) | 神经网络模型量化方法、装置、设备及介质 | |
CN115331067A (zh) | 图像的处理方法、装置、设备及存储介质 | |
CN117273112A (zh) | 深度学习框架调整方法、装置、设备、介质和程序产品 | |
CN117474050A (zh) | 模型量化方法、装置、计算机设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |