一种浮点矩阵定点化方法、装置及相关设备与流程

文档序号:24156417发布日期:2021-03-05 12:01阅读:77来源:国知局
一种浮点矩阵定点化方法、装置及相关设备与流程

[0001]
本申请涉及定点化技术领域,特别涉及一种浮点矩阵定点化方法、装置及相关设备。


背景技术:

[0002]
在语音和图像处理等领域常常需要对浮点矩阵进行运算,如对两个浮点矩阵进行相乘运算。若直接对浮点矩阵进行运算,运算效率较低,为了提高矩阵运算的效率,通常会采用将浮点矩阵定点化为整数矩阵,再对整数矩阵运算的方式,但是定点化的过程可能会产生数据精度的损失,导致后续运算精度下降。
[0003]
因此,如何减少定点化的过程产生的数据精度损失成为亟待解决的问题。


技术实现要素:

[0004]
为解决上述技术问题,本申请实施例提供一种浮点矩阵定点化方法、装置及相关设备,以达到减少将目标浮点矩阵转换为定点矩阵时的数据精度损失的目的,技术方案如下:
[0005]
一种浮点矩阵定点化方法,包括:
[0006]
获取目标浮点矩阵;
[0007]
依据所述目标浮点矩阵中的元素,确定定点化标值;
[0008]
利用所述定点化标值将所述目标浮点矩阵转换为定点矩阵。
[0009]
优选的,所述依据所述目标浮点矩阵中的元素,确定所述目标浮点矩阵的定点化标值,包括:
[0010]
分别确定所述目标浮点矩阵中各个元素的绝对值;
[0011]
在所述目标浮点矩阵中各个元素的绝对值中,查找最大绝对值,将所述最大绝对值作为定点化标值。
[0012]
优选的,所述依据所述目标浮点矩阵中的元素,确定所述目标浮点矩阵的定点化标值,包括:
[0013]
分别确定所述目标浮点矩阵中各个元素的绝对值;
[0014]
在所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,确定排列在前k个的绝对值,所述k为大于等于1的整数;
[0015]
将所述排列在前k个的绝对值分别乘以各自对应的经验参数,得到乘积,将若干个所述乘积之和作为定点化标值,所述若干经验参数之和为1。
[0016]
优选的,在所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,确定排列在前k个的绝对值,包括:
[0017]
从所述目标浮点矩阵中各个元素的绝对值中选择k个绝对值,并利用所述k个绝对值构建小顶堆;
[0018]
从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,
选择一个未被遍历的绝对值,作为目标绝对值,并判断所述目标绝对值是否大于所述小顶堆的堆顶元素;
[0019]
若所述目标绝对值不大于所述小顶堆中的堆顶元素,则判断所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,是否存在未被遍历的绝对值;
[0020]
若是,则返回从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,选择一个未被遍历的绝对值,作为目标绝对值的步骤;
[0021]
若否,则对所述小顶堆中的k个元素进行从大到小的排序,将排序后的k个元素作为所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,排列在前k个的绝对值;
[0022]
若所述目标绝对值大于所述小顶堆中的堆顶元素,将所述堆顶元素替换为所述目标绝对值,并调整所述小顶堆为任意一个父节点均不大于其子节点的堆,并返回执行从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,选择一个未被遍历的绝对值,作为目标绝对值的步骤。
[0023]
优选的,所述利用所述定点化标值将所述目标浮点矩阵转换为定点矩阵,包括:
[0024]
利用所述定点化标值乘以预设系数,等于预设定点数值范围中最大值的关系式,计算出所述预设系数;
[0025]
将所述目标浮点矩阵中的各个元素,分别乘以所述预设系数,得到所述定点矩阵。
[0026]
优选的,所述依据所述目标浮点矩阵中的元素,确定定点化标值,包括:
[0027]
若所述目标浮点矩阵中的元素的个数大于设定个数阈值,则将所述目标浮点矩阵分割成多个子浮点矩阵;
[0028]
分别依据各个所述子浮点矩阵中的元素,确定定点化标值。
[0029]
一种浮点矩阵定点化装置,包括:
[0030]
获取模块,用于获取目标浮点矩阵;
[0031]
确定模块,用于依据所述目标浮点矩阵中的元素,确定定点化标值;
[0032]
转换模块,用于利用所述定点化标值将所述目标浮点矩阵转换为定点矩阵。
[0033]
优选的,所述确定模块,具体用于:
[0034]
分别确定所述目标浮点矩阵中各个元素的绝对值;
[0035]
在所述目标浮点矩阵中各个元素的绝对值中,查找最大绝对值,将所述最大绝对值作为定点化标值。
[0036]
优选的,所述确定模块,具体用于:
[0037]
分别确定所述目标浮点矩阵中各个元素的绝对值;
[0038]
在所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,确定排列在前k个的绝对值,所述k为大于等于1的整数;
[0039]
将所述排列在前k个的绝对值分别乘以各自对应的经验参数,得到乘积,将若干个所述乘积之和作为定点化标值,所述若干经验参数之和为1。
[0040]
优选的,所述确定模块,具体用于:
[0041]
从所述目标浮点矩阵中各个元素的绝对值中选择k个绝对值,并利用所述k个绝对值构建小顶堆;
[0042]
从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,
选择一个未被遍历的绝对值,作为目标绝对值,并判断所述目标绝对值是否大于所述小顶堆的堆顶元素;
[0043]
若所述目标绝对值不大于所述小顶堆中的堆顶元素,则判断所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,是否存在未被遍历的绝对值;
[0044]
若是,则返回从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,选择一个未被遍历的绝对值,作为目标绝对值的步骤;
[0045]
若否,则对所述小顶堆中的k个元素进行从大到小的排序,将排序后的k个元素作为所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,排列在前k个的绝对值;
[0046]
若所述目标绝对值大于所述小顶堆中的堆顶元素,将所述堆顶元素替换为所述目标绝对值,并调整所述小顶堆为任意一个父节点均不大于其子节点的堆,并返回执行从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,选择一个未被遍历的绝对值,作为目标绝对值的步骤。
[0047]
优选的,所述转换模块,具体用于:
[0048]
利用所述定点化标值乘以预设系数,等于预设定点数值范围中最大值的关系式,计算出所述预设系数;
[0049]
将所述目标浮点矩阵中的各个元素,分别乘以所述预设系数,得到所述定点矩阵。
[0050]
优选的,所述确定模块,具体用于:
[0051]
若所述目标浮点矩阵中的元素的个数大于设定个数阈值,则将所述目标浮点矩阵分割成多个子浮点矩阵;
[0052]
分别依据各个所述子浮点矩阵中的元素,确定定点化标值。
[0053]
一种电子设备,包括:
[0054]
存储器,用于存储程序;
[0055]
所述处理器,用于运行所述程序,当所述处理器运行所述程序时,所述处理器实现了如上述任意一项所述的浮点矩阵定点化方法。
[0056]
一种存储介质,其特征在于,用于存储程序,所述程序被执行时,用于实现如上述任意一项所述的浮点矩阵定点化方法。
[0057]
与现有技术相比,本申请的有益效果为:
[0058]
在本申请中,依据所述目标浮点矩阵中的元素,计算定点化标值,可以保证计算出的定点化标值是与目标浮点矩阵相适配的,基于与目标浮点矩阵相适配的定点化标值,相比于不同的浮点矩阵均采用同一个定点化标值的方式,可以减少将目标浮点矩阵转换为定点矩阵时的数据精度损失。
附图说明
[0059]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0060]
图1是本申请提供的一种浮点矩阵定点化方法实施例1的流程图;
[0061]
图2是本申请提供的一种浮点矩阵定点化方法实施例2的流程图;
[0062]
图3是本申请提供的一种浮点矩阵定点化方法实施例3的流程图;
[0063]
图4是本申请提供的一种利用所述定点化标值将所述目标浮点矩阵转换为定点矩阵的流程图;
[0064]
图5是本申请提供的一种浮点矩阵定点化方法实施例4的流程图;
[0065]
图6是本申请提供的一种浮点矩阵定点化装置的逻辑结构示意图。
具体实施方式
[0066]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0067]
本申请实施例公开了一种浮点矩阵定点化方法,包括:获取目标浮点矩阵;依据所述目标浮点矩阵中的元素,计算所述目标浮点矩阵的定点化标值;利用所述定点化标值将所述目标浮点矩阵转换为定点矩阵。在本申请中,可以减少将目标浮点矩阵转换为定点矩阵时的数据精度损失。
[0068]
接下来对本申请实施例公开的浮点矩阵定点化方法进行介绍,如图1所示的,为本申请提供的一种浮点矩阵定点化方法实施例1的流程图,该方法包括以下步骤:
[0069]
步骤s11、获取目标浮点矩阵。
[0070]
目标浮点矩阵可以理解为:将参与矩阵运算的浮点矩阵。如,以语音识别中的识别模型的矩阵计算为例,涉及两个矩阵相乘a*b。a矩阵是通过模型训练得到的,是一个固定的资源。当接收到外界的音频数据时,前端模块会将音频处理后生成音频特征矩阵b。a矩阵和b矩阵均可以作为目标浮点矩阵。
[0071]
需要说明的是,b矩阵取决于外界的传入的音频数据,b矩阵的参数是难以确定,难以估计的。因此,每当传入的音频数据发生变化,b矩阵均会发生变化,目标浮点矩阵会随之变化。但是,由于a矩阵是一个固定不变的矩阵,因此,针对a矩阵,目标浮点矩阵也是固定不变的矩阵。
[0072]
步骤s12、依据所述目标浮点矩阵中的元素,确定定点化标值。
[0073]
定点化标值,可以理解为:用于将目标浮点矩阵定点化为定点矩阵时,使用的标值。
[0074]
依据目标浮点矩阵中的元素,确定定点化标值,可以保证定点化标值与目标浮点矩阵是相适配的。
[0075]
步骤s13、利用所述定点化标值将所述目标浮点矩阵转换为定点矩阵。
[0076]
利用定点化标值将目标浮点矩阵转换为定点矩阵的过程可以参见已有技术中将浮点矩阵转换为定点矩阵的过程,在此不再赘述。
[0077]
在本申请中,依据所述目标浮点矩阵中的元素,计算定点化标值,可以保证计算出的定点化标值是与目标浮点矩阵相适配的,基于与目标浮点矩阵相适配的定点化标值,相比于不同的浮点矩阵均采用同一个定点化标值的方式,可以减少将目标浮点矩阵转换为定点矩阵时的数据精度损失。
[0078]
作为本申请另一可选实施例,参照图2,为本申请提供的一种浮点矩阵定点化方法实施例2的流程示意图,本实施例主要是对上述实施例1描述的浮点矩阵定点化方法的细化方案,如图2所示,该方法可以包括但并不局限于以下步骤:
[0079]
步骤s21、获取目标浮点矩阵。
[0080]
步骤s21的详细过程可以参见实施例1中步骤s11的相关介绍,在此不再赘述。
[0081]
步骤s22、分别确定所述目标浮点矩阵中各个元素的绝对值。
[0082]
步骤s23、在所述目标浮点矩阵中各个元素的绝对值中,查找最大绝对值,将所述最大绝对值作为定点化标值。
[0083]
本实施例中,在所述目标浮点矩阵中各个元素的绝对值中,查找最大绝对值,将所述最大绝对值作为定点化标值,保证利用该定点化标值,可以将目标浮点矩阵中所有元素均可以转换为整数。
[0084]
步骤s22-s23为实施例1中步骤s12的一种具体实施方式。
[0085]
步骤s24、利用所述定点化标值将所述目标浮点矩阵转换为定点矩阵。
[0086]
步骤s24的详细过程可以参见实施例1中步骤s13的相关介绍,在此不再赘述。
[0087]
作为本申请另一可选实施例,参照图3,为本申请提供的一种浮点矩阵定点化方法实施例3的流程示意图,本实施例主要是对上述实施例1描述的浮点矩阵定点化方法的细化方案,如图3所示,该方法可以包括但并不局限于以下步骤:
[0088]
步骤s31、获取目标浮点矩阵。
[0089]
步骤s31的详细过程可以参见实施例1中步骤s11的相关介绍,在此不再赘述。
[0090]
步骤s32、分别确定所述目标浮点矩阵中各个元素的绝对值。
[0091]
步骤s33、在所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,确定排列在前k个的绝对值,所述k为大于等于1的整数。
[0092]
发明人在研究中发现,虽然采用实施例2中的定点化标值的确定方式,可以保证目标浮点矩阵中的所有元素均可以定点化为整数,但是却存在数据精度损失的问题,因此,理想的定点化标值应该是能够将浮点矩阵中的所有元素定点化为整数,又要尽可能减少数据精度损失。基于此,本实施例中提供一种优化方案,来确定定点化标值。
[0093]
具体地,首先需要在所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,确定排列在前k个的绝对值。
[0094]
优选的,可以采用topk算法在所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,确定排列在前k个的绝对值。
[0095]
采用topk算法在所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,确定排列在前k个的绝对值的过程,可以包括:
[0096]
a11、从所述目标浮点矩阵中各个元素的绝对值中选择k个绝对值,并利用所述k个绝对值构建小顶堆。
[0097]
a12、从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,选择一个未被遍历的绝对值,作为目标绝对值,并判断所述目标绝对值是否大于所述小顶堆的堆顶元素。
[0098]
若所述目标绝对值不大于所述小顶堆中的堆顶元素,则执行步骤a13;若所述目标绝对值大于所述小顶堆中的堆顶元素,则执行步骤a15。
[0099]
a13、判断所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,是否存在未被遍历的绝对值。
[0100]
若是,则返回从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,选择一个未被遍历的绝对值,作为目标绝对值的步骤;若否,则执行步骤a14。
[0101]
a14、对所述小顶堆中的k个元素进行从大到小的排序,将排序后的k个元素作为所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,排列在前k个的绝对值。
[0102]
本实施例中,并不限制排序方法对所述小顶堆中的k个元素进行从大到小的排序。如,在k较小时,可以利用快速排序方法对所述小顶堆中的k个元素进行从大到小的排序,保证排序效率。当然,也可以采用堆与栈结合的方式,实现排序,具体可以为:构建一个深度为k的栈,将小堆顶中的堆顶元素依次压到栈里,每压一个,调整小顶堆为任意一个父节点均不大于其子节点的堆,保证每次压到栈里的值为最小值,栈压满后,依次取出就是降序的k个数。
[0103]
a15、将所述堆顶元素替换为所述目标绝对值,并调整所述小顶堆为任意一个父节点均不大于其子节点的堆,并返回执行从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,选择一个未被遍历的绝对值,作为目标绝对值的步骤。
[0104]
将所述堆顶元素替换为所述目标绝对值,需要对小顶堆进行调整,调整的过程中,可以通过堆与栈的结合,灵活调整小顶堆中的元素,将小顶堆调整为包含不大于k个元素且任意一个父节点均不大于其子节点的堆。
[0105]
优选的,可以将小顶堆调整为包含k个元素且任意一个父节点均不大于其子节点的堆。
[0106]
步骤s34、将所述排列在前k个的绝对值分别乘以各自对应的经验参数,得到乘积,将若干个所述乘积之和作为定点化标值,所述若干经验参数之和为1。
[0107]
多个所述经验参数之和为1。
[0108]
将绝对值排列在前k个的绝对值分别乘以各自对应的经验参数,得到乘积,将多个所述乘积之和作为所述目标浮点矩阵的定点化标值,实现了利用排列在前k个的绝对值,共同确定定点化标值,相比于将最大的绝对值,作为定点化标值的方式,可以减少数据精度的损失。比如,对目标浮点矩阵{0.1,0.2,0.3,1.1}进行定点化,定点化标值取为1.1可以保证不爆标,但是标值取0.8能获得更高的数据精度。
[0109]
本实施例中,可以利用如下关系式,将排列在前k个的绝对值分别乘以各自对应的经验参数,得到乘积,将多个所述乘积之和作为所述目标浮点矩阵的定点化标值:
[0110]
定点化标值=|a1|*θ1+|a2|*θ2+...|a
k
|*θ
k

[0111]
|a1|,|a2|,...|a
k
|分别为排列在前k个的绝对值,θ1为|a1|对应的经验参数,θ2为|a2|对应的经验参数,......,θ
k
为|a
k
|对应的经验参数,并且θ1+θ2+...θ
k
=1。
[0112]
需要说明的是,若干个所述乘积为将所述排列在前k个的绝对值分别乘以各自对应的经验参数,得到的乘积中的部分乘积或全部乘积。如,k为10,排列在前k个的绝对值分别为a1、a2、a3、a4、a5、a6、a7、a8、a9和a10,a1、a2、a3、a4、a5、a6、a7、a8、a9和a10各自乘以各自对应的经验参数,得到的乘积的个数为10个,则若干个乘积可以为10个乘积中的n个乘积,n的取值范围为1~10。
[0113]
优选的,若干个所述乘积为将所述排列在前k个的绝对值分别乘以各自对应的经
验参数,得到的乘积中的全部乘积。
[0114]
步骤s32-s34为实施例1中步骤s12的一种具体实施过程。
[0115]
步骤s35、利用所述定点化标值将所述目标浮点矩阵转换为定点矩阵。
[0116]
步骤s35的详细过程可以参见实施例1中步骤s13的相关介绍,在此不再赘述。
[0117]
在本申请的另一个实施例中,对实施例2和实施例3中利用所述定点化标值将所述目标浮点矩阵转换为定点矩阵的过程进行介绍,请参见图4,可以包括以下步骤:
[0118]
步骤s41、利用所述定点化标值乘以预设系数,等于预设定点数值范围中最大值的关系式,计算出所述预设系数。
[0119]
预设定点数值范围可以根据需要进行灵活设置,如,若将目标浮点矩阵中的元素映射到int8,则可以将预设定点数值范围设置为-128~127或0~255。
[0120]
步骤s42、将所述目标浮点矩阵中的各个元素,分别乘以所述预设系数,得到所述定点矩阵。
[0121]
将所述目标浮点矩阵中的各个元素,分别乘以所述预设系数,实现将目标浮点矩阵中各个元素转换为整数,将转换得到的整数组成的矩阵作为定点矩阵。
[0122]
作为本申请另一可选实施例,参照图5,为本申请提供的一种浮点矩阵定点化方法实施例4的流程示意图,本实施例主要是对上述实施例1描述的浮点矩阵定点化方法的细化方案,如图5所示,该方法可以包括但并不局限于以下步骤:
[0123]
步骤s51、获取目标浮点矩阵。
[0124]
步骤s51的详细过程可以参见实施例1中步骤s11的相关介绍,在此不再赘述。
[0125]
步骤s52、若所述目标浮点矩阵中的元素的个数大于设定个数阈值,则将所述目标浮点矩阵分割成多个子浮点矩阵。
[0126]
若所述目标浮点矩阵中的元素的个数大于设定个数阈值,则将所述目标浮点矩阵分割成多个子浮点矩阵,来降低运算复杂度。
[0127]
步骤s53、分别依据各个所述子浮点矩阵中的元素,确定定点化标值。
[0128]
可以理解的是,在将目标浮点矩阵分割成多个子浮点矩阵之后,需要分别依据各个子浮点矩阵中的元素,确定定点化标值,定点化标值的个数与子浮点矩阵的个数相同。如,将目标浮点矩阵分割成3个子浮点矩阵,分别为子浮点矩阵a、b、c,则根据子浮点矩阵a中的元素,确定定点化标值a,根据子浮点矩阵b中的元素,确定定点化标值b,根据子浮点矩阵c中的元素,确定定点化标值c。
[0129]
分别依据各个所述子浮点矩阵中的元素,确定定点化标值的过程,可以参见实施例2和3中确定定点化标值的过程,在此不再赘述。
[0130]
其中,可以采用并行的方式分别依据各个所述子浮点矩阵中的元素,确定定点化标值,提高效率。
[0131]
步骤s52-s53为实施例1中步骤s12的一种具体实施过程。
[0132]
步骤s54、利用所述定点化标值将所述目标浮点矩阵转换为定点矩阵。
[0133]
步骤s54的详细过程可以参见实施例1中步骤s13的相关介绍,在此不再赘述。
[0134]
接下来对本申请实施例提供的浮点矩阵定点化装置进行介绍,下文介绍的浮点矩阵定点化装置与上文介绍的浮点矩阵定点化方法可相互对应参照。
[0135]
请参见图6,浮点矩阵定点化装置包括:获取模块11、确定模块12和转换模块13。
[0136]
获取模块11,用于获取目标浮点矩阵;
[0137]
确定模块12,用于依据所述目标浮点矩阵中的元素,确定定点化标值;
[0138]
转换模块13,用于利用所述定点化标值将所述目标浮点矩阵转换为定点矩阵。
[0139]
本实施例中,所述确定模块12,具体可以用于:
[0140]
分别确定所述目标浮点矩阵中各个元素的绝对值;
[0141]
在所述目标浮点矩阵中各个元素的绝对值中,查找最大绝对值,将所述最大绝对值作为定点化标值。
[0142]
本实施例中,所述确定模块12,具体可以用于:
[0143]
分别确定所述目标浮点矩阵中各个元素的绝对值;
[0144]
在所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,确定排列在前k个的绝对值,所述k为大于等于1的整数;
[0145]
将所述排列在前k个的绝对值分别乘以各自对应的经验参数,得到乘积,将若干个所述乘积之和作为定点化标值,所述若干经验参数之和为1。
[0146]
本实施例中,所述确定模块12,具体用于:
[0147]
从所述目标浮点矩阵中各个元素的绝对值中选择k个绝对值,并利用所述k个绝对值构建小顶堆;
[0148]
从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,选择一个未被遍历的绝对值,作为目标绝对值,并判断所述目标绝对值是否大于所述小顶堆的堆顶元素;
[0149]
若所述目标绝对值不大于所述小顶堆中的堆顶元素,则判断所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,是否存在未被遍历的绝对值;
[0150]
若是,则返回从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,选择一个未被遍历的绝对值,作为目标绝对值的步骤;
[0151]
若否,则对所述小顶堆中的k个元素进行从大到小的排序,将排序后的k个元素作为所述目标浮点矩阵中各个元素的绝对值中,按照从大到小的顺序,排列在前k个的绝对值;
[0152]
若所述目标绝对值大于所述小顶堆中的堆顶元素,将所述堆顶元素替换为所述目标绝对值,并调整所述小顶堆为任意一个父节点均不大于其子节点的堆,并返回执行从所述目标浮点矩阵中各个元素的绝对值中除所述k个绝对值之外的绝对值中,选择一个未被遍历的绝对值,作为目标绝对值的步骤。
[0153]
本实施例中,所述确定模块12,具体可以用于:
[0154]
若所述目标浮点矩阵中的元素的个数大于设定个数阈值,则将所述目标浮点矩阵分割成多个子浮点矩阵;
[0155]
分别依据各个所述子浮点矩阵中的元素,确定定点化标值。
[0156]
在本申请的另一个实施例中,介绍一种电子设备,包括:存储器和处理器。
[0157]
存储器,用于存储程序;
[0158]
所述处理器,用于运行所述程序,当所述处理器运行所述程序时,所述处理器实现了如上述各个实施例介绍的浮点矩阵定点化方法。
[0159]
在本申请的另一个实施例中,介绍一种存储介质,用于存储程序,所述程序被执行
时,用于实现如上述各个实施例介绍的浮点矩阵定点化方法。
[0160]
需要说明的是,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0161]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0162]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0163]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0164]
以上对本申请所提供的一种浮点矩阵定点化方法、装置及相关设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1