CN109716288A - 网络模型编译器及相关产品 - Google Patents
网络模型编译器及相关产品 Download PDFInfo
- Publication number
- CN109716288A CN109716288A CN201880001816.2A CN201880001816A CN109716288A CN 109716288 A CN109716288 A CN 109716288A CN 201880001816 A CN201880001816 A CN 201880001816A CN 109716288 A CN109716288 A CN 109716288A
- Authority
- CN
- China
- Prior art keywords
- weight data
- data group
- network model
- group
- weight
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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/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
Abstract
本公开提供了一种网络模型编译器及相关产品,所述网络模型编译器包括:数据IO单元、压缩单元和存储单元;其中,所述数据IO单元的一个端口连接第一计算平台的数据输出口,所述数据IO单元的另一个端口连接第二计算平台的数据出入口,本申请提供的技术方案具有通用性高的优点。
Description
技术领域
本申请涉及信息处理技术领域,具体涉及一种网络模型编译器及相关产品。
背景技术
随着信息技术的不断发展和人们日益增长的需求,人们对信息及时性的要求越来越高了。网络模型例如神经网络模型随着技术的发展应用的越来越广泛,对于计算机、服务器等设备而言,其对网络模型执行训练以及运算的均能够实现,但是对于训练好的网络模型仅仅只能应用在本平台的设备内,例如,对于服务器训练好的网络模型,其仅仅只能应用在服务器平台,对于FPGA(Field-Programmable Gate Array,现场可编程门阵列)平台,其无法应用服务器平台的网络模型,所以现有的网络模型编译器无法实现对网络模型的跨平台,限制网络模型的应用场景,成本高。
申请内容
本申请实施例提供了一种网络模型编译器及相关产品,可以提升网络模型的应用场景,降低成本。
第一方面,提供一种网络模型编译器,所述网络模型编译器包括:数据IO单元、压缩单元和存储单元;其中,所述数据IO单元的一个端口连接第一计算平台的数据输出口,所述数据IO单元的另一个端口连接第二计算平台的数据出入口;
所述存储单元,用于存储预设压缩规则;
所述数据IO单元,用于接收第一计算平台发送的训练好的网络模型的第一权值数据组;
所述压缩单元,用于将所述第一权值数据组依据预设压缩规则压缩成第二权值数据组,所述第二权值数据组为应用于第二计算平台的权值数据组;
数据IO单元,还用于将所述第二权值数据组发送至所述第二计算平台。
第二方面,提供一种网络模型的转用方法,所述方法包括如下步骤:
接收第一计算平台发送的训练好的网络模型的第一权值数据组;
将所述第一权值数据组依据预设压缩规则压缩成第二权值数据组,所述第二权值数据组为应用于第二计算平台的权值数据组;
将所述第二权值数据组发送至所述第二计算平台。
第三方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第二方面所述的方法。
第四方面,提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行第二方面所述的方法。
本申请提供的技术方案中的网络模型编辑器在接收到第一平台(例如服务器)的网络模型的权值数据组后,压缩至第二平台的权值数据组,然后发送至第二计算平台(例如FPGA),这样完成了二个计算平台的转换,从而实现网络模型的跨平台应用,并且压缩以后的权值数据组能够有效的提高第二计算平台的计算精度的优化,并且对于第二计算平台,压缩后的权值数据组可以对计算节点进行计算优化,达到节省计算资源以及能耗的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络模型编译器的结构示意图。
图2是本申请一个实施例提供的网络模型的转用方法的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
模拟人类实际神经网络的数学方法问世以来,人们已慢慢习惯了把这种人工神经网络直接称为神经网络。神经网络在系统辨识、模式识别、智能控制等领域有着广泛而吸引人的前景,特别在智能控制中,人们对神经网络的自学习功能尤其感兴趣,并且把神经网络这一重要特点看作是解决自动控制中控制器适应能力这个难题的关键钥匙之一。
神经网络(Neural Networks,NN)是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。神经网络的发展与神经科学、数理科学、认知科学、计算机科学、人工智能、信息科学、控制论、机器人学、微电子学、心理学、光计算、分子生物学等有关,是一门新兴的边缘交叉学科。
神经网络的基础在于神经元。
神经元是以生物神经系统的神经细胞为基础的生物模型。在人们对生物神经系统进行研究,以探讨人工智能的机制时,把神经元数学化,从而产生了神经元数学模型。
大量的形式相同的神经元连结在—起就组成了神经网络。神经网络是一个高度非线性动力学系统。虽然,每个神经元的结构和功能都不复杂,但是神经网络的动态行为则是十分复杂的;因此,用神经网络可以表达实际物理世界的各种现象。
神经网络模型是以神经元的数学模型为基础来描述的。人工神经网络(Artificial Neural Network),是对人类大脑系统的一阶特性的一种描述。简单地讲,它是一个数学模型。神经网络模型由网络拓扑.节点特点和学习规则来表示。神经网络对人们的巨大吸引力主要包括:并行分布处理、高度鲁棒性和容错能力、分布存储及学习能力、能充分逼近复杂的非线性关系。
在控制领域的研究课题中,不确定性系统的控制问题长期以来都是控制理论研究的中心主题之一,但是这个问题一直没有得到有效的解决。利用神经网络的学习能力,使它在对不确定性系统的控制过程中自动学习系统的特性,从而自动适应系统随时间的特性变异,以求达到对系统的最优控制;显然这是一种十分振奋人心的意向和方法。
人工神经网络的模型现在有数十种之多,应用较多的典型的神经网络模型包括BP神经网络、Hopfield网络、ART网络和Kohonen网络。
参阅图1,图1为本申请提供的一种网络模型编译器结构图,如图1所示,该网络模型编译器包括:数据IO单元101、压缩单元102和存储单元103;
其中数据IO单元101的一个端口连接第一计算平台的数据输出口,数据IO单元101的另一个端口连接第二计算平台的数据出入口;
上述数据IO单元101的一个端口具体可以为,网络模型编译器的一个通用输入输出口,当然上述另一个端口具体可以为,网络模型编译器的另一个通用输入输出口。当然上述一个端口以及另一个端口也可以为其他形式,本申请并不限制上述端口的具体形式,仅仅只需上述端口能够收发数据即可。
存储单元103,用于存储预设压缩规则;当然在实际应用中,上述压缩单元还可以存储权值数据组、标量数据、计算指令等等数据。
数据IO单元101,用于在第一计算平台完成网络模型训练后发送的训练好的网络模型的第一权值数据组;
压缩单元102,用于将第一权值数据组依据预设压缩规则压缩成第二权值数据组,所述第二权值数据组为应用于所述第二计算平台的权值数据组;
数据IO单元101,还用于将第二权值数据组发送至所述第二计算平台。
本申请提供的技术方案中的网络模型编辑器在接收到第一平台(例如服务器)的网络模型的权值数据组后,压缩至第二平台的权值数据组,然后发送至第二计算平台(例如FPGA),这样完成了二个计算平台的转换,从而实现网络模型的跨平台应用,并且压缩以后的权值数据组能够有效的提高第二计算平台的计算精度的优化,并且对于第二计算平台,压缩后的权值数据组可以对计算节点进行计算优化,达到节省计算资源以及能耗的目的。
下面介绍一下上述技术方案的细化方案,对于神经网络模型来说,其分为两个大的部分,分别为训练和正向运算,对于训练即是对神经网络模型进行优化的过程,具体的实现方式可以包括:将大量的标注好的样本(一般为50以上的样本)依次输入原始的神经网络模型(此时的权值数据组为初始数值)执行多次迭代运算对初始权值进行更新,每次迭代运算均包括:n层正向运算以及n层反向运算,n层反向运算的权值梯度更新对应层的权值,经过多个样本的计算即能够实现对权值数据组的多次更新以完成神经网络模型的训练,完成训练的神经网络模型接收待计算的数据,将该待计算的数据与训练好的权值数据组执行n层正向运算得到正向运算的输出结果,这样对输出结果进行分析即能够得到该神经网络的运算结果,如,该神经网络模型如果为人脸识别的神经网络模型,那么其运算结果看为匹配或不匹配。
对于神经网络模型的训练其需要很大的计算量,因为对于n层正向运算以及n层反向运算,任意一层的运算量均涉及到很大的计算量,以人脸识别神经网络模型为例,每层运算大部分为卷积的运算,卷积的输入数据均是上千行和上千列,那么对于这么大的数据的一次卷积运算的乘积运算可能能够达到106次,这对处理器的要求是很高的,需要花费很大的开销来执行此类运算,更何况这种运算需要经过多次的迭代以及n层,并且每个样本均需要计算一遍,就更加的提高了计算开销,这种计算开销目前通过FPGA是无法实现的,过多的计算开销以及功耗需要很高的硬件配置,这样的硬件配置的成本对于FPGA设备来说很显然是不现实的,为了解决这个技术问题,具有二种思路,第一种思路为集中处理思路,即FPGA设备不进行神经网络的运算,其将神经网络的运算发送至后台服务器进行处理,此种方式的缺点是及时性不够,因为FPGA设备的数量是海量的,对于后台服务器配置的数量要求是极高的,以目前大家熟悉的监控系统的摄像头为例,一个大厦的摄像头可能都超过千个,在繁忙时后台服务器是无法快速进行运算的。第二种思路,为在FPGA设备自身进行神经网络的运算,但是此种方式需要为FPGA设备的神经网络模型配置适应的权值数据组。
对于不同的计算平台,由于硬件配置不同,所以其训练得到的权值数据组也是不同的,例如,服务器的运算能够非常高,所以其权值数据组的精度高,其进行神经网络模型的计算时运算结果的准确度也高,但是对于FPGA设备来说,其硬件配置低,计算能力弱,处理权值数据组的能够也弱,如果将服务器的权值数据组直接配置到FPGA设备中肯定是不合适的,其必然导致FPGA设备的计算延时大大增加甚至是出现无法运行的情况出现,为了适应FPGA设备的适用,这里将服务器的权值数据组进行压缩处理得到另一权值数据组,由于压缩后的另一权值数据组比压缩前的权值数据组要小很多,虽然精度有一定的影响,但是能够适应与FPGA设备的应用。
可选的,压缩单元102,具体用于将第一权值数据组的格式从浮点数据格式转换成定点数据格式得到第二权值数据组,所述第二权值数据组为应用于所述第二计算平台的权值数据组。
目前服务器、计算机设备内处理的浮点数据的位数为32比特,对于一个权值数据组来说,其数据可能有上千个,那么总比特数可能超过107比特(这里因为有n层,每层均具有一个权值数据),而对于定点数据的位置为16比特,虽然定点数据的表示相对于浮点数据来说精度有一定的降低,但是其数据量比浮点数据要降低一半,首先其存储的空间以及调用的开销就会减少很多,另外,对于定点数据由于其比特位较小,其计算开销也很减少很多,这样即能够实现跨平台的实现。
可选的,压缩单元102,具体用于将第一权值数据组中元素值中小于设定阈值的元素置零完成稀疏化得到第二权值数据组。
上述技术方案主要是完成权值数据组的稀疏化,因为对于第一权值数据组来说,如果其元素值非常小,即小于设定阈值,那么其进行计算得到的结果对最终的运算结果影响也很小,这里将其稀疏化以后直接忽略这部分的计算,这样对于零元素来说,无需进行运算,这样减少计算开销,另外,对于零元素也存储单元也可以不存储,仅仅存储其在权值数据组内的位置即可。
可选的,压缩单元102,具体用于第一权值数据组的格式从浮点数据格式转换成定点数据格式的权值数据组,将定点数据格式的权值数据组中元素值小于设定阈值的元素置零得到第二权值数据组。
上述方案将数据格式转换和稀疏化结合起来,这样能够进一步减少其计算开销以及对应的配置。
参阅图2,图2为本申请提供一种网络模型的转用方法,所述方法包括如下步骤:
S201、接收第一计算平台发送的训练好的网络模型的第一权值数据组;
S202、将所述第一权值数据组依据预设压缩规则压缩成第二权值数据组,所述第二权值数据组为应用于第二计算平台的权值数据组;
S203、将所述第二权值数据组发送至所述第二计算平台。
本申请提供的技术方案中的方法在接收到第一平台(例如服务器)的网络模型的权值数据组后,压缩至第二平台的权值数据组,然后发送至第二计算平台(例如FPGA),这样完成了二个计算平台的转换,从而实现网络模型的跨平台应用。
对于神经网络模型来说,其分为两个大的部分,分别为训练和正向运算,对于训练即是对神经网络模型进行优化的过程,具体的实现方式可以包括:将大量的标注好的样本(一般为50以上的样本)依次输入原始的神经网络模型(此时的权值数据组为初始数值)执行多次迭代运算对初始权值进行更新,每次迭代运算均包括:n层正向运算以及n层反向运算,n层反向运算的权值梯度更新对应层的权值,经过多个样本的计算即能够实现对权值数据组的多次更新以完成神经网络模型的训练,完成训练的神经网络模型接收待计算的数据,将该待计算的数据与训练好的权值数据组执行n层正向运算得到正向运算的输出结果,这样对输出结果进行分析即能够得到该神经网络的运算结果,如,该神经网络模型如果为人脸识别的神经网络模型,那么其运算结果看为匹配或不匹配。
对于神经网络模型的训练其需要很大的计算量,因为对于n层正向运算以及n层反向运算,任意一层的运算量均涉及到很大的计算量,以人脸识别神经网络模型为例,每层运算大部分为卷积的运算,卷积的输入数据均是上千行和上千列,那么对于这么大的数据的一次卷积运算的乘积运算可能能够达到106次,这对处理器的要求是很高的,需要花费很大的开销来执行此类运算,更何况这种运算需要经过多次的迭代以及n层,并且每个样本均需要计算一遍,就更加的提高了计算开销,这种计算开销目前通过FPGA是无法实现的,过多的计算开销以及功耗需要很高的硬件配置,这样的硬件配置的成本对于FPGA设备来说很显然是不现实的,为了解决这个技术问题,具有二种思路,第一种思路为集中处理思路,即FPGA设备不进行神经网络的运算,其将神经网络的运算发送至后台服务器进行处理,此种方式的缺点是及时性不够,因为FPGA设备的数量是海量的,对于后台服务器配置的数量要求是极高的,以目前大家熟悉的监控系统的摄像头为例,一个大厦的摄像头可能都超过千个,在繁忙时后台服务器是无法快速进行运算的。第二种思路,为在FPGA设备自身进行神经网络的运算,但是此种方式需要为FPGA设备的神经网络模型配置适应的权值数据组。
对于不同的计算平台,由于硬件配置不同,所以其训练得到的权值数据组也是不同的,例如,服务器的运算能够非常高,所以其权值数据组的精度高,其进行神经网络模型的计算时运算结果的准确度也高,但是对于FPGA设备来说,其硬件配置低,计算能力弱,处理权值数据组的能够也弱,如果将服务器的权值数据组直接配置到FPGA设备中肯定是不合适的,其必然导致FPGA设备的计算延时大大增加甚至是出现无法运行的情况出现,为了适应FPGA设备的适用,这里将服务器的权值数据组进行压缩处理得到另一权值数据组,由于压缩后的另一权值数据组比压缩前的权值数据组要小很多,虽然精度有一定的影响,但是能够适应与FPGA设备的应用。
可选的,所述将所述第一权值数据组依据预设压缩规则压缩成第二权值数据组,具体包括:
将第一权值数据组的格式从浮点数据格式转换成定点数据格式得到第二权值数据组。
目前服务器、计算机设备内处理的浮点数据的位数为32比特,对于一个权值数据组来说,其数据可能有上千个,那么总比特数可能超过107比特(这里因为有n层,每层均具有一个权值数据),而对于定点数据的位置为16比特,虽然定点数据的表示相对于浮点数据来说精度有一定的降低,但是其数据量比浮点数据要降低一半,首先其存储的空间以及调用的开销就会减少很多,另外,对于定点数据由于其比特位较小,其计算开销也很减少很多,这样即能够实现跨平台的实现。
可选的,所述将所述第一权值数据组依据预设压缩规则压缩成第二权值数据组,具体包括:
将第一权值数据组中元素值中小于设定阈值的元素置零完成稀疏化得到第二权值数据组。
上述技术方案主要是完成权值数据组的稀疏化,因为对于第一权值数据组来说,如果其元素值非常小,即小于设定阈值,那么其进行计算得到的结果对最终的运算结果影响也很小,这里将其稀疏化以后直接忽略这部分的计算,这样对于零元素来说,无需进行运算,这样减少计算开销,另外,对于零元素也存储单元也可以不存储,仅仅存储其在权值数据组内的位置即可。
可选的,所述将所述第一权值数据组依据预设压缩规则压缩成第二权值数据组,具体包括:
将第一权值数据组的格式从浮点数据格式转换成定点数据格式的权值数据组,将定点数据格式的权值数据组中元素值小于设定阈值的元素置零得到第二权值数据组。
本申请还提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如图2所示的方法以及该方法的细化方案。
本申请还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如图2所示的方法以及该方法的细化方案。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种网络模型编译器,其特征在于,所述网络模型编译器包括:数据IO单元、压缩单元和存储单元;其中,所述数据IO单元的一个端口连接第一计算平台的数据输出口,所述数据IO单元的另一个端口连接第二计算平台的数据出入口;
所述存储单元,用于存储预设压缩规则;
所述数据IO单元,用于接收第一计算平台发送的训练好的网络模型的第一权值数据组;
所述压缩单元,用于将所述第一权值数据组依据预设压缩规则压缩成第二权值数据组,所述第二权值数据组为应用于第二计算平台的权值数据组;
数据IO单元,还用于将所述第二权值数据组发送至所述第二计算平台。
2.根据权利要求1所述的网络模型编译器,其特征在于,
所述压缩单元,具体用于将第一权值数据组的格式从浮点数据格式转换成定点数据格式得到第二权值数据组。
3.根据权利要求1所述的网络模型编译器,其特征在于,
所述压缩单元,具体用于将第一权值数据组中元素值中小于设定阈值的元素置零完成稀疏化得到第二权值数据组。
4.根据权利要求1所述的网络模型编译器,其特征在于,
所述压缩单元,具体用于将第一权值数据组的格式从浮点数据格式转换成定点数据格式的权值数据组,将定点数据格式的权值数据组中元素值小于设定阈值的元素置零得到第二权值数据组。
5.一种网络模型的转用方法,其特征在于,所述方法包括如下步骤:
接收第一计算平台发送的训练好的网络模型的第一权值数据组;
将所述第一权值数据组依据预设压缩规则压缩成第二权值数据组,所述第二权值数据组为应用于第二计算平台的权值数据组;
将所述第二权值数据组发送至所述第二计算平台。
6.根据权利要求5所述的方法,其特征在于,所述将所述第一权值数据组依据预设压缩规则压缩成第二权值数据组,具体包括:
将第一权值数据组的格式从浮点数据格式转换成定点数据格式得到第二权值数据组。
7.根据权利要求5所述的方法,其特征在于,所述将所述第一权值数据组依据预设压缩规则压缩成第二权值数据组,具体包括:
将第一权值数据组中元素值中小于设定阈值的元素置零完成稀疏化得到第二权值数据组。
8.根据权利要求5所述的方法,其特征在于,所述将所述第一权值数据组依据预设压缩规则压缩成第二权值数据组,具体包括:
将第一权值数据组的格式从浮点数据格式转换成定点数据格式的权值数据组,将定点数据格式的权值数据组中元素值小于设定阈值的元素置零得到第二权值数据组。
9.一种计算机可读存储介质,其特征在于,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求5-8任一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如权利要求5-8任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/083439 WO2019200548A1 (zh) | 2018-04-17 | 2018-04-17 | 网络模型编译器及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109716288A true CN109716288A (zh) | 2019-05-03 |
Family
ID=66261346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880001816.2A Pending CN109716288A (zh) | 2018-04-17 | 2018-04-17 | 网络模型编译器及相关产品 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210097391A1 (zh) |
CN (1) | CN109716288A (zh) |
WO (1) | WO2019200548A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309486B (zh) * | 2018-08-10 | 2024-01-12 | 中科寒武纪科技股份有限公司 | 转换方法、装置、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6144977A (en) * | 1995-07-10 | 2000-11-07 | Motorola, Inc. | Circuit and method of converting a floating point number to a programmable fixed point number |
CN106779051A (zh) * | 2016-11-24 | 2017-05-31 | 厦门中控生物识别信息技术有限公司 | 一种卷积神经网络模型参数处理方法及系统 |
CN107239829A (zh) * | 2016-08-12 | 2017-10-10 | 北京深鉴科技有限公司 | 一种优化人工神经网络的方法 |
WO2017185412A1 (zh) * | 2016-04-29 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种支持较少位数定点数的神经网络运算的装置和方法 |
CN107480789A (zh) * | 2017-08-07 | 2017-12-15 | 北京中星微电子有限公司 | 一种深度学习模型的高效转换方法及装置 |
CN107636697A (zh) * | 2015-05-08 | 2018-01-26 | 高通股份有限公司 | 基于浮点神经网络量化的定点神经网络 |
CN107748915A (zh) * | 2017-11-02 | 2018-03-02 | 北京智能管家科技有限公司 | 深度神经网络dnn模型的压缩方法、装置、设备及介质 |
CN107766939A (zh) * | 2017-11-07 | 2018-03-06 | 维沃移动通信有限公司 | 一种数据处理方法、装置及移动终端 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10229356B1 (en) * | 2014-12-23 | 2019-03-12 | Amazon Technologies, Inc. | Error tolerant neural network model compression |
US11244225B2 (en) * | 2015-07-10 | 2022-02-08 | Samsung Electronics Co., Ltd. | Neural network processor configurable using macro instructions |
CN106295338B (zh) * | 2016-07-26 | 2020-04-14 | 北京工业大学 | 一种基于人工神经元网络的sql漏洞检测方法 |
US10614798B2 (en) * | 2016-07-29 | 2020-04-07 | Arizona Board Of Regents On Behalf Of Arizona State University | Memory compression in a deep neural network |
US10984308B2 (en) * | 2016-08-12 | 2021-04-20 | Xilinx Technology Beijing Limited | Compression method for deep neural networks with load balance |
WO2019009897A1 (en) * | 2017-07-06 | 2019-01-10 | Google Llc | SYSTEMS AND METHODS FOR COMPRESSION AND DISTRIBUTION OF MACHINE LEARNING MODELS |
-
2018
- 2018-04-17 CN CN201880001816.2A patent/CN109716288A/zh active Pending
- 2018-04-17 US US17/044,557 patent/US20210097391A1/en not_active Abandoned
- 2018-04-17 WO PCT/CN2018/083439 patent/WO2019200548A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6144977A (en) * | 1995-07-10 | 2000-11-07 | Motorola, Inc. | Circuit and method of converting a floating point number to a programmable fixed point number |
CN107636697A (zh) * | 2015-05-08 | 2018-01-26 | 高通股份有限公司 | 基于浮点神经网络量化的定点神经网络 |
WO2017185412A1 (zh) * | 2016-04-29 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种支持较少位数定点数的神经网络运算的装置和方法 |
CN107239829A (zh) * | 2016-08-12 | 2017-10-10 | 北京深鉴科技有限公司 | 一种优化人工神经网络的方法 |
CN106779051A (zh) * | 2016-11-24 | 2017-05-31 | 厦门中控生物识别信息技术有限公司 | 一种卷积神经网络模型参数处理方法及系统 |
CN107480789A (zh) * | 2017-08-07 | 2017-12-15 | 北京中星微电子有限公司 | 一种深度学习模型的高效转换方法及装置 |
CN107748915A (zh) * | 2017-11-02 | 2018-03-02 | 北京智能管家科技有限公司 | 深度神经网络dnn模型的压缩方法、装置、设备及介质 |
CN107766939A (zh) * | 2017-11-07 | 2018-03-06 | 维沃移动通信有限公司 | 一种数据处理方法、装置及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
US20210097391A1 (en) | 2021-04-01 |
WO2019200548A1 (zh) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019091020A1 (zh) | 权重数据存储方法和基于该方法的神经网络处理器 | |
Huang et al. | An efficient sequential learning algorithm for growing and pruning RBF (GAP-RBF) networks | |
US20200026992A1 (en) | Hardware neural network conversion method, computing device, compiling method and neural network software and hardware collaboration system | |
CN109643229A (zh) | 网络模型的应用开发方法及相关产品 | |
CN110245741A (zh) | 多层神经网络模型的优化和应用方法、装置及存储介质 | |
CN109635936A (zh) | 一种基于重训练的神经网络剪枝量化方法 | |
CA2839279C (en) | Method and apparatus for a local competitive learning rule that leads to sparse connectivity | |
CN109858613A (zh) | 一种深度神经网络的压缩方法、系统及终端设备 | |
CN115564062A (zh) | 一种基于模型剪枝和传输压缩优化的联邦学习系统及方法 | |
CN116644804B (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
Pilipović et al. | Compression of convolutional neural networks: A short survey | |
CN107609694B (zh) | 海上风电集群输电系统结构优化方法及存储介质 | |
CN110263917B (zh) | 一种神经网络压缩方法及装置 | |
CN109299487A (zh) | 神经网络模型、加速器、建模方法及装置、介质及系统 | |
CN109889525A (zh) | 多通信协议智能感知方法 | |
CN109716288A (zh) | 网络模型编译器及相关产品 | |
CN109313673A (zh) | 网络模型的运行方法及相关产品 | |
CN117216071A (zh) | 基于图嵌入的事务调度优化方法 | |
CN103679267A (zh) | 基于无标记样本的rbf神经网络构建方法及其装置 | |
CN109697511B (zh) | 数据推理方法、装置及计算机设备 | |
CN115758643A (zh) | 一种基于时空特征融合的网络流量预测方法、装置及存储介质 | |
CN116128019A (zh) | Transformer模型的并行训练方法及装置 | |
CN109740730A (zh) | 运算方法、装置及相关产品 | |
CN115544307A (zh) | 基于关联矩阵的有向图数据特征提取与表达方法和系统 | |
CN115907000A (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 |
Application publication date: 20190503 |
|
RJ01 | Rejection of invention patent application after publication |