数据处理方法及装置、电子设备、计算机可读存储介质与流程

文档序号:33639552发布日期:2023-03-29 01:40阅读:43来源:国知局
数据处理方法及装置、电子设备、计算机可读存储介质与流程

1.本公开涉及人工智能(artificial intelligence,ai)技术领域,特别涉及一种数据处理方法及装置、电子设备、计算机可读存储介质。


背景技术:

2.目前,时序类神经网络被广泛应用于各类场景,基于此,时序类神经网络加速的需求也在逐渐普及。然而,常规的时序类神经网络加速的方法,受到时序类神经网络的输入数据长短不一的限制,加速的性能较差。


技术实现要素:

3.本公开提供一种数据处理方法及装置、电子设备、计算机可读存储介质。
4.第一方面,本公开提供了一种数据处理方法,该数据处理方法包括:
5.获取至少两个待处理数据,所述至少两个待处理数据包括两个长度不同的数据;
6.按照所述至少两个待处理数据的长度,将所述至少两个待处理数据分配到至少两个数据集中,所述至少两个数据集中每个数据集对应一个数据长度范围,且两两之间对应的数据长度范围不重叠;
7.若所述至少两个数据集中包括满足输出条件的数据集,将满足所述输出条件的至少一个数据集中的待处理数据组成批数据传输到目标时序神经网络对应的处理单元,以触发所述处理单元基于所述目标时序神经网络执行处理操作,所述批数据是指数据数量符合目标数量的一组数据。
8.第二方面,本公开提供了一种数据处理装置,该数据处理装置包括:
9.处理模块,用于获取至少两个待处理数据,所述至少两个待处理数据包括两个长度不同的数据;
10.分配模块,用于按照所述至少两个待处理数据的长度,将所述至少两个待处理数据分配到至少两个数据集中,所述至少两个数据集中每个数据集对应一个数据长度范围,且两两之间对应的数据长度范围不重叠;
11.传输模块,用于若所述至少两个数据集中包括满足输出条件的数据集,将满足所述输出条件的至少一个数据集中的待处理数据组成批数据传输到目标时序神经网络对应的处理单元,以触发所述处理单元基于所述目标时序神经网络执行处理操作,所述批数据是指数据数量符合目标数量的一组数据。
12.第三方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的数据处理方法。
13.第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器/处理核执行时实现上述的数据处理方法。
14.本公开所提供的实施例,应用于对数据的预处理阶段,在获取至少两个待处理数据之后,将至少两个待处理数据传输到目标时序神经网络之前,按照所述至少两个待处理数据的长度,将所述至少两个待处理数据分配到至少两个数据集中。进一步的,若至少两个数据集中包括满足输出条件的数据集,将至少一个满足输出条件的数据集中的待处理数据组成批数据传输到目标时序神经网络对应的处理单元,以触发所述处理单元基于所述目标时序神经网络执行处理操作,所述批数据是指数据数量符合目标数量的一组数据。其中,所述至少两个待处理数据包括两个长度不同的数据,至少两个数据集中每个数据集对应一个数据长度范围,且至少两个数据集两两之间对应的数据长度范围不重叠。
15.即,按照待处理数据的长度将至少两个待处理数据分配为至少两个数据集,每个数据集即一个长度范围的数据的集合,这样,使得每个数据集中的待处理数据的长度均相差不大,那么,以数据集为单位向目标时序神经网络的处理单元传输的批数据,有利于将传输到目标时序神经网络的处理单元的待处理数据的长度差维持在一定范围内,从而有利于提高目标时序神经网络处理待处理数据的速度,进而,优化了目标时序神经网络加速的性能。
16.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
17.附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
18.图1为本公开实施例提供的一种数据处理方法的流程图;
19.图2为本公开实施例提供的一种示例性数据处理方法的数据流向示意图;
20.图3为本公开实施例提供的另一种示例性数据处理方法的数据流向示意图;
21.图4为本公开实施例提供的一种数据处理装置的框图;
22.图5为本公开实施例提供的一种电子设备的框图。
具体实施方式
23.为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
24.在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
25.如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
26.本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、
组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
27.除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
28.本公开实施例涉及神经网络加速领域,具体涉及时序类神经网络的加速,时序类神经网络例如可以包括循环神经网络(recurrent neural network,rnn)、脉冲神经网络(spiking neural network,snn)等,神经网络加速即提高神经网络的计算速度。
29.时序类神经网络可以逻辑等效为多个按照时间维度排列的神经网络单元,每个神经网络单元输入该神经网络单元所处时间步的数据序列,和上一时间步的神经网络单元的输出结果,进而,将本神经网络单元的输出结果传输到下一个时间步对应的神经网络单元。即,从逻辑功能层面讲,时序类神经网络的运行逻辑可以是,将待处理数据切分为多个数据段,每个数据段对应一个时间步,在每个时间步处理对应的数据段。
30.以rnn和snn为代表的时序神经网络常用于处理序列数据问题,例如文本分类、语音识别、文本翻译等。该类网络具有一个或多个基本的由多个神经元组成的时序神经网络单元,常见的时序神经网络单元(rnn单元)包括lstm(long short-term memory,长短时记忆)单元和gru(gate recurrent unit,门控循环)单元等。时序神经网络单元(rnn单元)在时间维度上循环使用,每个时间步上获得对应的输入序列中的一个输入和上一个时间步中rnn单元的中间结果,当前时间步的中间结果又会作为下一个时间步的输入之一,最终在相同的计算单元上完成一定时间步的计算。因此rnn可以按时间展开表示,并且,一个时序神经网络单元在不同时间步上共享一套权重。
31.而对于和人脑神经网络更相似的脉冲神经网络,同样拥有与rnn类似的时序特性。snn采用脉冲序列编码信息,并在执行过程中,每个神经元维持其膜电位信息(或其他表示中间状态的信息)。而snn在处理完一个时序输入样本后,其膜电位会重置到静息电位。所以我们可以将snn神经元每一次更新膜电位,记为一个时间步。snn处理一个输入样本的过程也可以等价的看作按时间步展开的方式。
32.目前,时序类神经网络被广泛应用于各类场景,基于此,时序类神经网络加速的需求也在逐渐普及。由于将单个输入数据输入加速器或加速模块进行数据处理,通常并不能占满该加速器的所有算力,所以,相关时序类神经网络加速执行过程中,将输入数据按批(按batch)处理,即时序类神经网络的加速方案中,在接收到n个输入数据后再统一输入给加速器,由加速器对该批数据统一进行处理,该方式可充分利用加速器的算力、提高加速器计算利用率、使得计算过程覆盖数据传输与控制的时间,从而提高时序类神经网络的处理效率。
33.然而,加速模块接收到的多个数据通常长短不一,长度甚至可能相差很大,而基于时序类神经网络的操作原理,时序类神经网络需要将待处理的一批数据处理为等长的数据,进而,按照该长度处理每个数据。一种常规的将数据处理为等长的操作是,对齐该多个数据中长度最大的数据,将其他长度相对较短的数据进行填充,而这种方式会导致一些时序类神经网络单元无对应的数据段需要处理,从而降低了时序类神经网络的利用率,进而
使得加速性能较差。
34.有鉴于此,本公开实施例提供了一种数据处理方法,在获取至少两个待处理数据之后,按照所述至少两个待处理数据的长度,将所述至少两个待处理数据分配到至少两个数据集中,其中,每个数据集对应一个数据长度范围。进而,以数据集为单位组成批数据向目标时序神经网络传输待处理数据。由于每个数据集中的待处理数据的长度均相差不大,这样有利于将传输到目标时序神经网络的批数据中的待处理数据的长度差维持在一定范围内,从而有利于提高目标时序神经网络处理待处理数据的速度,进而,优化了目标时序神经网络加速的性能。
35.根据本公开实施例的数据处理方法可以由电子设备执行,所述电子设备可以为车载设备、用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读程序指令的方式来实现。该电子设备可以用作终端设备或者服务器。
36.图1为本公开实施例提供的一种数据处理方法的流程图。参照图1,该方法包括:
37.在步骤s11中,获取至少两个待处理数据。
38.其中,待处理数据是指待输入目标时序神经网络进行处理的数据。根据实施场景不同,所述至少两个待处理数据可以是图像数据、语音数据、文本数据、视频数据等中的任意一种,本公开实施例对此不限制。
39.一些实现方式中,本公开实施例的至少两个待处理数据中部分待处理数据的长度可以相同,而该部分待处理数据的长度与至少两个待处理数据中其他待处理数据的长度不同。另一些实现方式中,本公开实施例的至少两个待处理数据的长度可以各不相同。即,所述至少两个待处理数据包括两个长度不同的数据。
40.在步骤s12中,按照所述至少两个待处理数据的长度,将所述至少两个待处理数据分配到至少两个数据集中。
41.其中,所述至少两个数据集中每个数据集对应一个数据长度范围,且至少两个数据集两两之间对应的数据长度范围可以不重叠。
42.一些实现方式中,电子设备可以按照数据长度设置至少两个数据长度范围[si,ei],其中,i是大于或者等于1的整数,i是指至少两个数据长度范围中的第i个数据长度范围,si是指第i个数据长度范围中的最小数据长度,ei是指第i个数据长度范围中的最大数据长度。进而,若任一待处理数据的长度l∈[si,ei],将该待处理数据分配到数据长度范围是[si,ei]的数据集中。
[0043]
示例性的,待处理数据的长度通常为2的幂指数,基于此,可以按照2的幂指数划分数据长度范围,例如,数据长度范围[1,4]、数据长度范围[5,16]、数据长度范围[17,64]、数据长度范围[65,256]等。
[0044]
需要指出的是,在将至少两个待处理数据传输至目标时序神经网络之前,电子设备通常缓存所述至少两个待处理数据。
[0045]
基于此,一些实现方式中,电子设备可以预先按照数据集对应的数据长度范围将存储空间分为至少两个存储区域,其中每个存储区域对应一个数据集。进而,针对至少两个待处理数据中每个待处理数据,在接收到所述待处理数据后,电子设备检测所述待处理数
据的长度,之后,按照所述待处理数据的长度将所述待处理数据分配到相应数据集对应的存储区域。如图2示意的示例性数据处理方法所述。
[0046]
另一些实现方式中,电子设备可以将所述至少两个待处理数据全部存储在存储空间,进而,按照所述至少两个待处理数据中各个待处理数据的长度,分配各个待处理数据至所述至少两个数据集中。具体的,可以将所述至少两个待处理数据全部存储在存储空间,由批分配器按照所述至少两个待处理数据中各个待处理数据的长度,统计各个待处理数据属于哪个数据集,并记录不同数据集中统计的数量。如图3示意的示例性数据处理方法所述。
[0047]
在步骤s13中,若所述至少两个数据集中包括满足输出条件的数据集,将满足所述输出条件的至少一个数据集中的待处理数据组成批数据传输到目标时序神经网络对应的处理单元,以触发所述处理单元基于所述目标时序神经网络执行处理操作。
[0048]
其中,目标时序神经网络的处理单元可以以批数据为单位处理数据,“批”通常也可以称为“batch”,一batch的数据数量可以根据待处理数据的具体实现预先设定的固定值,本公开实施例将一batch的数据数量称为目标数量,相应的,所述批数据是指数据数量符合目标数量的一组数据。
[0049]
本公开实施例所述的输出条件可以是预设置的。所述输出条件可以是:数据集中的待处理数据总数量达到所述数据集对应的预设阈值,和/或,数据集中的存储时间最长的待处理数据的存储时长达到所述数据集对应的预设时长。
[0050]
此外,对应不同实施场景,至少两个待处理数据中,最小长度和最大长度的不同数据长度范围的待处理数据的数量分布可能不同,例如,某实施场景的待处理数据中,数据长度属于数据长度范围[1,4]的待处理数据的数量相对较少,数据长度属于数据长度范围[65,256]和[257,1024]的待处理数据的数量相对较多。再如,另一实施场景的待处理数据中,数据长度属于数据长度范围[5,16]的待处理数据的数量相对较少,数据长度属于数据长度范围[17,64]至[65,256]的待处理数据的数量相对较多。基于此,本公开实施例中,各个数据集对应的待处理数据总数量的预设阈值可以按照需求灵活设置,各个数据集对应的存储时间最长的待处理数据的预设时长也可以按照需求灵活设置。
[0051]
进一步的,由于目标数量是预先设定的固定值,而不同数据集中待处理数据对应的预设阈值、以及不同数据集中待处理数据的总数量可以不同。基于此,目标数量可以与至少两个数据集中部分数据集对应的预设阈值相同,或者,目标数量可以与至少两个数据集中各数据集对应的预设阈值均不同。基于此,当至少两个数据集中包括满足输出条件的数据集时,可以根据满足输出条件的数据集的情况,采用不同实现方式根据相关数据集获得目标数量的待处理数据,以得到所述批数据。
[0052]
一些实现方式中,当满足所述输出条件的至少一个数据集中的待处理数据的总数量大于或者等于所述目标数量,将所述满足所述输出条件的至少一个数据集中所述目标数量的数据作为所述批数据传输到所述目标时序神经网络对应的处理单元。
[0053]
例如,以至少两个数据集中第i个数据长度范围的数据集为例,该数据集对应的待处理数据总数量预设阈值例如是ni,ni例如大于批数据对应的目标数量,该数据集中的存储时间最长的待处理数据的预设时长为ti。若该数据集中的待处理数据总数量达到预设阈值ni,或者,该数据集中的存储时间最长的待处理数据的存储时长达到预设时长ti,且此时第i个数据长度范围的数据集中包含目标数量的待处理数据,可以将该数据集中目标数量的待
处理数据待处理数据作为一个批数据传输到目标时序神经网络的处理单元。
[0054]
另一些实现方式中,对应至少两个数据集中的任一数据集,若该数据集中的存储时间最长的待处理数据的存储时长达到该数据集对应的预设时长,但该数据集中待处理数据总数量未达到目标数量,或者,如上述示例示意的数据集中的待处理数总量大于目标数量,但已输出一个批数据,导致剩余的待处理数据的量小于目标数量的情况下,电子设备可以从该数据集以及与该数据集相邻的至少一个数据集中的待处理数据组成所述批数据传输至所述目标时序神经网络对应的处理单元。
[0055]
示例性的,本公开实施例所述的与该数据集相邻的数据集是指,数据长度范围中的最大长度与该数据集对应的数据长度范围中最小长度相邻的数据集,和数据长度范围中的最小长度与该数据集对应的数据长度范围中最大长度相邻的数据集。例如,与数据长度范围为[5,16]的数据集相邻的数据集包括:数据长度范围是[1,4]的数据集和数据长度范围是[17,64]的数据集。
[0056]
例如,依然以至少两个数据集中第i个数据长度范围的数据集为例,若该数据集中的存储时间最长的待处理数据的存储时长达到预设时长ti,而该数据集中的待处理数据总数量小于目标数量,在i等于1的场景下,电子设备可以从第i+1个数据长度范围的数据集中获取待处理数据,并与第i个数据长度范围的数据集中的全部待处理数据共同组成满足目标数量的批数据,以将该批数据传输到目标时序神经网络对应的处理单元。在i大于或者等于2的场景下,电子设备可以按照需求从第i-1个,和/或,第i-1个数据长度范围的数据集与该数据集中获取足够数量的待处理数据,以组成批数据传输到目标时序神经网络对应的处理单元。
[0057]
可以理解的是,本实现方式中并不限制仅将两个相邻的数据集中的数据组成一批数据,而是可以将多个不同的数据集中的数据组成批数据,从而将组成的批数据传输至对应的处理单元。
[0058]
采用本实现方式,既能将存储时间较长的待处理数据传输到目标时序神经网络对应的处理单元优先处理,又能获得符合数量条件的批数据传输到目标时序神经网络,从而能够在及时处理各个待处理数据的情况下,提高目标时序神经网络的计算效率。
[0059]
再一些实现方式中,当所述至少两个数据集中包括两个或两个以上满足所述输出条件的数据集时,可以按照一定的优先级获取批数据并将批数据传输到所述目标时序神经网络对应的处理单元。
[0060]
示例性的,若所述至少两个数据集中两个或两个以上的数据集,待处理数据的总数量均达到相应数据集对应的预设阈值,按照待处理数据的总数量从多到少的优先级获取所述目标数量的数据得到所述批数据传输至所述目标时序神经网络对应的处理单元。
[0061]
示例性的,若所述至少两个数据集中两个或两个以上的数据集中,存储时间最长的待处理数据的存储时长均达到相应数据集对应的预设时长,按照存储时间从长到短的优先级获取所述目标数量的数据得到所述批数据传输至所述目标时序神经网络对应的处理单元。
[0062]
例如,以至少两个数据集中第i个和第i+x个数据长度范围的数据集为例,第i+x个数据长度范围的数据集对应的待处理数据总数量预设阈值例如是n
i+x
,第i+x个数据长度范围的数据集中的存储时间最长的待处理数据的预设时长为t
i+x
。其中,n
i+x
例如大于ni,t
i+x
例如小于ti。x是不为0的整数。若第i个数据集中的待处理数据总数量达到预设阈值ni,且第i+x个数据集中的待处理数据总数量达到预设阈值n
i+x
,则可以优先从第i+x个数据集中的待处理数据中选择满足目标数量条件的批数据传输到目标时序神经网络对应的处理单元。或者,若第i个数据集中的存储时间最长的待处理数据的存储时长达到预设时长ti,且第i+x个数据集中的待处理数据总数量达到预设阈值t
i+x
,则可以优先从第i个数据集中按照存储时间从大到小的顺序选择满足目标数量条件的批数据传输到目标时序神经网络对应的处理单元。
[0063]
可以理解的是,上述仅是对选择数据集的示意性描述,对本公开实施例不构成限制。在实际实现过程中,本公开实施例还可以基于实施场景等,按需求设置其他数据集对应的传输条件。此处不再详述。
[0064]
根据本公开的实施例,预先设定不同数据长度范围的数据集,使得每个数据集对应一个数据长度范围,进而,按照至少两个待处理数据的长度,将至少两个待处理数据分配到至少两个数据集中,进而,以数据集为单位获得批数据并向目标时序神经网络传输。由于每个数据集中的待处理数据的长度均相差不大,这样有利于将传输到目标时序神经网络的批数据的长度差维持在一定范围内,从而有利于提高目标时序神经网络处理批数据的速度,进而,优化了目标时序神经网络加速的性能。
[0065]
下面结合示例对根据本公开实施例的数据处理方法进行说明。
[0066]
根据前述对本公开实施例实施场景的描述可知,本公开实施例的数据处理方法应用于神经网络加速领域的数据预处理阶段,以下将执行数据预处理部分的设备逻辑等效为神经网络加速设备进行说明。
[0067]
图2为本公开实施例提供的一种示例性数据处理方法的数据流向示意图,图2涉及的神经网络加速设备例如包括缓存分配器、多个缓存区间和神经网络处理单元,多个缓存区间分别对应多个数据长度范围。数据长度范围如前述实现方式的描述,此处不再详述。
[0068]
图2示意的示例中,神经网络加速设备接收到多个输入数据后,缓存分配器根据各个输入数据的长度,将不同长度的输入数据分配给不同的缓存区间进行存储,相应的,每个缓存区间存储有一个数据集,每个数据集的长度属于相应缓存区间对应的数据长度范围。
[0069]
需要指出的是,图2示意的实现方式中,对于神经网络加速设备接收到的每个输入数据,缓存分配器可以直接检测数据长度,之后,再存储到对应的缓存区间。
[0070]
进一步的,在检测到缓存区间满足输出条件,根据满足输出条件的缓存区间存储的输入数据获得批数据,将所获得的批数据传输到神经网络处理单元。神经网络处理单元可以对输入数据进行批处理。输出条件以及满足输出条件后的数据集传输到神经网络处理单元的实现过程,可以参见本说明书前述描述,此处不再赘述。
[0071]
示例性的,图2示意的实现方式中,神经网络加速设备可以通过另外部署的控制器或者处理器,将缓存区间的输入数据传输到神经网络处理单元。
[0072]
应理解,图2示意的实现方式仅是本公开实施例的一种实现方式,本公开实施例还可以包括其他实现方式。例如,图3为本公开实施例提供的另一种示例性数据处理方法的数据流向示意图,不同于图2的实现方式,图3涉及的神经网络加速设备例如包括缓存、数据分配器和神经网络处理单元。其中,数据分配器中例如可以预先部署多个数据长度范围,数据长度范围如前述实现方式的描述,此处不再详述。
[0073]
图3示意的示例中,神经网络加速设备接收到多个输入数据后,将多个输入数据存储到缓存中。本示例中,可以将输入数据直接存储,而并不基于各数据的长度存储。数据分配器提取缓存中各输入数据,检测各输入数据的长度,进而按照预先部署多个数据长度范围分配输入数据,得到多个数据集。在检测到满足输出条件的数据集之后,数据分配器可以将满足输出条件的数据集中的输入数据获得批数据传输到神经网络处理单元,以使神经网络处理单元可以对输入数据进行批处理。此处不再详述。
[0074]
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0075]
此外,本公开还提供了数据处理装置、电子设备、计算机可读存储介质,上述均可用来实现本公开提供的任一种数据处理方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
[0076]
图4为本公开实施例提供的一种数据处理装置的框图。
[0077]
参照图4,本公开实施例提供了一种数据处理装置,该数据处理装置包括:处理模块41、分配模块42和传输模块43。
[0078]
示例性的,处理模块41可以用于获取至少两个待处理数据,所述至少两个待处理数据包括两个长度不同的数据;分配模块42可以用于按照所述至少两个待处理数据的长度,将所述至少两个待处理数据分配到至少两个数据集中,所述至少两个数据集中每个数据集对应一个数据长度范围,且两两之间对应的数据长度范围不重叠;传输模块43可以用于若所述至少两个数据集中包括满足输出条件的数据集,将满足所述输出条件的至少一个数据集中的待处理数据组成批数据传输到目标时序神经网络对应的处理单元,以触发所述处理单元基于所述目标时序神经网络执行处理操作,所述批数据是指数据数量符合目标数量的一组数据。
[0079]
各模块的其他功能,参见方法部分的相应记载,此处不再赘述。
[0080]
图5为本公开实施例提供的一种电子设备的框图。
[0081]
参照图5,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器501;至少一个存储器502,以及一个或多个i/o接口503,连接在处理器501与存储器502之间;其中,存储器502存储有可被至少一个处理器501执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器501执行,以使至少一个处理器501能够执行上述的数据处理方法。
[0082]
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器/处理核执行时实现上述的数据处理方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
[0083]
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述数据处理方法。
[0084]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,
在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
[0085]
如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom)、静态随机存取存储器(sram)、闪存或其他存储器技术、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0086]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0087]
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0088]
这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0089]
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/
或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0090]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0091]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0092]
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0093]
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1