浮点数的定和生成方法、相关装置及计算机程序产品与流程

文档序号:31343760发布日期:2022-08-31 11:13阅读:85来源:国知局
浮点数的定和生成方法、相关装置及计算机程序产品与流程

1.本公开涉及计算机技术领域,具体涉及芯片测试、集成电路、数据处理等人工智能技术领域,尤其涉及浮点数的定和生成方法、装置、电子设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.随机化数据激励对于芯片验证来说尤为重要,能够灵活高效的根据用户提出的约束条件产生随机化数据激励,是对于芯片验证平台的基本要求。
3.在进行浮点运算单元和浮点矢量运算单元的验证过程中,根据约束条件产生随机化的浮点数激励就显得尤为重要,对此,目前主流的方式是给定需生成的浮点数的取值个数、浮点数取值区间以及定和值后,利用定和方式在浮点取值区间中随机取该取值个数的浮点数后,实现随机生成浮点数的目的。


技术实现要素:

4.本公开实施例提出了一种浮点数的定和生成方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
5.第一方面,本公开实施例提出了一种浮点数的定和生成方法,包括:获取浮点数取值区间、目标定和值以及浮点数取值个数,并基于该目标定和值以及浮点数取值个数确定平均值;将该浮点数取值区间拆分为多个取值子区间;基于该取值子区间与该平均值的距离为各取值子区间配置对应的取值数量上限,其中,取值数量上限与该距离成反比;基于定和取值的方式,随机从该浮点数取值区间中提取该浮点数取值个数的浮点数。
6.第二方面,本公开实施例提出了一种浮点数的定和生成装置,包括:生成参数获取单元,被配置成获取浮点数取值区间、目标定和值以及浮点数取值个数,并基于该目标定和值以及浮点数取值个数确定平均值;取值区间拆分单元,被配置成将该浮点数取值区间拆分为多个取值子区间;取值数量配置单元,被配置成基于该取值子区间与该平均值的距离为各取值子区间配置对应的取值数量上限,其中,取值数量上限与该距离成反比;浮点数提取单元,被配置成基于定和取值的方式,随机从该浮点数取值区间中随机该浮点数取值个数的浮点数。
7.第三方面,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面中任一实现方式描述的浮点数的定和生成方法。
8.第四方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面中任一实现方式描述的浮点数的定和生成方法。
9.第五方面,本公开实施例提供了一种包括计算机程序的计算机程序产品,该计算
机程序在被处理器执行时能够实现如第一方面中任一实现方式描述的浮点数的定和生成方法。
10.本公开实施例提供的浮点数的定和生成方法、装置、电子设备、计算机可读存储介质及计算机程序产品,获取浮点数取值区间、目标定和值以及浮点数取值个数,并基于该目标定和值以及浮点数取值个数确定平均值,将该浮点数取值区间拆分为多个取值子区间,基于该取值子区间与该平均值的距离为各取值子区间配置对应的取值数量上限,其中,取值数量上限与该距离成反比,基于定和取值的方式,随机从该浮点数取值区间中提取该浮点数取值个数的浮点数。
11.本公开在将取值区间进行拆分为多个取值子区间后,基于取值子区间与基于定和值和取值个数确定的平均值的距离分配各取值子区间中可取浮点数的数量上限,以减少取值位于取值区间端点附近的浮点数数量,解决因在先取值过于接近取值区间端点导致的后续取值范围较为固定的问题,可减缓定和方式下因浮点数取值趋近取值区间端点导致的数据分布离散,丰富浮点数的数据多样性。
12.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
13.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
14.图1是本公开可以应用于其中的示例性系统架构;
15.图2为本公开实施例提供的一种浮点数的定和生成方法的流程图;
16.图3为本公开实施例提供的另一种浮点数的定和生成方法的流程图;
17.图4为本公开实施例提供的在一应用场景下的浮点数的定和生成方法的流程示意图;
18.图5为本公开实施例提供的一种浮点数的定和生成装置的结构框图;
19.图6为本公开实施例提供的一种适用于执行浮点数的定和生成方法的电子设备的结构示意图。
具体实施方式
20.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
21.此外,本公开涉及的技术方案中,所涉及的用户个人信息的获取、存储、使用、加工、运输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
22.图1示出了可以应用本公开的浮点数的定和生成方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。
23.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。
网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
24.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103和服务器105上可以安装有各种用于实现两者之间进行信息通讯的应用,例如浮点数生成类应用、远程测试类应用等。
25.终端设备101、102、103和服务器105可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
26.服务器105通过内置的各种应用可以提供各种服务,以可以提供浮点数定和生成的浮点数生成类应用为例,服务器105在运行该浮点数生成类应用时可实现如下效果:首先,通过网络104从终端设备101、102、103中接收到浮点数生成请求,并基于该生成请求获取用户期望生成浮点数的获取浮点数取值区间、目标定和值以及浮点数取值个数,并基于该目标定和值以及浮点数取值个数确定平均值;然后,服务器105将该浮点数取值区间拆分为多个取值子区间;接下来,服务器105基于该取值子区间与该平均值的距离为各取值子区间配置对应的取值数量上限,其中,取值数量上限与该距离成反比;最后,服务器105基于定和取值的方式,随机从该浮点数取值区间中提取该浮点数取值个数的浮点数。
27.需要指出的是,浮点数取值区间、目标定和值以及浮点数取值个数除可以从终端设备101、102、103通过网络104获取到之外,也可以通过各种方式预先存储在服务器105本地。因此,当服务器105检测到本地已经存储有这些数据时(例如开始处理之前留存的待处理的浮点数生成任务),可选择直接从本地获取这些数据,在此种情况下,示例性系统架构100也可以不包括终端设备101、102、103和网络104。
28.由于浮点数生成需要占用较多的运算资源和较强的运算能力,因此本公开后续各实施例所提供的浮点数的定和生成方法一般由拥有较强运算能力、较多运算资源的服务器105来执行,相应地,浮点数的定和生成装置一般也设置于服务器105中。但同时也需要指出的是,在终端设备101、102、103也具有满足要求的运算能力和运算资源时,终端设备101、102、103也可以通过其上安装的浮点数生成类应用完成上述本交由服务器105做的各项运算,进而输出与服务器105同样的结果。尤其是在同时存在多种具有不同运算能力的终端设备的情况下,但浮点数生成类应用判断所在的终端设备拥有较强的运算能力和剩余较多的运算资源时,可以让终端设备来执行上述运算,从而适当减轻服务器105的运算压力,相应的,浮点数的定和生成装置也可以设置于终端设备101、102、103中。在此种情况下,示例性系统架构100也可以不包括服务器105和网络104。
29.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
30.请参考图2,图2为本公开实施例提供的一种浮点数的定和生成方法的流程图,其中流程200包括以下步骤:
31.步骤201,获取浮点数取值区间、目标定和值以及浮点数取值个数,并基于该目标定和值以及浮点数取值个数确定平均值。
32.在本实施例中,由浮点数的定和生成方法的执行主体(例如图1所示的服务器105)获取用于以定和方式生成浮点数的浮点数取值区间、目标定和值以及浮点数取值个数,其中,浮点数取值区间即各浮点数所落入的数值范围,定和方式指的是最终生成的各浮点数的加和为定值,即最终生成的各浮点数的加和与该目标定和值相等,并在获取目标定和值和浮点数取值个数后,基于该目标定和值/浮点数取值个数的结果确定平均值。
33.步骤202,将该浮点数取值区间拆分为多个取值子区间。
34.在本实施例中,在基于上述步骤201中确定浮点数取值区间后,将该浮点数取值区间拆分为多个取值子区间,该取值子区间的长度可以基于预先配置的区间长度进行确定,也可以基于浮点数的数据结构需求进行确定,例如在浮点数取值区间为(-1,1)时,若期望数据结构分为四部分时,则可将该取值区间拆分为(-1,-0.5)、[-0.5,0)、[0,0.5)和[0,1)四个取值子区间。
[0035]
其中,优选的各取值区间的长度相等,在实践中也可根据需求不同设置取值区间长度不同的各取值子区间。
[0036]
在实践中,在将该浮点数取值区间拆分为多个取值子区间后,还可为各取值子区间添加对应的标签、标识、标记等,以便于后续提取出浮点数后,基于浮点数对应的标签、标识来判断该浮点数所属的取值子区间。
[0037]
步骤203,基于该取值子区间与该平均值的距离为各取值子区间配置对应的取值数量上限。
[0038]
在本实施例中,获取基于上述步骤201生成的平均值后,基于各取值子区间与该平均值的距离为各取值子区间配置对应的取值数量上限,其中,各取值子区间与该平均值的距离可基于各取值子区间的端点与该平均值的距离确定,以此种方式确定时,在该取值子区间位于该平均值右侧时,基于该取值子区间的左端点与该平均值之间的长度确定该距离,相应的,在该取值子区间位于该平均值左侧时,基于该取值子区间的右端点与该平均值之间的长度确定该距离,在该取值子区间包括该平均值时,则确定该取值子区间与该平均值的距离为零。
[0039]
在一些实施例中,还可以在确定该平均值后,基于取值子区间与该平均值之间相邻的其他取值子区间的数量确定该距离,例如当取值子区间为(-1,-0.5)、[-0.5,0)、[0,0.5)和[0,1)四个取值子区间,若平均值为-0.75,则依该顺序的各取值子区间与该平均值之间的距离为“0、1、2、3”,即取值子区间(-1,-0.5)与该平均值的距离为0,取值子区间[-0.5,0)与该平均值的距离为1。
[0040]
进一步的,在确定各取值子区间与该平均值的距离后,基于该距离为各取值子区间配置对应的取值数量上限,该取值数量上限与该距离成反比,即距离该平均值近的取值子区间中配置的取值数量上限多于距离该平均值远的取值子区间中配置的取值数量,该取值数量可直接基于距离的比值进行确定,例如期望提取的浮点数取值个数为100时,可基于距离0、1、2、3、4配置对应的取值数量上限为40,30,20,10,0。
[0041]
也可基于该距离值配置相应的用于表征取值数量上限的参数,例如各取值子区间中所对应的取值数量上限为2
10-n
个,其中n代表子区间与该平均值之间所间隔的取值子区
间数量(即距离)。
[0042]
其中,优选地各取值子区间的中所配置的取值数量上限进行加和后得到的总值超过该浮点数的取值个数,例如期望提取的浮点数取值个数为100时,各取值子区间所配置的取值数量上限进行加和后为100,避免最终得到的浮点数构成与取值子区间的结构完全一致,降低随机性。
[0043]
在实践中,在确定上述步骤202中所说明的各取值子区间对应的标签、标识、标记时,可基于该距离、取值数量上限等进行配置,以便于同时利用该标签、标识、标记实现标识取值子区间的同时,获知该取值子区间中允许被提取的浮点数的取值数量上限。
[0044]
步骤204,基于定和取值的方式,随机从该浮点数取值区间中提取该浮点数取值个数的浮点数。
[0045]
在本实施例中,基于定和取值的方式随机从基于步骤203中为各取值子区间配置对应的取值数量上限后的浮点数取值区间中提取浮点数取值个数的浮点数,其中,最终提取的浮点数结果中,各浮点数加和后结果等于该目标定和值,且满足各取值子区间配置对应的取值数量上限,即处于相同取值子区间的浮点数的数量满足该相同取值子区间所配置的取值数量上限。
[0046]
本公开实施例提供的浮点数的定和生成方法,在将取值区间进行拆分为多个取值子区间后,基于取值子区间与基于定和值和取值个数确定的平均值的距离分配各取值子区间中可取浮点数的数量上限,以减少取值位于取值区间端点附近的浮点数数量,解决因在先取值过于接近取值区间端点导致的后续取值范围较为固定的问题,可减缓定和方式下因浮点数取值趋近取值区间端点导致的数据分布离散,丰富浮点数的数据多样性。
[0047]
在本实施例的一些可选的实现方式中,将该浮点数取值区间拆分为多个取值子区间,包括:基于该平均值与该浮点数取值区间上限数值的第一距离以及该平均值与该浮点数取值区间下限数值的第二距离中较小者确定取值子区间长度;基于该子区间长度将浮点数取值区间拆分为多个取值子区间。
[0048]
具体的,在基于目标定和值以及浮点数取值个数确定平均值后,基于该平均值与该浮点数取值区间上限数值的第一距离以及该平均值与该浮点数取值区间下限数值的第二距离中较小者确定取值子区间长度,并基于该子区间长度将浮点数取值区间拆分为多个取值子区间,基于与该平均值最为接近的浮点数取值区间的端点快速确定取值子区间的拆分长度,实现取值子区间长度与目标定和值的关联,提升取值子区间的拆分质量。
[0049]
在本实施例的一些可选的实现方式中,该基于该取值子区间与该平均值的距离为各取值子区间配置对应的取值数量上限,包括:获取各该取值子区间与该平均值的距离;响应于第一取值子区间与该平均值距离未超过预先配置的距离上限,基于该第一取值子区间与该平均值的目标距离配置第一取值数量上限。
[0050]
具体的,在将浮点数取值区间拆分为多个取值子区间后,可相应的设置距离阈值范围,以便于通过该距离阈值范围对各取值子区间进行筛选,即与平均值距离位于该距离阈值范围内的取值子区间依据该取值子区间与平均值之间的距离进行第一取值数量上限的配置,该第一取值数量上限的配置方式与图2所示实施例中步骤203中所提供的方式相近,此处不再重复说明,在该实现方式中,可通过设置距离阈值的方式调整配置策略,以实现对距离平均值该距离上限范围内的第一取值子区间的差异化配置,提升取值子区间对应
的取值数量上限的配置效率。
[0051]
在本实施例的一些可选的实现方式中,还包括:响应于第二取值子区间与该平均值距离超过该距离上限,为该第二取值子区间配置预设的第二取值数量上限,其中,该第二取值数量上限小于或等于该第一取值数量上限中的最小值。
[0052]
具体的,在确定取值子区间与该平均值的距离超过上述实现方式中的距离上限时,对超过该距离上限的取值子区间直接配置预设的第二数量上限,该第二取值数量上限的数值通常与第一取值数量上限中最小值相当或小于该第一取值数量上限中最小值,以实现对极端位置(即该距离上限范围外的第二取值子区间)的取值数量的快速配置,提升取值子区间对应的取值数量上限的配置效率。
[0053]
请参考图3,图3为本公开实施例提供的另一种浮点数的定和生成方法的流程图,其中流程300包括以下步骤:
[0054]
步骤301,获取浮点数取值区间、目标定和值以及浮点数取值个数,并基于该目标定和值以及浮点数取值个数确定平均值。
[0055]
步骤302,将该浮点数取值区间拆分为多个取值子区间。
[0056]
步骤303,基于该取值子区间与该平均值的距离为各取值子区间配置对应的取值数量上限。
[0057]
步骤304,基于定和取值的方式随机从该浮点数取值区间中获取当前浮点数,并基于该当前浮点数的结果更新该浮点数取值区间。
[0058]
在本实施例中,基于定和取值的方式随机从浮点数取值区间中获取当前浮点数,并将该当前浮点数的结果对浮点数取值区间进行更新,其中,该更新后的浮点数取值区间由该结果及更新前的浮点数取值区间中距离该结果较远的端点组成,即后续基于该更新后的浮点数取值区间所取得的浮点数,在数轴上仅会按照以当前浮点数的结果为始,向该结果与平均值连线方向进行排布。
[0059]
步骤305,随机从更新后的浮点数取值区间中随机选取下一个浮点数,并基于下一个浮点数的结果再次更新该浮点数取值区间。
[0060]
在本实施例中,执行在从更新后的浮点数取值区间中继续随机选取下一浮点数后,基于相同的方式对更新后的浮点数取值区间进行再次更新。
[0061]
步骤306,判断提取出的浮点数的数量是否满足浮点数取值个数的要求。
[0062]
在本实施例中,在不满足时,跳转至重新执行该步骤305,即持续循环执行该步骤305,在满足时跳出。
[0063]
在一些可选的实施例中,在基于选取的浮点数结果对浮点数取值区间进行更新时,为避免浮点数取值区间仅以平均值为原点对称跳转,还可引入未提出的浮点数的结果的最大范围同时对浮点数取值区间进行更新,例如,在浮点数取值区间为(-1,1),目标定和值为0,浮点值取值个数为10,在已提取到的浮点数取值个数为7,当前浮点数的结果(即第8个被提取出的浮点数)为0.5
×
100时,基于该结果更新后的浮点数取值区间为(-0.5,0.5),基于未提取到的浮点数确定的最大提取范围为中,上限值为0-3
×
(-1)=3,下限值为0-3
×
(1)=-3,即(-3,3),基于该最大范围对该浮点数取值区间进行调整后,得到的浮点数取值区间为(-3,0.5),鉴于最开始配置的浮点数取值区间为(-1,1),最终确定浮点数取值区间为(-1,0.5),以避免在下次浮点数取值为-0.5
×
100时可能存在的仅以平均值为原点对称
跳转,限缩浮点数取值范围。
[0064]
以上步骤301-303与如图2所示的步骤201-203一致,相同部分内容请参见上一实施例的相应部分,此处不再进行赘述,本实施例在上述图2所示实施例的基础上,进一步的,可基于当前次提取到的当前浮点数的结果对浮点数取值区间进行更新,以使得随机化生成的浮点数的分布更加均匀。
[0065]
在上述任一实施例的基础上,该浮点数的定和生成方法,还包括:响应于接收到目标定积值,利用对数运算更新该浮点数取值区间、将该目标定积值调整为该目标定和值;以及在该基于定和取值的方式,随机从该浮点数取值区间中提取该浮点数取值个数的浮点数之后,还包括:利用对数运算处理该浮点数,并基于该浮点数取值区间的端点与数轴原点的位置关系确定经对数处理后的浮点数的符号。
[0066]
具体的,在接收到目标定积时进行响应,并利用对数运算更新该浮点数取值区间、将该目标定积值调整为该目标定和值后,利用上述任一实施例的方式中所说明的、以定和方式提取相应的浮点数,并再次利用对数运算的方式对提取到的浮点数进行处理、基于该浮点数取值区间的端点与数轴原点的位置关系确定经对数处理后的浮点数的符号,以实现对于定积方式的浮点数提取,例如,获取(初始)浮点数取值区间及目标定积值后,若该(初始)浮点数取值区间的端点位于数轴原点同侧,则将该(初始)浮点数取值区间两个端点的绝对值对该浮点数取值区间进行调整,若该(初始)浮点数取值区间的端点位于数轴原点异侧,则将该浮点数取值区间两个端点的绝对值中最大值与原点对该浮点数取值区间进行调整。
[0067]
然后,以取2的对数为例,将调整后的浮点数取值区间的端点值,目标定积值取2的对数后,得到用于浮点数定和生成方法的浮点数取值区间、目标定和值。
[0068]
最后,将得到的浮点数结果进行平方运算处理后,得到浮点数的数值结果,若(初始)浮点数取值区间的端点位于数轴原点异侧,且目标定积值为正数,则任取一个大于0小于浮点数取值个数的偶数,并将该浮点数的数值结果中该偶数个的数值结果确定为负值,若(初始)浮点数取值区间的端点位于数轴原点异侧,且目标定积值为负数,则任取一个大于0小于浮点数取值个数的奇数,并将该浮点数的数值结果中该奇数个的数值结果确定为负值;若(初始)浮点数取值区间的端点位于数轴原点同侧,且为(初始)浮点数取值区间的端点均位于原点左侧,将所有的数值结果确定为负值,若(初始)浮点数取值区间的端点位于数轴原点同侧,且为(初始)浮点数取值区间的端点均位于原点右侧,将所有的数值结果确定为正值。
[0069]
为加深理解,本公开还结合一个具体应用场景,给出了一种具体的实现方案,请参见如图4所示的流程400,具体如下:
[0070]
首先,获取浮点数取值区间(-5,1),目标定和值0,以及浮点数取值个数100,并基于该目标定和值即浮点数取值个数100确定平均值0。
[0071]
然后,基于该平均值0与-5以及0与1之间的较小者确定取值子区间长度1后,将该浮点数取值区间(-5,1)拆分为取值子区间(-5,-4]、(-4,-3]、(-3,-2]、(-2,-1]、(-1,-0]以及(0,1),并确定各取值子区间与该平均值0的距离,依次将各取值子区间标记为5、4、3、2、1、1后,基于2
10-n
,其中n表示该取值子区间与该平均值的距离(标记的值),并分别确定各取值子区间所对应的取值数量上限,即依次为25、26、27、28、29和29。
[0072]
最后,基于定和取值的方式随机从该浮点数取值区间中获取当前浮点数,例如取得浮点数为0.5
×
100,基于该浮点数的取值结果对浮点数取值区间以及基于未提出的浮点数的结果的最大范围(0-99
×
1,0+99
×
5)进行更新,得到更新后的浮点数取值区间为(-5,0.5],并在该更新后的浮点数取值区间中(-5,0.5]随机提取下一浮点数,并基于下一浮点数的提取结果再次对该更新后的浮点数取值区间进行更新,并循环该步骤至提取出该浮点数取值个数的为100个时跳出。
[0073]
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种浮点数的定和生成装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0074]
如图5所示,本实施例的浮点数的定和生成装置500可以包括:生成参数获取单元501、取值区间拆分单元502、取值数量配置单元503和浮点数提取单元504。其中,生成参数获取单元501,被配置成获取浮点数取值区间、目标定和值以及浮点数取值个数,并基于该目标定和值以及浮点数取值个数确定平均值;取值区间拆分单元502,被配置成将该浮点数取值区间拆分为多个取值子区间;取值数量配置单元503,被配置成基于该取值子区间与该平均值的距离为各取值子区间配置对应的取值数量上限,其中,取值数量上限与该距离成反比;浮点数提取单元504,被配置成基于定和取值的方式,随机从该浮点数取值区间中随机该浮点数取值个数的浮点数。
[0075]
在本实施例中,浮点数的定和生成装置500中:生成参数获取单元501、取值区间拆分单元502、取值数量配置单元503和浮点数提取单元504的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-204的相关说明,在此不再赘述。
[0076]
在本实施例的一些可选的实现方式中,该浮点数提取单元504,包括:取值及区间更新子单元,被配置成基于定和取值的方式随机从该浮点数取值区间中获取当前浮点数,并基于该当前浮点数的结果更新该浮点数取值区间,其中,该更新后的浮点数取值区间由该结果及更新前的浮点数取值区间中距离该结果较远的端点组成;循环控制子单元,被配置成控制该取值及区间更新子单元循环执行随机从更新后的浮点数取值区间中选取下一个浮点数,并基于该下一个浮点数的结果再次更新该浮点数取值区间,至提取出该浮点数取值个数的浮点数。
[0077]
在本实施例的一些可选的实现方式中,该取值区间拆分单元502,包括:区间长度确定子单元,被配置成基于该平均值与该浮点数取值区间上限数值的第一距离以及该平均值与该浮点数取值区间下限数值的第二距离中较小者确定取值子区间长度;取值区间拆分子单元,被配置成基于该子区间长度将浮点数取值区间拆分为多个取值子区间。
[0078]
在本实施例的一些可选的实现方式中,该取值数量配置单元503,包括:区间距离获取子单元,被配置成获取各该取值子区间与该平均值的距离;第一取值数量配置子单元,被配置成响应于第一取值子区间与该平均值距离未超过预先配置的距离上限,基于该第一取值子区间与该平均值的目标距离配置第一取值数量上限。
[0079]
在本实施例的一些可选的实现方式中,该取值数量配置单元503,还包括:第二取值数量配置子单元,被配置成响应于第二取值子区间与该平均值距离超过该距离上限,为该第二取值子区间配置预设的第二取值数量上限,其中,该第二取值数量上限小于或等于该第一取值数量上限中的最小值。
[0080]
在本实施例的一些可选的实现方式中,该浮点数的定和生成装置500,还包括:定积值调整单元,被配置成响应于接收到目标定积值,利用对数运算将该目标定积值调整为该目标定和值;浮点数处理单元,被配置成利用对数运算处理该浮点数,并基于该浮点数取值区间的端点与数轴原点的位置关系确定经对数处理后的浮点数的符号。
[0081]
本实施例作为对应于上述方法实施例的装置实施例存在,本实施例提供的浮点数的定和生成装置,在将取值区间进行拆分为多个取值子区间后,基于取值子区间与基于定和值和取值个数确定的平均值的距离分配各取值子区间中可取浮点数的数量上限,以减少取值位于取值区间端点附近的浮点数数量,解决因在先取值过于接近取值区间端点导致的后续取值范围较为固定的问题,可减缓定和方式下因浮点数取值趋近取值区间端点导致的数据分布离散,丰富浮点数的数据多样性。
[0082]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0083]
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0084]
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0085]
设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0086]
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如浮点数的定和生成方法。例如,在一些实施例中,浮点数的定和生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram 603并由计算单元601执行时,可以执行上文描述的浮点数的定和生成方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行浮点数的定和生成方法。
[0087]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统
的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0088]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0089]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0090]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0091]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0092]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(vps,virtual private server)服务中存在的管理难度大,业务扩展性弱的缺陷。服务器也可以分为分布式系统的服务器,或者是结合了区块链的服务器。
[0093]
根据本公开实施例的技术方案,在将取值区间进行拆分为多个取值子区间后,基
于取值子区间与基于定和值和取值个数确定的平均值的距离分配各取值子区间中可取浮点数的数量上限,以减少取值位于取值区间端点附近的浮点数数量,解决因在先取值过于接近取值区间端点导致的后续取值范围较为固定的问题,可减缓定和方式下因浮点数取值趋近取值区间端点导致的数据分布离散,丰富浮点数的数据多样性。
[0094]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
[0095]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1