一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用于图神经网络训练的采样方法及采样加速装置

2023-01-15 06:42:01 来源:中国专利 TAG:


1.本发明涉及数据处理领域,具体来说,涉及机器学习中的数据处理领域,更具体地说,涉及一种应用于图神经网络训练的采样方法、采样加速装置及基于采样方法的图神经网络训练方法。


背景技术:

2.机器学习中的图神经网络是一类深度学习模型,其具有从图数据(图数据包括多个节点和节点之间的代表连接关系的边)中提取特征并学习图数据中节点隐含信息的能力。图神经网络模型通过在图数据中采样来训练,现有技术下,在图神经网络模型训练过程中的采样方法是:按照一个预先获取的概率分布对图数据中的节点进行选取并保存为多个子图数据。其中,每个子图数据都是原始图数据的一部分,也包含一定数量的节点和这些节点之间的连接关系,使用这些子图作为训练图神经网络模型的输入数据,以学习图数据中的节点隐含信息。
3.现有技术中,用于图神经网络训练过程中的采样方法通常可以分为三类,即节点级采样、层级采样和子图级采样。如图1所示,以字母a-g表示图数据中的节点,节点间的连线代表节点间的连接关系的边,每个箭头所在区域表示一种采样方法的传递步骤,以该图为例分别采用三类方法进行采样时:第一类节点级采样方法中,主要按照特定概率关注单个节点并对关注的节点的邻居节点(与节点连接的节点作为该节点的邻居节点)进行选择,例如,以节点d(特定概率高的节点)作为首先关注的节点为例,在采样节点d的一阶邻居时选择了节点c和节点f,完成一阶邻居采样后再对采样到的节点c和节点f进行二阶邻居采样,即选择了节点b和节点g(采样节点d的二阶邻居),由此经过多阶采样可以获得子图(一阶邻居、二阶邻居及连接关系)用于图神经网络模型的训练;第二类层级采样方法是根据特定概率在一层中同时采样多个节点然后再恢复相邻两层被采样到节点之间的连接,以此获得子图用于图神经网络模型的训练,例如,假定图数据包括三层,其中,第一层中节点c和节点d(特定概率高的节点)被采样,第二层节点a、节点c、节点d、节点f被采样,第三层节点b、节点c、节点d、节点e、节点f、节点g被采样,然后对第一层和第二层节点间以及第二层和第三层节点间连接关系进行恢复,以获得子图(第一层、第二层、第三层及连接关系)用于图神经网络模型的训练;第三类子图级采样方法是通过特定策略选择一个节点集合然后利用选中的节点集合生成子图用于图神经网络模型的训练,例如,初始化后得到根节点集合(节点b和节点f),使用随机游走策略向根节点集合(节点b和节点f)中不断添加新的节点(节点c、节点d、节点g)集合生成子图(例如,其中一种子图为节点c、节点d、节点e、节点f、节点g及连接关系)用于图神经网络模型的训练。由上可以知,现有的采样方法将原始图分成很多更小的子图并用于图神经网络模型的训练,使得图神经网络的训练得以扩展到更大规模的图数据集。然而,现有的采样方法会带来不可忽视的采样时间开销:例如,形成多个子图的采样方法(子图级采样)的提出虽然使得图神经网络模型可以在包含百万节点的图上进行训练且达到较高的精度,但是大量的子图级采样过程的时间开销同样很可观。对于大规模图,图
中每个节点的邻居数目和邻居分布都具有随机性和不规则性,由于子图级采样使用特定策略选取节点集合,再通过节点集合生成子图,子图生成过程需要将集合内节点之间存在的连接关系进行恢复,这样会带来高额的查找和搜索开销,造成图神经网络训练过程中高额的采样时间消耗。
4.现有采样方法重点关注的是如何根据精心计算的概率分布对节点采样来减少由采样引起的偏差从而提升模型精度,往往忽略了采样过程本身会带来相对可观的开销;再者,高效访存的优化设计依赖于一定的硬件领域知识,这对于大部分采样算法设计者来说是缺乏的。由此,如何减轻采样方法的访存开销,即如何降低通过节点索引(存储位置具有随机性和不规则性)顺序查找集合中每个节点和其他节点是否相连来恢复被采样节点集合中各节点之间连接关系的所带来的访存时间,是设计图神经网络训练过程之前亟需考虑的问题。


技术实现要素:

5.因此,本发明的目的在于克服上述现有技术的缺陷,提供一种应用于图神经网络训练的采样方法、采样加速装置及基于采样方法的图神经网络训练方法。
6.本发明的目的是通过以下技术方案实现的:
7.根据本发明的第一方面,提供一种应用于图神经网络训练的采样方法,用于在图神经网络训练过程中对图数据进行采样,所述图数据包括多个节点和节点之间代表连接关系的边,其中,与节点连接的节点作为该节点的邻居节点,所述采样方法包括:s1、获取图数据中每个节点的所有邻居节点的存储位置,并以节点的所有邻居节点的存储位置随机排序构成该节点对应的邻居节点序列;s2、基于步骤s1中得到的每个节点对应的邻居节点序列判断该节点的所有邻居节点是否符合集中分布;s3、根据步骤s2中得到的每个节点的邻居节点的判断结果调整该节点被采样的概率,其中,将对应邻居节点符合集中分布的节点被采样的概率提高,将对应邻居节点不符合集中分布的节点被采样的概率降低;s4、采用步骤s3中调整后的每个节点被采样的概率形成的概率分布对图数据进行采样。
8.优选的,步骤s1中每个节点对应的邻居节点序列的长度为该节点所有邻居节点的个数。
9.在本发明的一些实施例中,步骤s2包括:s21、根据每个节点对应的邻居节点序列生成与该节点的邻居节点对应的集中分布的虚拟邻居序列;s22、计算每个节点对应的邻居节点序列与该节点的邻居节点对应的虚拟邻居节点序列的相似度;s23、基于预设的阈值和步骤s22中得到的每个节点对应的邻居节点序列与该节点的邻居节点对应的虚拟邻居节点序列的相似度判断每个节点的所有邻居节点是否符合集中分布,其中,相似度大于预设阈值的邻居节点符合集中分布。
10.在本发明的一些实施例中,在步骤s21中,计算每个节点对应的邻居节点序列中所有邻居节点存储位置的平均值,并以每个节点对应的邻居节点序列的平均值为中心、按照预设的步长进行左右扩展以生成与该节点的邻居节点序列长度相同的序列作为该节点的邻居节点对应的虚拟邻居序列。
11.在本发明的一些实施例中,在步骤s21中,通过以下规则计算每个节点对应的邻居节点序列中所有邻居节点索引的平均值:
12.l={n[i]}
i∈[1,n]
[0013]
其中,avg为节点邻居节点序列中所有邻居节点存储位置的平均值,n为节点所有邻居节点的个数,l={n[i]}为邻居序列,n[i]为节点的邻居节点序列中的第i个元素。
[0014]
在本发明的一些实施例中,在步骤s21中,通过以下规则得到每个节点对应的虚拟邻居节点序列:
[0015]
l'={n'[i]}
i∈[1,n]
[0016]
={...,avg-2*step,avg-step,avg,avg step,avg 2*step,

)
[0017]
其中,avg为节点邻居节点序列中所有邻居节点存储位置的平均值,n为节点所有邻居节点的个数,l

={n

[i]}
i∈[1,n]
为虚拟邻居序列,n

[i]为节点的邻居节点序列对应的虚拟邻居序列中的第i个元素,step为预设的步长。
[0018]
在本发明的一些实施例中,在步骤s21中,在步骤s22中,通过以下规则计算每个节点对应的邻居节点序列与该节点的邻居节点对应的虚拟邻居序列的相似度:
[0019][0020]
其中,s为相似度,n为节点对应的邻居节点序列的长度,n[i]为节点的邻居节点序列中的第i个元素,n

[i]为节点的邻居节点序列对应的虚拟邻居序列中的第i个元素。
[0021]
根据本发明的第二方面,提供一种用于实现本发明第一方面所述方法的采样加速装置,所述采样加速装置包括邻居生成器、相似度计算器、概率分布更新模块和采样器,其中,邻居生成器用于获取图数据中每个节点的所有邻居节点的存储位置,并以节点的所有邻居节点的存储位置随机排序构成该节点对应的邻居节点序列;相似度计算器用于基于所述邻居生成器中得到的每个节点对应的邻居节点序列判断该节点的所有邻居节点是否符合集中分布;概率分布更新模块用于根据所述相似度计算器中得到的每个节点的邻居节点的判断结果调整该节点被采样的概率,其中,将对应邻居节点符合集中分布的节点被采样的概率提高,将对应邻居节点不符合集中分布的节点被采样的概率降低;采样器用于采用所述概率分布更新模块调整后的每个节点被采样的概率形成的概率分布对图数据进行采样。
[0022]
根据本发明的第三方面,提供一种图神经网络训练方法,所述方法包括:t1、获取图数据;t2、采用如本发明第一方面所述方法对图数据进行采样以训练图神经网络。
[0023]
与现有技术相比,本发明的优点在于:本发明通过引入利用图数据局部性的预处理操作,即利用每个节点对应的邻居节点序列(以节点的所有邻居节点的存储位置随机排序构成)判断该节点的所有邻居节点是否符合集中分布,然后根据判断结果调整该节点被采样的概率,采用调整后的每个节点被采样的概率以形成的概率分布对图数据进行采样,使得在图神经网络训练过程中被采样的节点的邻居分布更加集中,减少采样过程中的不规则访存开销,也即减少了图神经网络训练过程中高额的采样时间消耗。
附图说明
[0024]
以下参照附图对本发明实施例作进一步说明,其中:
[0025]
图1为现有技术中的用于图神经网络训练过程的三类采样方法的示意图;
[0026]
图2为根据本发明的实施例提供的一种应用于图神经网络训练的采样方法中对图数据中每个节点被采样的概率作采样优化的流程示意图;
[0027]
图3为根据本发明的实施例提供的一种应用于图神经网络训练的采样方法中采样优化工作流程示例示意图;
[0028]
图4为根据本发明实施例的实现本发明采样方法的采样加速装置示意图。
具体实施方式
[0029]
为了使本发明的目的,技术方案及优点更加清楚明白,以下通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0030]
如在背景技术中提到,现有采样方法重点关注的是如何根据精心计算的概率分布对节点采样来减少由采样引起的偏差从而提升模型精度,往往忽略了采样过程本身会带来相对可观的开销;再者,高效访存的优化设计依赖于一定的硬件领域知识,这对于大部分采样算法设计者来说是缺乏的。由此,如何减轻采样方法的访存开销,即如何降低通过节点索引(存储位置具有随机性和不规则性)顺序查找集合中每个节点和其他节点是否相连来恢复被采样节点集合中各节点之间连接关系的所带来的访存时间,是设计图神经网络训练过程之前亟需考虑的问题。
[0031]
发明人经研究发现,由于图数据自身的不规则性,图数据中每个节点的邻居索引(存储位置)分布具有很高的随机性,这给直接按索引(存储位置)顺序的邻居查找带来高开销,即应用于图神经网络训练的采样方法中高额的采样时间开销来源于节点的不规则的存储位置的内存访问。由此可知,将被采样的节点的概率分布与存储图数据的硬件特性适配,可以用来优化访存以减少采样过程中不规则的访存开销,从而对采样过程进行加速。这里提及的硬件特性指的是数据局部性,其用于反映处理器在一段较短的时间间隔内,有更多的机会来重复访问同一存储位置的数据的趋势,即提高节点被采样的概率,则该节点被采集的趋势越大;降低节点被采样的概率,则该节点被采集的趋势越小。为了解决现有采样方法中带来的高额时间开销,本发明基于硬件的数据局部性特性,提出一种应用于图神经网络训练的采样方法,通过分析节点的邻居节点的分布特性,通过提高对应邻居节点符合集中分布的节点的被采样概率,降低对应邻居节点不符合集中分布的节点的被采样概率,以此来充分利用硬件的数据局部性,使得对应邻居集中地分布在邻近存储位置的节点尽可能地被采样,就可以大幅度降低查找过程中的访存开销,即克服了应用于图神经网络训练的现有采样方法中因不规则访存而引发的较高时间开销的问题。概括来说,本发明的一种应用于图神经网络训练的采样方法包括:s1、获取图数据中每个节点的所有邻居节点的存储位置,并以节点的所有邻居节点的存储位置随机排序构成该节点对应的邻居节点序列;s2、基于步骤s1中得到的每个节点对应的邻居节点序列判断该节点的所有邻居节点是否符合集中分布;s3、根据步骤s2中得到的每个节点的邻居节点的判断结果调整该节点被采样的概率,其中,将对应邻居节点符合集中分布的节点被采样的概率提高,将对应邻居节点不符合集中分布的节点被采样的概率降低;s4、采用步骤s3中调整后的每个节点被采样的概率形成的概率分布对图数据进行采样。基于这样的采样方法,由于提高了邻居节点是集中分布的节点的被采样概率,极大的降低了采样过程中的访存开销,提高了采样效率。其中,我
们将步骤s1-s3称之为采样优化阶段,步骤s4称之为采样优化完成后的采样阶段。
[0032]
为了更好的理解本发明,下面结合附图和实施例详细说明基于本发明的采样优化阶段。
[0033]
如图2所示,基于本发明采样方法的采样优化阶段包括:
[0034]
步骤1:将待训练图数据的邻接矩阵(包括节点和节点之间的连接关系)作为输入,存储在缓存中以被后续的采样过程随时调用。此过程是计算机处理中常规的预处理,是为后续的采样过程做准备,其中,将待训练图数据的邻接矩阵按照计算机中的存储规则进行存储形成图数据的存储信息,图数据的存储信息中包含每个节点的索引(存储位置)。
[0035]
步骤2:针对每个节点判断其邻居节点是否符合集中分布。根据本发明的一个实施例,本发明通过如下步骤判断每个节点(节点以v表示)的邻居节点是否符合集中分布:
[0036]
步骤21、获取节点v的所有邻居节点(假设有nv个邻居节点)的存储位置以构成v的所有邻居节点的存储位置随机排序构成其邻居节点序列(以lv表示),且其中,nv[i]为节点的邻居节点序列中的第i个元素。
[0037]
步骤22、生成节点v的所有邻居节点对应的集中分布的nv个虚拟邻居形成虚拟邻居序列(以l
v’表示)。根据本发明的一个实施例,采用如下方式生成节点v的虚拟邻居序列:计算节点v对应的邻居节点序列中所有邻居节点索引的平均值,并以该平均值为中心、按照预设的步长进行左右扩展以生成与节点v的邻居节点序列的长度nv相同的序列作为节点v的邻居节点lv对应的虚拟邻居序列l
′v。其中,根据本发明的一个实施例,通过以下规则计算节点v对应的邻居节点序列lv中所有邻居节点索引的平均值:
[0038][0039]
其中,avgv为节点v的邻居节点序列lv中所有邻居节点索引的平均值,nv为节点所有邻居节点的个数,为邻居序列,nv[i]为节点v的邻居节点序列lv中的第i个元素。
[0040]
通过以下规则按照预设的步长得到节点v对应的虚拟邻居节点序列:
[0041][0042]
其中,avgv为节点v的邻居节点序列lv中所有邻居节点索引的平均值,nv为节点v所有邻居节点的个数,为虚拟邻居序列,n
′v[i]为节点v的邻居节点序列对应的虚拟邻居序列l
′v中的第i个元素,step为预设的步长。
[0043]
需要进一步说明的是,步长step作为间隔量可以指定为任意正数,间隔量的绝对值大小与虚拟邻居节点序列的集中分布程度相关,可以根据抽样实验确定步长step的优选值,以表征虚拟邻居节点序列存储位置的相对集中,抽样实验确定的过程是本领域人员已知的,此处不做过多赘述。
[0044]
步骤23、计算节点v的虚拟邻居节点序列l
′v和邻居节点序列lv的相似度。根据本发明的一个实施例,通过如下方式进行相似度计算:
[0045][0046]
其中,sv为节点v的邻居序列lv和节点v的虚拟邻居序列l
′v的相似度,nv为节点v所有邻居节点的个数即邻居节点序列lv的长度,nv[i]为节点v的邻居节点序列lv中的第i个元素,n
′v[i]为节点v的邻居节点序列lv对应的虚拟邻居序列l
′v中的第i个元素。
[0047]
步骤24、基于相似度与阈值大小比较,判断节点v的所有邻居节点是否符合集中分布。如果相似度s大于预设的阈值,则认为该节点的原始邻居分布具备较好的集中性;如果相似度s小于或等于预设的阈值,则认为该节点的原始邻居分布相对随机且集中性不强,其中,相似度s的阈值可以被使用者人为指定,该数值为大于0且小于1的正数,数值越大表示相似度越高,即两个序列足够相似。对邻居节点符合集中分布的节点,赋予节点高权重以提高其被采样的概率,对邻居节点不符合集中分布的节点,赋予节点低权重以降低其被采样的概率,需要说明的是,采样概率的提高或降低为将该节点被采样的概率提高或降低到统计学意思中的概率高低,本领域技术人员均能理解,此处不做赘述。
[0048]
步骤25、节点v的采样权重(被采样的概率)调整后,保存其被调整后的采样权重用于后续的采样过程。
[0049]
步骤3、判断节点的采样权重是否调整完毕,如果不是,继续执行步骤2,如果是,则结束采样优化。
[0050]
完成上述采样优化之后,再对图数据进行采样以用于图神经网络训练,可以极大的降低访存开销。
[0051]
根据本发明的一个示例,如图3所示,图中圆圈中附有数字代表待训练图数据中的节点,其中的数字代表索引标号用以区分节点和表示节点的存储位置,例如:节点2、节点3、节点15、

、节点24等。以下将以图3中的节点24为例,示意性的说明采样优化工作流程:
[0052]
从图3可以看出,节点24的邻居有节点25,节点53和节点411,预设的步长step根据抽样实验确认为12,采用邻居生成器生成节点24的邻居节点序列(以l
24
进行表示),邻居节点序列优选为l
24
={25,53,411},n
24
=3。
[0053]
通过以下公式计算节点24的邻居节点序列中所有邻居节点存储位置的平均值avg
24

[0054][0055]
按照预设的步长得到通过以下公式计算得到节点24的虚拟邻居序列l

24
={n

24
[i]}={n,m,p}:
[0056]
l'
24
={avg
24-1*sfep,ovg
24
,avg
24
1*step}={151,163,175)
[0057]
通过以下公式计算得到虚拟邻居序列l

24
与邻居节点序列l
24
的相似度s
24

[0058][0059]
然后根据相似度s
24
的值与设定的阈值进行比较,假定相似度s
24
的大于阈值,则在预设的概率分布中容易被采样的概率分布中随机选择一个概率作为节点24的概率,以提高
节点24被采样的概率。其余的节点的被采样的概率的调整与节点24被采样的概率调整过程相同,此处不在赘述。
[0060]
基于上述采样优化后,在训练图神经网络训练过程中,图数据中邻居数量多但是分布不集中的节点不容易被采样,从而降低了图数据的访存开销,也将降低了训练图神经网络的时间。本发明通过引入利用图数据局部性的采样优化操作,即利用每个节点对应的邻居节点序列(以节点的所有邻居节点的存储位置随机排序构成)判断该节点的所有邻居节点是否符合集中分布,然后根据判断结果调整该节点被采样的概率,采用调整后的每个节点被采样的概率以形成的概率分布对图数据进行采样,使得在图神经网络训练过程中被采样的节点的邻居分布更加集中,减少采样过程中的不规则访存开销,也即减少了图神经网络训练过程中高额的采样时间消耗。
[0061]
根据本发明的一个实施例,本发明提供一种应用于图神经网络训练的采样加速装置,如图4所示,所述采样加速装置包括邻居生成器、相似度计算器、概率分布更新模块和采样器,其中邻居生成器用于获取图数据中每个节点的所有邻居节点的存储位置,并以节点的所有邻居节点的存储位置随机排序构成该节点对应的邻居节点序列;相似度计算器用于基于所述邻居生成器中得到的每个节点对应的邻居节点序列判断该节点的所有邻居节点是否符合集中分布;概率分布更新模块用于根据所述相似度计算器中得到的每个节点的邻居节点的判断结果调整该节点被采样的概率,其中,将对应邻居节点符合集中分布的节点被采样的概率提高,将对应邻居节点不符合集中分布的节点被采样的概率降低;采样器用于采用所述概率分布更新模块调整后的每个节点被采样的概率形成的概率分布对图数据进行采样。
[0062]
为了更好的说明本发明的技术效果,通过以下实验进行验证。
[0063]
实验过程中,将本发明提供的一种应用于图神经网络训练的采样方法应分别应用于文献[1]、文献[2]和文献[3]提供的三种模型(graphsage模型,fastgcn模型和graphsaint模型)的训练。具体实验的配置和测试的训练时间比较(未采用本发明的训练耗时、采用本发明的训练耗时和时间开销下降比)如表1所示,实验过程中模型训练所用的图数据信息如表2所示。其中,在实验中保留各文献[1]、文献[2]和文献[3]给出的配置,每种模型的采样大小(见“采样大小”一栏)为各个模型依次对应文献[1]、文献[2]和文献[3]中给出的数值,所有实验使用的基本模型均为一个两层结构的图卷积神经网络,实验平台是一台具有28核心的英特尔志强e5-2683 v3的cpu及英伟达特斯拉v100的gpu。
[0064]
表1
[0065][0066]
表2
[0067]
图数据节点数量边数量平均邻居数量pubmed19717443384ppi1475522527015flickr892508997565reddit2329651160691950amazon159896013216973485
[0068]
由表1可知,采用本发明的采样方法运用五种图数据(ppi、reddit、pubmed、flickr、amazon)训练三种模型的时间开销平均降低了13.29%。其中,对于将发明提出的采样方法应用于graphsage模型,使得其完成训练的耗时平均下降7.05%;对于将发明提出的采样方法应用于fastgcn模型,使得其完成训练的耗时平均下降6.07%;对于将发明提出的采样方法应用于graphsaint模型,使得其完成训练的耗时平均下降24.67%。将发明提出的采样方法应用于graphsaint模型并在大规模图数据集amazon的训练下,使得使得其完成训练的耗时平均下降44.64%。采用本发明的采样方法在各种模型和不同数据集上减少训练时间的差异主要与两个因素有关,即模型所采用的采样大小和模型训练所使用的数据集大小。
[0069]
由表1和表2可知,本发明的采样方法在graphsaint模型上应用的效果较其他模型明显要好,这是与graphsaint模型训练时使用的采样大小比较大有直接的关系。采样大小较大时,本发明提出的采样方法能够使更多的满足邻居集中分布的节点被筛选且采样到,由此产生的加速效果便更明显,则模型训练耗时下降的比例越大。另一方面,当训练模型所使用的数据集比较大时(数据集的大小可以用数据集包含的节点数量和边数量来体现),每个节点与其邻居的连接数量通常更多,即平均邻居数量更多。在这种情况下,使用本发明提出的优化方法达到的加速效果更好,因为邻居数量多但是分布不规则的节点不会被采样,
从而降低了相当程度的访存开销。
[0070]
综上所述,本发明通过引入利用图数据局部性的预处理操作,即利用每个节点对应的邻居节点序列(以节点的所有邻居节点的存储位置随机排序构成)判断该节点的所有邻居节点是否符合集中分布,然后根据判断结果调整该节点被采样的概率,采用调整后的每个节点被采样的概率以形成的概率分布对图数据进行采样,使得在图神经网络训练过程中被采样的节点的邻居分布更加集中,减少采样过程中的不规则访存开销,也即减少了图神经网络训练过程中高额的采样时间消耗。
[0071]
参考文献:
[0072]
文献[1]hamilton,will,zhitao ying,and jure leskovec."inductive representation learning on large graphs."advances in neural information processing systems 30(2017).
[0073]
文献[2]chen,jie,tengfei ma,and cao xiao."fastgcn:fast learning with graph convolutional networks via importance sampling."arxiv preprint arxiv:1801.10247(2018).
[0074]
文献[3]zeng,hanqing,et al."graphsaint:graph sampling based inductive learning method."arxiv preprint arxiv:1907.04931(2019).
[0075]
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
[0076]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0077]
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
[0078]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献