模型的离线量化方法、装置、电子设备以及存储介质与流程

文档序号:23005350发布日期:2020-11-20 11:56阅读:128来源:国知局
模型的离线量化方法、装置、电子设备以及存储介质与流程

本申请涉及计算机技术领域中的人工智能、深度学习、图像处理技术领域,尤其涉及一种模型的离线量化方法、装置、电子设备以及存储介质。



背景技术:

目前量化模型的主要方式包括在线量化和离线量化。然而在线量化较难实现,且成本较高,离线量化大多采用随机选取图片计算相对熵的方式,该方法虽然易于实现,但精度损失较大。



技术实现要素:

提供了一种模型的离线量化方法、装置、电子设备以及存储介质。

根据第一方面,提供了一种模型的离线量化方法,包括:获取待量化模型的搜索空间,其中,所述搜索空间中包括多个离线量化策略;对所述搜索空间进行量化策略的进化搜索,以获取所述待量化模型的目标离线量化策略;以及按照所述目标离线量化策略,对所述待量化模型进行离线量化,以生成目标量化模型。

根据第二方面,提供了一种模型的离线量化装置,包括:第一获取模块,用于获取待量化模型的搜索空间,其中,所述搜索空间中包括多个离线量化策略;搜索模块,用于对所述搜索空间进行量化策略的进化搜索,以获取所述待量化模型的目标离线量化策略;以及量化模块,用于按照所述目标离线量化策略,对所述待量化模型进行离线量化,以生成目标量化模型。

根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一方面所述的模型的离线量化方法。

根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请第一方面所述的模型的离线量化方法。

本申请提供的实施例,至少具有如下有益技术效果:

根据本申请的模型的离线量化方法、装置、电子设备以及存储介质,能够通过搜索自动获取离线量化策略,并按照离线量化策略对模型进行离线量化,且量化后模型精度较高,易于实现。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是根据本申请第一实施例的模型的离线量化方法的流程示意图;

图2是根据本申请第二实施例的模型的离线量化方法中对搜索空间进行量化策略的进化搜索的流程示意图;

图3是根据本申请第三实施例的模型的离线量化方法中根据多个编码进行量化策略的进化搜索的流程示意图;

图4是根据本申请第四实施例的模型的离线量化方法中基于遗传算法的迭代搜索过程的流程示意图;

图5是根据本申请第五实施例的模型的离线量化方法中获取待量化模型的搜索空间的流程示意图;

图6是根据本申请第一实施例的模型的离线量化装置的框图;

图7是用来实现本申请实施例的模型的离线量化方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1是根据本申请第一实施例的模型的离线量化方法的流程示意图。

如图1所示,本申请第一实施例的模型的离线量化方法包括:

s101,获取待量化模型的搜索空间,其中,搜索空间中包括多个离线量化策略。

其中,搜索空间可根据实际情况进行标定,在该搜索空间中包括预先构建的多个离线量化策略。

可选的,待量化模型可为图像处理模型,可以基于图像处理模型的量化和训练需求,预先构建一个搜索空间,在搜索空间进行后续离线量化策略的搜索,通过搜索空间来约束离线量化策略的搜索过程,避免过度搜索。

s102,对搜索空间进行量化策略的进化搜索,以获取待量化模型的目标离线量化策略。

在获取到搜索空间后就可以模拟自然进化过程,以在搜索空间内搜索出最优的离线量化策略。需要说明的是,对搜索空间进行量化策略的进化搜索,指的是每次对搜索空间进行量化策略的搜索时,需要参考之前的搜索结果,使得当前搜索到的量化策略优于之前搜索到的量化策略。

s103,按照目标离线量化策略,对待量化模型进行离线量化,以生成目标量化模型。

需要说明的是,模型量化指的是将浮点存储转换为整型存储的一种模型压缩方法,可显著缩小模型所需的存储空间和带宽需求,提升模型的运行速度。例如,可对float32模型量化,将其转换为转换为int8模型。

综上,根据本申请实施例的模型的离线量化方法,能够通过搜索自动获取离线量化策略,并按照离线量化策略对模型进行离线量化,该方法易于实现,且量化后模型精度较高,进而加快模型的运行速度。

模型的精度和运行速度均与模型的复杂度有关,模型越复杂,则模型的精度和运行速度往往越高,然而通过本申请的模型训练方法可显著提升模型的精度和运行速度,进而体积小的模型也可以具有较高的精度和运行速度,便于应用在空间资源受限的硬件中,比如,手机、移动终端等,即该方法可带来较大的硬件收益。

通过本申请的模型训练方法获取的图像处理模型,进行图像识别,由于模型结构简单、且精度高,从而使得在不占用过多资源的情况下,提高了图像识别的准确性和可靠性,而且提高了图像处理的速度,降低了图像处理模型对电子设备的硬件性能要求,降低了电子设备的硬件成本。

在上述实施例的基础上,步骤s102中对搜索空间进行量化策略的进化搜索,以获取待量化模型的目标离线量化策略,如图2所示,可包括:

s201,获取多个离线量化策略对应的多个编码。

可以理解的是,离线量化策略是个抽象的概念,为了便于实现离线量化策略的搜索,可将每个离线量化策略用一个编码来表示,即每个离线量化策略均对应一个编码,且每个编码也可确定唯一的离线量化策略。

可选的,编码可为二进制、八进制等形式的编码,这里不做过多限定。

s202,根据多个编码进行量化策略的进化搜索,以获取目标离线量化策略。

可以理解的是,可通过对编码进行进化搜索,以实现离线量化策略的进化搜索。

由此,该方法可通过搜索编码来实现离线量化策略的搜索,易于实现。

在上述实施例的基础上,步骤s202中根据多个编码进行量化策略的进化搜索,以获取目标离线量化策略,如图3所示,可包括:

s301,利用多个编码构建初始种群。

可以理解的是,可基于多个离线量化策略对应的多个编码构建初始种群。可选的,初始种群中可包括上述多个编码对应的多个染色体。

s302,从初始种群开始,进入遗传算法的迭代搜索过程,以获取目标离线量化策略。

可以理解的是,遗传算法的迭代搜索过程可包括根据初始种群中的多个染色体交叉产生第一子代,根据第一子代中的多个染色体交叉产生第二子代,以此类推,然后基于生成的子代获取相应的离线量化策略,然后利用该离线量化策略对模型进行量化处理,通过不断迭代的过程,最终迭代出目标离线量化策略。一般可以设定迭代的代数或者次数,当到设定的代数后,就可以得到目标离线量化策略。

其中,遗传算法的每次迭代会基于之前的种群进行遗传操作,例如选择、交叉及变异等操作,以生成新的种群。其中,交叉可包括横向交叉、纵向交叉等方式,这里不做过多限定。

由此,该方法可采用遗传算法实现离线量化策略的进化搜索,将策略的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程,能够较快地获得较好的离线量化策略,进而有利于提高搜索效率和准确性。

在上述实施例的基础上,步骤s302中的从初始种群开始,进入遗传算法的迭代搜索过程,以获取目标离线量化策略,如图4所示,可包括:

s401,针对每次迭代出的种群,对种群中的染色体进行解码,获取染色体对应的候选离线量化策略,其中,每个染色体对应一个编码。

可以理解的是,可对每次迭代出的种群中的染色体进行解码,以获取染色体对应的编码,进而可获取其对应的候选离线量化策略。

s402,根据候选离线量化策略,对待量化模型进行量化,以得到候选量化模型。

关于步骤s402的相关内容请参见上述实施例,这里不再赘述。

s403,对候选量化模型进行评估,以获取候选离线量化策略的适应度。

可以理解的是,候选离线量化策略的适应度可反映候选离线量化策略的好坏,适应度越高,则说明候选离线量化策略越好。

s404,若适应度达到设定的搜索目标,则将候选离线量化策略作为目标离线量化策略。

其中,搜索目标可根据实际情况进行标定。

可以理解的是,若适应度达到设定的搜索目标,则说明候选离线量化策略的适应度较高,此时可结束遗传算法的迭代搜索过程,将候选离线量化策略作为目标离线量化策略。

由此,该方法可通过解码获取候选离线量化策略,且在适应度达到设定的搜索目标时,将候选离线量化策略作为目标离线量化策略。

可选的,若累计迭代次数达到预设次数,且候选离线量化策略的适应度未达到搜索目标,此时可结束遗传算法的迭代搜索过程,并选取进化搜索过程中适应度最大的候选离线量化策略,作为目标离线量化策略。其中,预设次数可根据实际情况进行标定。

由此,该方法可在累计迭代次数达到预设次数,且候选离线量化策略的适应度未达到搜索目标时,将适应度最大的候选离线量化策略作为目标离线量化策略。

可选的,若累计迭代次数未达到预设次数,且候选离线量化策略的适应度未达到搜索目标,此时可继续遗传算法的迭代搜索过程,对种群进行遗传操作,以生成下一代的种群,以继续获取目标离线量化策略。

在上述实施例的基础上,步骤s403中对候选量化模型进行评估,以获取候选离线量化策略的适应度,可包括利用验证集对候选量化模型进行验证,以获取候选量化模型的评估精度,作为适应度。其中,验证集中可包括多个样本,可根据实际情况进行标定,评估精度指的是利用验证集对候选量化模型进行验证后,验证正确的样本数与所有样本数的百分比。

或者,步骤s403中对候选量化模型进行评估,以获取候选离线量化策略的适应度,还可包括获取待量化模型和候选量化模型的相对熵(kullback-leiblerdivergence,kl散度),作为适应度。

或者,步骤s403中对候选量化模型进行评估,以获取候选离线量化策略的适应度,还可包括对验证集的评估精度和相对熵进行加权,作为适应度。

可选的,对验证集的评估精度和相对熵进行加权,作为适应度,可包括分别获取验证集的评估精度和相对熵对应的加权系数,并获取验证集的评估精度和其对应的加权系数的第一乘积,以及获取相对熵和其对应的加权系数的第二乘积,将第一乘积和第二乘积的和,作为适应度。

由此,该方法可根据验证集的评估精度,或者相对熵,或者加权后的验证集的评估精度和相对熵,以获取候选离线量化策略的适应度。

在上述实施例的基础上,步骤s101中获取待量化模型的搜索空间,如图5所示,可包括:

s501,获取待量化模型的量化影响因子。

其中,量化影响因子指的是影响模型量化结果的对象。

可选的,量化影响因子可包括验证集的评估精度、相对熵分别对应的加权系数、种子数、每个批次的样本数(batchsize)、每次量化模型选取的样本批次序号(batchnumber)等。

s502,根据量化影响因子,生成待量化模型的搜索空间。

可以理解的是,每个量化影响因子可能有多个可能的取值。

可选的,根据量化影响因子,生成待量化模型的搜索空间,可包括获取每种量化影响因子的所有可能取值,根据所有可能取值进行编码,以生成多个编码,每个编码对应一个离线量化策略,进而可生成带量化模型的搜索空间。

例如,若量化影响因子包括种子数、batchsize、batchnumber,且种子数有20种可能取值,batchsize有10种可能取值,batchnumber有10种可能取值,则根据上述所有可能取值可生成2000个编码,对应2000个离线量化策略,即待量化模型的搜索空间可包括2000个离线量化策略。

由此,该方法可根据待量化模型的量化影响因子,生成搜索空间,可考虑到量化影响因子对搜索空间的影响。

图6是根据本申请第一实施例的模型的离线量化装置的框图。

如图6所示,本申请实施例的模型的离线量化装置600,包括:第一获取模块601、搜索模块602、量化模块603。

第一获取模块601用于获取待量化模型的搜索空间,其中,所述搜索空间中包括多个离线量化策略。

搜索模块602用于对所述搜索空间进行量化策略的进化搜索,以获取所述待量化模型的目标离线量化策略。

量化模块603用于按照所述目标离线量化策略,对所述待量化模型进行离线量化,以生成目标量化模型。

在本申请的一个实施例中,其中,所述搜索模块602包括第一获取单元,用于获取所述多个离线量化策略对应的多个编码;第二获取单元,用于根据所述多个编码进行量化策略的进化搜索,以获取所述目标离线量化策略。

在本申请的一个实施例中,其中,所述第二获取单元包括构建子单元,用于利用所述多个编码构建初始种群;以及获取子单元,用于从所述初始种群开始,进入遗传算法的迭代搜索过程,以获取所述目标离线量化策略。

在本申请的一个实施例中,其中,所述获取子单元包括解码小单元,用于针对每次迭代出的种群,对所述种群中的染色体进行解码,获取所述染色体对应的候选离线量化策略,其中,每个所述染色体对应一个编码;量化小单元,用于根据所述候选离线量化策略,对所述待量化模型进行量化,以得到候选量化模型;评估小单元,用于对所述候选量化模型进行评估,以获取所述候选离线量化策略的适应度;以及第一确定小单元,用于若所述适应度达到设定的搜索目标,则将所述候选离线量化策略作为所述目标离线量化策略。

在本申请的一个实施例中,其中,所述评估小单元具体用于利用验证集对所述候选量化模型进行验证,以获取所述候选量化模型的评估精度,作为所述适应度;或者,获取所述待量化模型和所述候选量化模型的相对熵,作为所述适应度;或者,对所述验证集的评估精度和所述相对熵进行加权,作为所述适应度。

在本申请的一个实施例中,其中,所述获取子单元还包括第二确定小单元,所述第二确定小单元用于若累计迭代次数达到预设次数,且所述候选离线量化策略的适应度未达到所述搜索目标,则选取进化搜索过程中所述适应度最大的候选离线量化策略,作为所述目标离线量化策略。

在本申请的一个实施例中,其中,所述获取子单元还包括第三确定小单元,所述第三确定小单元用于若累计迭代次数未达到预设次数,且所述候选离线量化策略的适应度未达到所述搜索目标,则对所述种群进行遗传操作,以生成下一代的种群。

在本申请的一个实施例中,其中,所述第一获取模块包括第三获取单元,用于获取待量化模型的量化影响因子;以及生成单元,用于根据所述量化影响因子,生成所述待量化模型的所述搜索空间。

根据本申请实施例的模型的离线量化装置,能够通过搜索自动获取离线量化策略,并按照离线量化策略对模型进行离线量化,且量化后模型精度较高,易于实现。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图7所示,是根据本申请实施例的模型的离线量化方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器701可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。

存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的模型的离线量化方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的模型的离线量化方法。

存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的模型的离线量化方法对应的程序指令/模块(例如,附图6所示的第一获取模块601、搜索模块602、量化模块603)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的模型的离线量化方法。

存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据模型的离线量化方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至模型的离线量化方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

模型的离线量化方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。

输入装置703可接收输入的数字或字符信息,以及产生与模型的离线量化方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

根据本申请实施例的技术方案,能够根据以类型为粒度的损失函数和以样本为粒度的损失函数,生成总损失函数,综合考虑了样本的类别均衡和难易均衡问题,还可根据总损失函数对分类模型进行训练,可加快分类模型的收敛速度,显著提升分类模型的精度,还可带来硬件收益。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1