CN108932124A - 神经网络模型压缩方法、装置、终端设备及存储介质 - Google Patents
神经网络模型压缩方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN108932124A CN108932124A CN201810670259.5A CN201810670259A CN108932124A CN 108932124 A CN108932124 A CN 108932124A CN 201810670259 A CN201810670259 A CN 201810670259A CN 108932124 A CN108932124 A CN 108932124A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network model
- parameter
- fixed point
- compression
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- 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
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种神经网络模型压缩方法、装置、终端设备及存储介质,该方法包括根据任务处理事件获取对应的神经网络模型;对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数;对所述定点神经网络模型参数进行编码压缩处理,并将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存,本方案显著降低了神经网络模型对硬件资源的占用,节省了存储空间。
Description
技术领域
本申请实施例涉及计算机技术,尤其涉及一种神经网络模型压缩方法、装置、终端设备及存储介质。
背景技术
神经网络(Neural Networks,NN)是由大量简单的处理单元(神经元)广泛地互相连接而形成的复杂网络系统,其反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应以及自学能力。
现有技术中,神经网络模型以被大量应用在人工智能、机器学习领域,由于部署神经网络模型需要的资源太多,并没有在终端设备上大量应用。特别是随着终端设备显示分辨率的增加、处理任务的复杂化,深度学习需要更深的神经网络模型来得到可靠的精度,由此也导致了神经网络模型参数数量的急剧上升,给深度学习的神经网络模型的部署带来了问题。
发明内容
本发明提供了一种神经网络模型压缩方法、装置、终端设备及存储介质,显著降低了神经网络模型对硬件资源的占用,节省了存储空间。
第一方面,本申请实施例提供了一种神经网络模型压缩方法,包括:
根据任务处理事件获取对应的神经网络模型;
对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数;
对所述定点神经网络模型参数进行编码压缩处理,并将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存。
第二方面,本申请实施例还提供了一种神经网络模型压缩装置,包括:
模型获取模块,用于根据任务处理事件获取对应的神经网络模型;
参数处理模块,用于对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数;
压缩模块,用于对所述定点神经网络模型参数进行编码压缩处理,并将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存。
第三方面,本申请实施例还提供了一种终端设备,包括:处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的神经网络模型压缩方法。
第四方面,本申请实施例还提供了一种包含终端设备可执行指令的存储介质,所述终端设备可执行指令在由终端设备处理器执行时用于执行本申请实施例所述的神经网络模型压缩方法。
本方案中,根据任务处理事件获取对应的神经网络模型,对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数,对所述定点神经网络模型参数进行编码压缩处理,并将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存,显著降低了神经网络模型对硬件资源的占用,节省了存储空间。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本申请实施例提供的一种神经网络模型压缩方法的流程图;
图2是本发明实施例提供的另一种神经网络模型压缩方法的流程图;
图3是本申请实施例提供的另一种神经网络模型压缩方法的流程图;
图4是本申请实施例提供的另一种神经网络模型压缩方法的流程图;
图5是本申请实施例提供的另一种神经网络模型压缩方法的流程图;
图6是本申请实施例提供的一种神经网络模型压缩装置的结构框图;
图7是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1是本申请实施例提供的一种神经网络模型压缩方法的流程图,可适用于神经网络模型进行压缩,该方法可以由本申请实施例提供的终端设备或服务器来执行,该终端设备的神经网络模型压缩装置可采用软件和/或硬件的方式实现,如图1所示,本实施例提供的具体方案如下:
步骤S101、根据任务处理事件获取对应的神经网络模型。
其中,不同的任务处理事件可分别用于处理不同的任务,相应的,和处理任务所需要的神经网络模型相对应。示例性的,如处理场景分类任务可以是使用MobileNet神经网络模型,该神经网络模型可用于嵌入式终端设备分析视觉应用;当处理场景检测任务时可以使用MobileNet+SSD神经网络模型。
在一个实施例中,针对终端设备的不同应用场景所对应的任务处理事件确定需要进行压缩处理的神经网络模型,获取该神经网络模型以用于后续的压缩处理。示例性的,当确定出终端设备需要执行场景分类任务时,则获取MobileNet神经网络模型,当确定出终端设备需要执行场景检测任务时,获取MobileNet+SSD神经网络模型。具体的,可通过确定终端设备安装的应用程序的标识以确定其对应的任务处理事件。
步骤S102、对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数。
其中,定点化处理可用于将神经网络模型中的浮点参数修改为定点参数,浮点参数的小数位可随机变化,其可表达的小数范围较定点参数更广,相应的浮点参数的运算量也非常庞大,定点参数指在一个数中,整数部分和小数部分固定的参数,示例性的,如一个定点参数总共32位,其中小数可以占低13位。
在一个实施例中,对神经网络模型中的参数进行定点化处理,将神经网络模型中的浮点参数设置修改为定点参数,由此减少神经网络模型的存储空间。示例性的,针对int类型数据而言,可通过移位处理的方式进行转换,如上述示例中,小数占低13位的情况,可进行如下操作以完成定点化处理:
typedefint fix_t;
#define FIX_FRACBITS 13;
#define INTTOFIX(fix_t,fracbits,x)fix_t((x)<<(fracbits))
针对double型小数转化为定点数的方式可以是如下方法:
#define DBLTOFIX(fix_t,fracbits,x)\
fix_t(((x)*(double)((fix_t)(1)<<(fracbits)))))
在另一个实施例中,通过将神经网络模型中的浮点类型数据设置为整型类型数据以减小存储的参数的精度,同时相应减少了基于这些参数的运算量,以压缩神经网络模型。当神经网络模型中的浮点参数修改为定点参数后,相应的,重新进行神经网络模型的训练,依据定点参数进行神经网络模型的训练,得到定点神经网络模型参数。
步骤S103、对所述定点神经网络模型参数进行编码压缩处理,并将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存。
当对神经网络模型中的参数进行定点化处理后,对定点神经网络模型参数进一步的进行编码压缩处理。示例性的,该编码压缩处理可以是二进制算数编码压缩处理或哈夫曼编码压缩处理。具体而言,针对二进制算数编码压缩,以二进制压缩一个int类型的数据为例,采用16位对其进行表示,可采用如下两种方式:
或者:
当压缩处理完毕后,相应的将参数和对应的神经网络模型进行保存以部署在终端设备中。其中,定点神经网络模型参数和对应的神经网络模型进行配套使用,定点神经网络模型参数指定了神经网络模型中的函数关系以及学习训练方法。
由上述内容可知,通过对参数进行定点化处理以及编码压缩极大的减小了神经网络模型部署所需的资源占用空间,提高了神经网络模型的适用性。
图2是本申请实施例提供的另一种神经网络模型压缩方法的流程图,可选的,所述对所述神经网络模型中的参数进行定点化处理包括:对所述神经网络模型中各层的层参数进行定点化处理。如图2所示,技术方案具体如下:
步骤S201、根据任务处理事件获取对应的神经网络模型。
步骤S202、对所述神经网络模型中各层的层参数进行定点化处理得到定点神经网络模型参数。
具体的,对神经网络模型中的参数进行定点化方式可以是:获取神经网络模型中各层的权重矩阵,将权重矩阵中的各矩阵元素由浮点型数据转换为整型数据。
步骤S203、对所述定点神经网络模型参数进行编码压缩处理,并将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存。
由上述可知,通过对神经网络各层的层参数进行定点化处理并对处理后的数据进行压缩,减小了神经网络模型部署时占用的内存,提高了神经网络模型的计算速度。
图3是本申请实施例提供的另一种神经网络模型压缩方法的流程图,可选的,在所述将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存之前,还包括:对所述神经网络模型中各层的边以及权重值进行处理,得到压缩神经网络模型;相应的,所述所述将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存包括:将压缩处理后的定点神经网络模型参数和所述压缩神经网络模型进行保存。如图3所示,技术方案具体如下:
步骤S301、根据任务处理事件获取对应的神经网络模型。
步骤S302、对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数。
步骤S303、对所述定点神经网络模型参数进行编码压缩处理。
步骤S304、对所述神经网络模型中各层的边以及权重值进行处理,得到压缩神经网络模型。
在一个实施例中,对神经网络模型中各层的边以及权重值进行处理,具体的,在对神经网络模型中各层的边进行处理时,可将神经网络模型中各层的小于预设权值的边进行删除,以得到压缩神经网络模型。神经网络模型由一层一层的节点通过边连接,每个边上对应有各自的权重值,当确定出某些边的权重值较小时(如小于设定的预设权值,其预设权值可根据不同的神经网络模型的权值范围进行调整,可以是0、-1、1、3、5等),则判定这些边的重要程度较低,对其进行删除以减少神经网络模型占用的内存。
步骤S305、将压缩处理后的定点神经网络模型参数和所述压缩神经网络模型进行保存。
由上述可知,通过对神经网络模型中各层的边以及权重值进行处理,以进一步压缩神经网络模型的体积大小,便于神经网络模型的部署。
图4是本申请实施例提供的另一种神经网络模型压缩方法的流程图,可选的,在所述将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存之前,还包括:对所述神经网络模型中相邻层的边的权重值进行聚类处理,将聚类处理得到的权重值结果作为相邻层的边的权重值。如图4所示,技术方案具体如下:
步骤S401、根据任务处理事件获取对应的神经网络模型。
步骤S402、对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数。
步骤S403、对所述定点神经网络模型参数进行编码压缩处理。
步骤S404、对所述神经网络模型中各层的小于预设权值的边进行删除。
步骤S405、对所述神经网络模型中相邻层的边的权重值进行聚类处理,将聚类处理得到的权重值结果作为相邻层的边的权重值得到压缩神经网络模型。
在一个实施例中,通过设置神经网络模型中的边共用相同的一个权重值以缩减参数个数,示例性的,假设相邻两层之间是全连接,每层有1000个节点,则相应的权重参数有1000*1000=100万个。对该一百万个权值进行聚类,将每一类的均值代替这一类中的每个权重值,由此使得同属于一类的边共享相同的权重值,显著的降低了权重值参数的个数。
步骤S406、将压缩处理后的定点神经网络模型参数和所述压缩神经网络模型进行保存。
由上述可知,通过对神经网络模型中相邻层的边的权重值进行聚类处理,以减少参数个数,合理的压缩了神经网络模型的体积大小,便于神经网络模型的部署。
图5是本申请实施例提供的另一种神经网络模型压缩方法的流程图,可选的,在所述将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存之前,还包括:对所述神经网络模型中各层的边的权重值进行二值化处理。如图5所示,技术方案具体如下:
步骤S501、根据任务处理事件获取对应的神经网络模型。
步骤S502、对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数。
步骤S503、对所述定点神经网络模型参数进行编码压缩处理。
步骤S504、对所述神经网络模型中各层的小于预设权值的边进行删除。
步骤S505、对所述神经网络模型中各层的边的权重值进行二值化处理得到压缩神经网络模型。
在一个实施例中,将原由浮点数表示的神经网络模型中各层的边的权重值进行二值化处理,用二进制的数表示(+1或-1)。具体的,二值化处理可采用随机分配二进制数的方式为神经网络模型中各层的边赋值。
步骤S506、将压缩处理后的定点神经网络模型参数和所述压缩神经网络模型进行保存。
由上述可知,通过二值化处理神经网络模型中各层的边的权重值,使得原来由32bit大小的或者更大的权重值参量减小为一个bit表示,显著缩小了神经网络模型的内存占用空间,便于神经网络模型的部署。
需要说明的是,在上述神经网络模型压缩方法对神经网络模型进行压缩后,进一步的包括对神经网络模型的精度进行测试,当精度满足项目需求时,可相应的将该压缩方法得到的神经网络模型参数和对应的压缩后的神经网络模型进行部署。
图6是本申请实施例提供的一种神经网络模型压缩装置的结构框图,该装置用于执行上述实施例提供的神经网络模型压缩方法,具备执行方法相应的功能模块和有益效果。如图6所示,该装置具体包括:模型获取模块101、参数处理模块102和压缩模块103,其中,
模型获取模块101,用于根据任务处理事件获取对应的神经网络模型。
其中,不同的任务处理事件可分别用于处理不同的任务,相应的,和处理任务所需要的神经网络模型相对应。示例性的,如处理场景分类任务可以是使用MobileNet神经网络模型,该神经网络模型可用于嵌入式终端设备分析视觉应用;当处理场景检测任务时可以使用MobileNet+SSD神经网络模型。
在一个实施例中,针对终端设备的不同应用场景所对应的任务处理事件确定需要进行压缩处理的神经网络模型,获取该神经网络模型以用于后续的压缩处理。示例性的,当确定出终端设备需要执行场景分类任务时,则获取MobileNet神经网络模型,当确定出终端设备需要执行场景检测任务时,获取MobileNet+SSD神经网络模型。具体的,可通过确定终端设备安装的应用程序的标识以确定其对应的任务处理事件。
参数处理模块102,用于对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数。
其中,定点化处理可用于将神经网络模型中的浮点参数修改为定点参数,浮点参数的小数位可随机变化,其可表达的小数范围较定点参数更广,相应的浮点参数的运算量也非常庞大,定点参数指在一个数中,整数部分和小数部分固定的参数,示例性的,如一个定点参数总共32位,其中小数可以占低13位。
在一个实施例中,对神经网络模型中的参数进行定点化处理,将神经网络模型中的浮点参数设置修改为定点参数,由此减少神经网络模型的存储空间。
在另一个实施例中,通过将神经网络模型中的浮点类型数据设置为整型类型数据以减小存储的参数的精度,同时相应减少了基于这些参数的运算量,以压缩神经网络模型。当神经网络模型中的浮点参数修改为定点参数后,相应的,重新进行神经网络模型的训练,依据定点参数进行神经网络模型的训练,得到定点神经网络模型参数。
压缩模块103,用于对所述定点神经网络模型参数进行编码压缩处理,并将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存。
当对神经网络模型中的参数进行定点化处理后,对定点神经网络模型参数进一步的进行编码压缩处理。示例性的,该编码压缩处理可以是二进制算数编码压缩处理或哈夫曼编码压缩处理。
当压缩处理完毕后,相应的将参数和对应的神经网络模型进行保存以部署在终端设备中。其中,定点神经网络模型参数和对应的神经网络模型进行配套使用,定点神经网络模型参数指定了神经网络模型中的函数关系以及学习训练方法。
由上述内容可知,通过对参数进行定点化处理以及编码压缩极大的减小了神经网络模型部署所需的资源占用空间,提高了神经网络模型的适用性。
在一个可能的实施例中,所述参数处理模块102具体用于:
将所述神经网络模型中的浮点参数设置为定点参数;
依据所述定点参数进行神经网络模型的训练,得到定点神经网络模型参数。
在一个可能的实施例中,所述参数处理模块102具体用于:将所述神经网络模型中的float类型数据修改为int类型数据。
在一个可能的实施例中,所述压缩模块103还用于:
在所述将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存之前,对所述神经网络模型中各层的边以及权重值进行处理,得到压缩神经网络模型;将压缩处理后的定点神经网络模型参数和所述压缩神经网络模型进行保存。
在一个可能的实施例中,所述压缩模块103具体用于:
对所述神经网络模型中各层的小于预设权值的边进行删除。
在一个可能的实施例中,所述压缩模块103具体用于:
对所述神经网络模型中相邻层的边的权重值进行聚类处理,将聚类处理得到的权重值结果作为相邻层的边的权重值;或
对所述神经网络模型中各层的边的权重值进行二值化处理。
在一个可能的实施例中,所述压缩模块103具体用于:
对所述定点神经网络模型参数进行二进制算数或哈夫曼编码压缩处理。
本实施例在上述各实施例的基础上提供了一种终端设备,图7是本申请实施例提供的一种终端设备的结构示意图,如图7所示,该终端设备200包括:存储器201、处理器(Central Processing Unit,CPU)202、外设接口203、RF(Radio Frequency,射频)电路205、音频电路206、扬声器211、电源管理芯片208、输入/输出(I/O)子系统209、触摸屏212、其他输入/控制设备210以及外部端口204,这些部件通过一个或多个通信总线或信号线207来通信。
应该理解的是,图示终端设备200仅仅是终端设备的一个范例,并且终端设备200可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于多开应用的权限管理的终端设备进行详细的描述,该终端设备以智能手机为例。
存储器201,所述存储器201可以被CPU202、外设接口203等访问,所述存储器201可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口203,所述外设接口203可以将设备的输入和输出外设连接到CPU202和存储器201。
I/O子系统209,所述I/O子系统209可以将设备上的输入输出外设,例如触摸屏212和其他输入/控制设备210,连接到外设接口203。I/O子系统209可以包括显示控制器2091和用于控制其他输入/控制设备210的一个或多个输入控制器2092。其中,一个或多个输入控制器2092从其他输入/控制设备210接收电信号或者向其他输入/控制设备210发送电信号,其他输入/控制设备210可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器2092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏212,所述触摸屏212是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统209中的显示控制器2091从触摸屏212接收电信号或者向触摸屏212发送电信号。触摸屏212检测触摸屏上的接触,显示控制器2091将检测到的接触转换为与显示在触摸屏212上的用户界面对象的交互,即实现人机交互,显示在触摸屏212上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路205,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路205接收并发送RF信号,RF信号也称为电磁信号,RF电路205将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路205可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路206,主要用于从外设接口203接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器211。
扬声器211,用于将手机通过RF电路205从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片208,用于为CPU202、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
上述实施例中提供的终端设备的神经网络模型压缩装置及终端设备可执行本发明任意实施例所提供的终端设备的神经网络模型压缩方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的终端设备的神经网络模型压缩方法。
本申请实施例还提供一种包含终端设备可执行指令的存储介质,所述终端设备可执行指令在由终端设备处理器执行时用于执行一种神经网络模型压缩方法,该方法包括:
根据任务处理事件获取对应的神经网络模型;
对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数;
对所述定点神经网络模型参数进行编码压缩处理,并将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存。
在一个可能的实施例中,所述对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数包括:
将所述神经网络模型中的浮点参数设置为定点参数;
依据所述定点参数进行神经网络模型的训练,得到定点神经网络模型参数。
在一个可能的实施例中,所述对所述神经网络模型中的参数进行定点化处理包括:
将所述神经网络模型中的float类型数据修改为int类型数据。
在一个可能的实施例中,在所述将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存之前,还包括:
对所述神经网络模型中各层的边以及权重值进行处理,得到压缩神经网络模型;
相应的,所述所述将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存包括:
将压缩处理后的定点神经网络模型参数和所述压缩神经网络模型进行保存。
在一个可能的实施例中,对所述神经网络模型中各层的边进行处理包括:
对所述神经网络模型中各层的小于预设权值的边进行删除。
在一个可能的实施例中,对所述神经网络模型中各层的权重值进行处理包括:
对所述神经网络模型中相邻层的边的权重值进行聚类处理,将聚类处理得到的权重值结果作为相邻层的边的权重值;或
对所述神经网络模型中各层的边的权重值进行二值化处理。
在一个可能的实施例中,所述对所述定点神经网络模型参数进行编码压缩处理包括:
对所述定点神经网络模型参数进行二进制算数或哈夫曼编码压缩处理。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的神经网络模型压缩方法操作,还可以执行本发明任意实施例所提供的神经网络模型压缩方法中的相关操作。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.神经网络模型压缩方法,其特征在于,包括:
根据任务处理事件获取对应的神经网络模型;
对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数;
对所述定点神经网络模型参数进行编码压缩处理,并将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存。
2.根据权利要求1所述的方法,其特征在于,所述对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数包括:
将所述神经网络模型中的浮点参数设置为定点参数;
依据所述定点参数进行神经网络模型的训练,得到定点神经网络模型参数。
3.根据权利要求2所述的方法,其特征在于,所述对所述神经网络模型中的参数进行定点化处理包括:
将所述神经网络模型中的float类型数据修改为int类型数据。
4.根据权利要求1所述的方法,其特征在于,在所述将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存之前,还包括:
对所述神经网络模型中各层的边以及权重值进行处理,得到压缩神经网络模型;
相应的,所述所述将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存包括:
将压缩处理后的定点神经网络模型参数和所述压缩神经网络模型进行保存。
5.根据权利要求4所述的方法,其特征在于,对所述神经网络模型中各层的边进行处理包括:
对所述神经网络模型中各层的小于预设权值的边进行删除。
6.根据权利要求4所述的方法,其特征在于,对所述神经网络模型中各层的权重值进行处理包括:
对所述神经网络模型中相邻层的边的权重值进行聚类处理,将聚类处理得到的权重值结果作为相邻层的边的权重值;或
对所述神经网络模型中各层的边的权重值进行二值化处理。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述对所述定点神经网络模型参数进行编码压缩处理包括:
对所述定点神经网络模型参数进行二进制算数或哈夫曼编码压缩处理。
8.神经网络模型压缩装置,其特征在于,包括:
模型获取模块,用于根据任务处理事件获取对应的神经网络模型;
参数处理模块,用于对所述神经网络模型中的参数进行定点化处理得到定点神经网络模型参数;
压缩模块,用于对所述定点神经网络模型参数进行编码压缩处理,并将压缩处理后的定点神经网络模型参数和对应的神经网络模型进行保存。
9.一种终端设备,包括:处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的神经网络模型压缩方法。
10.一种包含终端设备可执行指令的存储介质,其特征在于,所述终端设备可执行指令在由终端设备处理器执行时用于执行如权利要求1-7中任一项所述的神经网络模型压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810670259.5A CN108932124A (zh) | 2018-06-26 | 2018-06-26 | 神经网络模型压缩方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810670259.5A CN108932124A (zh) | 2018-06-26 | 2018-06-26 | 神经网络模型压缩方法、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108932124A true CN108932124A (zh) | 2018-12-04 |
Family
ID=64446916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810670259.5A Pending CN108932124A (zh) | 2018-06-26 | 2018-06-26 | 神经网络模型压缩方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108932124A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109448706A (zh) * | 2018-12-12 | 2019-03-08 | 苏州思必驰信息科技有限公司 | 神经网络语言模型压缩方法及系统 |
CN109800865A (zh) * | 2019-01-24 | 2019-05-24 | 北京市商汤科技开发有限公司 | 神经网络生成及图像处理方法和装置、平台、电子设备 |
CN110009101A (zh) * | 2019-04-11 | 2019-07-12 | 北京字节跳动网络技术有限公司 | 用于生成量化神经网络的方法和装置 |
CN110263861A (zh) * | 2019-06-21 | 2019-09-20 | 西北师范大学 | 一种医疗图像分类方法、装置及存储介质 |
CN110569967A (zh) * | 2019-09-11 | 2019-12-13 | 山东浪潮人工智能研究院有限公司 | 一种基于算术编码的神经网络模型压缩加密方法及系统 |
CN111126572A (zh) * | 2019-12-26 | 2020-05-08 | 北京奇艺世纪科技有限公司 | 一种模型参数处理方法、装置、电子设备及存储介质 |
CN111291882A (zh) * | 2018-12-06 | 2020-06-16 | 北京百度网讯科技有限公司 | 一种模型转换的方法、装置、设备和计算机存储介质 |
CN112395905A (zh) * | 2019-08-12 | 2021-02-23 | 北京林业大学 | 一种森林病虫害实时检测方法、系统及模型建立方法 |
CN112561050A (zh) * | 2019-09-25 | 2021-03-26 | 杭州海康威视数字技术股份有限公司 | 一种神经网络模型训练方法及装置 |
CN113592059A (zh) * | 2020-04-30 | 2021-11-02 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、设备和计算机程序产品 |
CN114442477A (zh) * | 2022-04-11 | 2022-05-06 | 北京信云筑科技有限责任公司 | 基于物联网的设备健康管理系统 |
WO2022111403A1 (zh) * | 2020-11-27 | 2022-06-02 | 华为技术有限公司 | 一种机器学习方法、装置和系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233477A1 (en) * | 2006-03-30 | 2007-10-04 | Infima Ltd. | Lossless Data Compression Using Adaptive Context Modeling |
CN101242549A (zh) * | 2007-11-22 | 2008-08-13 | 中国移动通信集团山东有限公司 | 通信网络告警关联的神经网络构建方法 |
CN102368297A (zh) * | 2011-09-14 | 2012-03-07 | 北京英福生科技有限公司 | 一种用于识别被检测对象动作的设备、系统及方法 |
CN106485316A (zh) * | 2016-10-31 | 2017-03-08 | 北京百度网讯科技有限公司 | 神经网络模型压缩方法以及装置 |
US20170132511A1 (en) * | 2015-11-10 | 2017-05-11 | Facebook, Inc. | Systems and methods for utilizing compressed convolutional neural networks to perform media content processing |
CN107231520A (zh) * | 2017-04-27 | 2017-10-03 | 歌尔科技有限公司 | 相机拍摄方法、装置及相机 |
CN107480770A (zh) * | 2017-07-27 | 2017-12-15 | 中国科学院自动化研究所 | 可调节量化位宽的神经网络量化与压缩的方法及装置 |
CN107748915A (zh) * | 2017-11-02 | 2018-03-02 | 北京智能管家科技有限公司 | 深度神经网络dnn模型的压缩方法、装置、设备及介质 |
CN107800572A (zh) * | 2017-10-27 | 2018-03-13 | 福州瑞芯微电子股份有限公司 | 一种基于神经网络升级设备的方法和装置 |
-
2018
- 2018-06-26 CN CN201810670259.5A patent/CN108932124A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233477A1 (en) * | 2006-03-30 | 2007-10-04 | Infima Ltd. | Lossless Data Compression Using Adaptive Context Modeling |
CN101242549A (zh) * | 2007-11-22 | 2008-08-13 | 中国移动通信集团山东有限公司 | 通信网络告警关联的神经网络构建方法 |
CN102368297A (zh) * | 2011-09-14 | 2012-03-07 | 北京英福生科技有限公司 | 一种用于识别被检测对象动作的设备、系统及方法 |
US20170132511A1 (en) * | 2015-11-10 | 2017-05-11 | Facebook, Inc. | Systems and methods for utilizing compressed convolutional neural networks to perform media content processing |
CN106485316A (zh) * | 2016-10-31 | 2017-03-08 | 北京百度网讯科技有限公司 | 神经网络模型压缩方法以及装置 |
CN107231520A (zh) * | 2017-04-27 | 2017-10-03 | 歌尔科技有限公司 | 相机拍摄方法、装置及相机 |
CN107480770A (zh) * | 2017-07-27 | 2017-12-15 | 中国科学院自动化研究所 | 可调节量化位宽的神经网络量化与压缩的方法及装置 |
CN107800572A (zh) * | 2017-10-27 | 2018-03-13 | 福州瑞芯微电子股份有限公司 | 一种基于神经网络升级设备的方法和装置 |
CN107748915A (zh) * | 2017-11-02 | 2018-03-02 | 北京智能管家科技有限公司 | 深度神经网络dnn模型的压缩方法、装置、设备及介质 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111291882A (zh) * | 2018-12-06 | 2020-06-16 | 北京百度网讯科技有限公司 | 一种模型转换的方法、装置、设备和计算机存储介质 |
CN109448706A (zh) * | 2018-12-12 | 2019-03-08 | 苏州思必驰信息科技有限公司 | 神经网络语言模型压缩方法及系统 |
CN109800865A (zh) * | 2019-01-24 | 2019-05-24 | 北京市商汤科技开发有限公司 | 神经网络生成及图像处理方法和装置、平台、电子设备 |
CN109800865B (zh) * | 2019-01-24 | 2021-03-23 | 北京市商汤科技开发有限公司 | 神经网络生成及图像处理方法和装置、平台、电子设备 |
CN110009101A (zh) * | 2019-04-11 | 2019-07-12 | 北京字节跳动网络技术有限公司 | 用于生成量化神经网络的方法和装置 |
CN110009101B (zh) * | 2019-04-11 | 2020-09-25 | 北京字节跳动网络技术有限公司 | 用于生成量化神经网络的方法和装置 |
CN110263861A (zh) * | 2019-06-21 | 2019-09-20 | 西北师范大学 | 一种医疗图像分类方法、装置及存储介质 |
CN112395905A (zh) * | 2019-08-12 | 2021-02-23 | 北京林业大学 | 一种森林病虫害实时检测方法、系统及模型建立方法 |
CN110569967A (zh) * | 2019-09-11 | 2019-12-13 | 山东浪潮人工智能研究院有限公司 | 一种基于算术编码的神经网络模型压缩加密方法及系统 |
CN112561050A (zh) * | 2019-09-25 | 2021-03-26 | 杭州海康威视数字技术股份有限公司 | 一种神经网络模型训练方法及装置 |
CN112561050B (zh) * | 2019-09-25 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 一种神经网络模型训练方法及装置 |
CN111126572A (zh) * | 2019-12-26 | 2020-05-08 | 北京奇艺世纪科技有限公司 | 一种模型参数处理方法、装置、电子设备及存储介质 |
CN111126572B (zh) * | 2019-12-26 | 2023-12-08 | 北京奇艺世纪科技有限公司 | 一种模型参数处理方法、装置、电子设备及存储介质 |
CN113592059A (zh) * | 2020-04-30 | 2021-11-02 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、设备和计算机程序产品 |
WO2022111403A1 (zh) * | 2020-11-27 | 2022-06-02 | 华为技术有限公司 | 一种机器学习方法、装置和系统 |
CN114442477A (zh) * | 2022-04-11 | 2022-05-06 | 北京信云筑科技有限责任公司 | 基于物联网的设备健康管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108932124A (zh) | 神经网络模型压缩方法、装置、终端设备及存储介质 | |
CN109151468B (zh) | 一种图像数据的编码、解码方法及装置 | |
CN110490296A (zh) | 一种构造卷积神经网络(cnn)模型的方法和系统 | |
CN109119093A (zh) | 语音降噪方法、装置、存储介质及移动终端 | |
CN111382863A (zh) | 一种神经网络压缩方法及装置 | |
CN103826136A (zh) | 一种快速离散余弦反变换的方法和终端 | |
CN107404753B (zh) | 音量调节方法、装置、终端及存储介质 | |
CN109151477B (zh) | 一种图像数据的编码、解码方法及装置 | |
CN110874625A (zh) | 一种深度神经网络量化方法及装置 | |
CN108961080A (zh) | 保险业务分布式处理方法、装置、存储介质及终端 | |
CN112084959B (zh) | 一种人群图像处理方法及装置 | |
CN110651273B (zh) | 一种数据处理方法及设备 | |
CN111582432B (zh) | 一种网络参数处理方法及装置 | |
CN107766546A (zh) | 应用推荐方法、装置、存储介质及终端设备 | |
CN113220651B (zh) | 运行数据压缩方法、装置、终端设备以及存储介质 | |
CN109089190A (zh) | 阻抗曲线确定方法、装置、存储介质及终端设备 | |
CN112966756A (zh) | 一种可视化的准入规则的生成方法、装置、机器可读介质及设备 | |
CN112686365A (zh) | 运行神经网络模型的方法、装置和计算机设备 | |
CN109656719A (zh) | 算法处理方法、装置、存储介质及终端设备 | |
CN115249058A (zh) | 神经网络模型的量化方法、装置、终端及存储介质 | |
CN112765022A (zh) | 一种基于数据流的Webshell静态检测方法及电子设备 | |
CN114399028A (zh) | 信息处理方法、图卷积神经网络训练方法及电子设备 | |
CN112948763B (zh) | 件量预测方法、装置、电子设备及存储介质 | |
CN108417208B (zh) | 一种语音输入方法和装置 | |
CN109614248A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181204 |