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

计算装置、神经网络处理设备、芯片及处理数据的方法与流程

2022-02-20 07:48:13 来源:中国专利 TAG:


1.本技术涉及数据处理领域,并且更为具体地,涉及一种计算装置、神经网络处理设备、芯片及处理数据的方法。


背景技术:

2.很多数据处理任务的本质是矩阵乘法运算。例如,卷积运算任务、全连接运算任务的本质均为矩阵乘法。
3.传统的矩阵乘法运算方式采用基于向量内积的运算方式。针对矩阵数据中的同一元素,基于向量内积的运算方式需要将该元素对应的数据进行大量的重复调度,导致矩阵乘法运算过程需要传输的数据量大、传输功耗高。


技术实现要素:

4.本技术提供一种计算装置、神经网络处理设备、芯片及处理数据的方法,以降低矩阵乘法运算需要传输的数据量和传输功耗。
5.第一方面,提供一种计算装置,包括:数据存储器,用于存储第一矩阵和第二矩阵的矩阵数据,所述第一矩阵为m
×
s的矩阵,所述第二矩阵为s
×
n的矩阵,所述矩阵数据包括s组数据,其中每组数据包括所述第一矩阵中的一个列向量以及所述第二矩阵中的与所述列向量索引相同的一个行向量,其中s、m、n均为大于或等于1的正整数;计算模块,与所述数据存储器相连,用于执行所述第一矩阵和所述第二矩阵的乘法运算;调度模块,与所述数据存储器相连,用于控制所述数据存储器向所述计算模块输入所述s组数据,所述计算模块基于所述s组数据中的每组数据中的列向量和行向量执行一次向量外积运算,以得到所述s组数据一一对应的s个m
×
n的中间结果矩阵,并将所述s个m
×
n的中间结果矩阵中的对应元素相加,得到所述第一矩阵和所述第二矩阵的乘积结果。
6.第二方面,提供一种神经网络处理设备,包括如第一方面所述的计算装置。
7.第三方面,提供一种芯片,包括如第一方面或第二方面所述的计算装置。
8.第四方面,提供一种处理数据的方法,所述方法应用于计算装置,所述计算装置包括:数据存储器,用于存储第一矩阵和第二矩阵的矩阵数据,所述第一矩阵为m
×
s的矩阵,所述第二矩阵为s
×
n的矩阵,所述矩阵数据包括s组数据,其中每组数据包括所述第一矩阵中的一个列向量以及所述第二矩阵中的与所述列向量索引相同的一个行向量,其中s、m、n均为大于或等于1的正整数;计算模块,与所述数据存储器相连,用于执行所述第一矩阵和所述第二矩阵的乘法运算;所述方法包括:控制所述数据存储器向所述计算模块输入所述s组数据;基于所述s组数据中的每组数据中的列向量和行向量执行一次向量外积运算,以得到所述s组数据一一对应的s个m
×
n的中间结果矩阵;将所述s个m
×
n的中间结果矩阵中的对应元素相加,得到所述第一矩阵和所述第二矩阵的乘积结果。
9.本技术实施例提出一种基于向量外积的矩阵乘法运算,与传统的基于向量内积的矩阵乘法运算相比,基于向量外积的矩阵乘法运算具有更高的数据复用率,因此能够降低
数据的传输量和传输功耗。
附图说明
10.图1是基于向量内积的矩阵乘法示例图。
11.图2是本技术实施例提供的计算装置的结构示意图。
12.图3是本技术实施例提供的计算装置的硬件架构示例图。
13.图4是本技术实施例提供的基于向量外积的矩阵乘法示例图。
14.图5是将图4的方法应用于图3所示的硬件架构时的数据映射方式示例图。
15.图6是卷积运算的示例图。
16.图7是利用本技术实施例提供的基于向量外积的矩阵乘法执行图6所示的卷积运算的示例图。
17.图8是利用本技术实施例提供的基于向量外积的矩阵乘法执行全连接运算的示例图。
18.图9是本技术实施例提供的装置的结构示意图。
19.图10是本技术实施例提供的处理数据的方法的示意性流程图。
具体实施方式
20.为了便于理解,先对本技术实施例涉及的一些相关概念进行介绍。
21.向量内积
22.两个向量的内积运算也可称为两个向量的点乘运算,即对两个向量对应位置的元素一一相乘之后求和。两个向量的内积运算的结果为一个数值(或称一个标量)。以向量a=(a1,a2,...,an)和向量b=(b1,b2,...,bn)为例,向量a和向量b的内积的计算方式为:a1b1 a2b2 ... a
nbn

23.向量外积
24.两个向量的外积运算的运算结果并非一个标量,而是一个矩阵(或称二维向量)。以向量μ=(μ1,μ2,...,μm)和向量θ=(θ1,θ2,...,θn)为例,向量μ和向量θ的外积的运算方式为:
25.矩阵乘法运算
26.矩阵的乘法运算可以转换成矩阵的行列向量的向量内积运算。下面结合图1,以m
×
s的第一矩阵12以及s
×
n的第二矩阵14为例,对矩阵的乘法运算进行举例说明。
27.如图1所示,第一矩阵12包括m个行向量,第二矩阵14包括n个列向量。第一矩阵12和第二矩阵14相乘得到的结果矩阵16为m
×
n的矩阵。第一矩阵12和第二矩阵14的乘法运算可以看成是第一矩阵的m个行向量与第二矩阵的n个列向量两两之间的向量内积运算。每次向量内积运算可以得到结果矩阵16中的一个元素161的取值。按照类似的方式,经过m
×
n次向量内积运算之后,即可得到结果矩阵16中的所有元素的取值。
28.矩阵分块
29.一个矩阵可以划分成多个分块。两个矩阵之间的乘法运算可以分解成该两个矩阵的分块两两之间的乘法和加法运算。假设矩阵矩阵则可以先将矩阵a分解成如下4个分块矩阵:
[0030][0031][0032]
将矩阵b分解成如下4个分块矩阵:
[0033][0034][0035]
接着,可以将矩阵a和矩阵b的乘法运算转换成如下形式的分块矩阵运算:
[0036][0037]
在介绍上述基本概念之后,下文对本技术实施例涉及的计算装置的整体架构进行详细描述。本技术提及的计算装置可以指基于硬件架构的、且能够执行两个矩阵的乘法运算的任意类型的计算装置。
[0038]
为了便于理解,先结合图2,对本技术实施例提及的计算装置20的整体架构进行介绍。
[0039]
如图2所示,该计算装置20可以包括数据存储器22、计算模块24以及调度模块26。
[0040]
数据存储器22可用于存储第一矩阵和第二矩阵的矩阵数据。为了便于描述,下文以第一矩阵为m
×
s的矩阵,第二矩阵为s
×
n的矩阵为例进行说明。在第一矩阵中,m表示第一矩阵的行索引,s表示第一矩阵的列索引。m和s通常为大于1的正整数。但是,本技术实施例不限于此。在一些实施例中,m和s之一也可以等于1,在这种情况下,第一矩阵可以理解为一个向量。在第二矩阵中,s表示第二矩阵的行索引,n表示第二矩阵的列索引。s和n通常为大于1的正整数。但是,本技术实施例不限于此。在一些实施例中,s和n之一也可以等于1,在这种情况下,第二矩阵可以理解为一个向量。
[0041]
本技术实施例对第一矩阵和第二矩阵的矩阵数据的数据内容不做具体限定,这与计算装置20执行的计算任务有关。以计算装置20执行的是卷积运算任务为例(卷积运算本质上为矩阵乘法,后文会结合图6对卷积运算进行举例说明,具体可以参见图6的相关描述),则第一矩阵中的数据可以是输入特征图的数据,第二矩阵中的数据可以是卷积核中的权重数据。
[0042]
数据存储器22例如可以包括高速随机存取存储器(random access memory,ram)。该数据存储器22例如可以是神经网络处理器(neural-network processing units,npu)的数据缓存。
[0043]
计算模块24也可称为处理单元(processing element,pe)或运算电路。计算模块24可以与数据存储器22相连。计算模块24可以负责完成计算装置20上的部分或全部的计算任务。例如,计算模块24可用于执行第一矩阵和第二矩阵的乘法运算。
[0044]
计算模块24的实现方式可以有多种。由于矩阵乘法运算本质上是乘累加运算,因此,在一些实施例中,计算模块24可以是基于乘累加器的计算模块。
[0045]
图3给出了计算模块24的一种可能的实现方式。如图3所示,该计算模块24中的基本单元为乘累加器241。乘累加器241可以包括一个乘法器2411和一个加法器2412。乘法器2411的输入分别为第一矩阵的一个元素和第二矩阵的一个元素。以卷积运算为例,则第一矩阵中的数据为输入特征图中的数据,第二矩阵中的数据为卷积核中的权重数据。在这种情况下,乘法器2411的输入可以采用f和w表示。其中,f表示输入特征图中的特征数据;w表示卷积核中的权重数据。
[0046]
计算模块24可以包括m
×
n个乘累加树242(图3中的一列乘累加器即对应一个乘累加树242)。乘累加树242可以包括s个乘累加器241。该s个乘累加器241通过数据线2413首尾相连,形成了一条数据运算的流水线。该流水线能够将该乘累加树242中的s个乘累加器的计算结果逐级累加在一起。
[0047]
以图3中的附图标记242所示的乘累加树为例,该乘累加树242中的乘累加器241a表示的是该乘累加树242的第一级乘累加器,乘累加器241s表示的是该乘累加树242的最后一级乘累加器。在运算过程中,该乘累加树242可以利用其内部的s个乘累加器执行s次乘法运算,然后,乘累加树242可以从第一级乘累加器241a开始,将s次乘法结果逐级向下传递至最后一级乘累加器241s,并在传递过程中将各级乘累加器的乘法结果累加。经过上述过程,最后一级乘累加器241s输出的即为该乘累加树242中的s个乘累加器执行的s个乘法运算的累加和。
[0048]
重新参见图2,调度模块26可以与数据存储器22相连。调度模块26例如可以是具有数据调度功能的控制器。调度模块26可以控制数据存储器22向计算模块24输入待乘的第一矩阵和第二矩阵的矩阵数据,从而利用计算模块24完成第一矩阵和第二矩阵的矩阵运算。
[0049]
受到硬件结构的影响,数据存储器22的线宽通常有一定的限制。因此,调度模块26通常会按照一定的数据调度策略对矩阵数据进行调度。作为一种可能的数据调度方式,调度模块26可以按照图1所示的矩阵乘法运算方式,将第一矩阵的一个行向量和第二矩阵的一个列向量输入至计算模块24。在得到第一矩阵的行向量和第二矩阵的列向量之后,计算模块24会按照向量内积的方式执行一次乘累加运算,从而得到结果矩阵中的一个元素的取值,具体的计算方式可以参见图1的相关描述。以图3所示的计算模块24为例,调度模块26可
以将第一矩阵的行向量(包括s个元素)和第二矩阵的列向量(包括s个元素)分别读入图3中的一个乘累加树242的s个乘累加器中。然后,该乘累加树242就可以执行s次乘法,并将该s次乘法的结果进行累加,得到结果矩阵中的一个元素的取值。
[0050]
本技术实施例将上述数据调度和计算方式称为基于向量内积的矩阵乘法。采用基于向量内积的矩阵乘法,每执行一次向量内积运算,计算模块24可以得到结果矩阵中的一个元素的取值,执行m
×
n次向量内积运算,即可得到结果矩阵中的所有的m
×
n个元素的取值。但是,在计算该m
×
n个元素的取值的过程中,每计算其中一个元素的取值,需要向计算模块26输入2s个元素(第一矩阵的一行和第二矩阵的一列,共2s个元素)对应的数据量。因此,要想得到结果矩阵中的m
×
n个元素的取值,共需要输入2s
×m×
n个元素对应的数据量。在执行基于向量内积的矩阵乘法时,第一矩阵的行向量以及第二矩阵的列向量会被多次的重复调度。例如,由于第一矩阵的每个行向量均需要与第二矩阵的n个列向量相乘,因此,第一矩阵的每个行向量会被重复调度n次;同样地,由于第二矩阵的每个列向量均需要与第一矩阵的m个行向量相乘,因此,第二矩阵的每个列向量会被重复调度m次。这样大规模的数据重复调度势必会增大需要传输的数据量和传输功耗。
[0051]
针对上述问题,本技术实施例提供一种基于向量外积的矩阵乘法,能够降低矩阵乘法运算过程中需要传输的数据量和传输功耗。
[0052]
下面对基于向量外积的矩阵乘法进行详细描述。
[0053]
第一矩阵和第二矩阵的矩阵数据可以包括s组数据。该s组数据中的每组数据可以包括第一矩阵中的一个列向量以及第二矩阵中的与列向量索引相同的一个行向量。例如,该s组数据中的第i组数据可以包括第一矩阵的第i个列向量与第二矩阵的第i个行向量。
[0054]
调度模块26可以控制数据存储器22向计算模块24输入s组数据。例如,调度模块26可以向计算模块24依次输入s组数据。或者,调度模块26也可以一次性输入s组数据中的多组数据。
[0055]
如图4所示,计算模块24可以基于s组数据中的每组数据中的列向量和行向量执行一次向量外积运算,以得到s组数据一一对应的s个m
×
n的中间结果矩阵(图4中的一个矩阵162代表一个m
×
n的中间结果矩阵),并将s个m
×
n的中间结果矩阵中的对应元素相加,得到第一矩阵和第二矩阵的乘积结果。示例性地,计算模块24可以从第一矩阵12的第0列和第二矩阵14的第0行开始,基于第一矩阵12的列向量0和第二矩阵的行向量0执行一次向量外积。待计算完毕之后,可以沿着图4中的第一矩阵12中的箭头方向,取第一矩阵12的列向量1,并沿着图4中的第二矩阵14中的箭头方向取第二矩阵14的行向量1,然后基于第一矩阵12的列向量1和第二矩阵的行向量1再执行一次向量外积。以此类推,计算模块24在完成s次向量外积运算之后,可以得到第一矩阵和第二矩阵的乘积结果。
[0056]
本技术实施例将上述矩阵数据的调度和计算方式称为基于向量外积的矩阵乘法。基于向量外积的矩阵乘法执行一次向量外积运算需要第一矩阵的一个列向量和第二矩阵的一个行向量,共(m n)个元素。要想得到第一矩阵和第二矩阵的乘积结果,基于向量外积的矩阵乘法需要执行s次上述向量外积运算,一共需要s
×
(m n)个元素对应的数据量。前文提到,基于向量内积的矩阵乘法要想得到第一矩阵和第二矩阵的乘积结果,共需要输入2s
×m×
n个元素对应的数据量。二者相比,基于向量外积的矩阵乘法具有更高的数据复用率,因此能够很大程度降低需要通过数据存储器向计算模块传输的数据量,从而降低数据的传
输功率。当计算模块采用芯片形式实现时,数据存储器需要传输的数据量的减少,意味着可以减少输入数据的线宽,这样有助于优化芯片的面积。
[0057]
前文结合图3,给出了计算模块24的一种可能的实现方式。图3所示的硬件架构既适用于基于向量内积的矩阵乘法,也适用于基于向量外积的矩阵乘法。换句话说,基于向量外积的矩阵乘法与基于向量内积的矩阵乘法可以共用同一硬件架构。
[0058]
下面结合图3和图5,对基于向量内积的矩阵乘法在图3所示的硬件架构上的实现方式进行更为详细地举例说明。
[0059]
前文结合图3提到,该计算模块24包括m
×
n个乘累加树,每个乘累加树包括首尾依次相连的s个乘累加器(对应于图3或图5中的一列乘累加器)。可以将该m
×
n个乘累加树的乘累加器分成s组乘累加器,每组包括m
×
n个乘累加器,且该m
×
n个乘累加器分别属于m
×
n个乘累加树。也就是说,s组乘累加器中的每组乘累加器中的任意两个乘累加器来自m
×
n个乘累加树中的不同乘累加树。
[0060]
以图5为例,可以将图5中的每行乘累加器243分为一组。这样一来,图5中的s行乘累加器即可形成上述s组乘累加器。实际计算过程中,计算模块24可以基于s组乘累加器分别执行上文提到的s次向量外积运算,从而得到s个m
×
n的中间结果矩阵。例如,在图5的示例中,计算模块24可以控制s行乘累加器中的第i行乘累加器执行第一矩阵的第i个列向量与第二矩阵的第i个行向量的向量外积运算,从而得到s个m
×
n的中间结果矩阵,计算完毕之后,该s个m
×
n的中间结果矩阵分别存储在图5所示的s
×m×
n个乘累加器中。
[0061]
接着,计算模块24可以利用m
×
n个乘累加树提供的数据处理流水线,将s个m
×
n的中间结果矩阵中的对应元素相加,从而得到第一矩阵和第二矩阵的乘积结果。例如,计算模块24可以从每个乘累加树的第一级乘累加器开始,将每个乘累加树中的乘法结果累加起来,并在每个乘累加树的最后一级乘累加器输出一个乘累加的最终结果。该m
×
n个乘累加树输出的m
×
n个最终结果与基于向量内积的矩阵乘法得到的m
×
n个最终结果是相同的。
[0062]
在一些实施例中,待执行乘法运算的两个矩阵(为了便于描述,下文将这两个矩阵称为第三矩阵和第四矩阵)的尺寸可能比较大。受到硬件处理能力的限制,计算装置20无法一次性执行完该两个矩阵的乘法运算。面对这种情况,可以先按照前文介绍的矩阵分块方式对第三矩阵和/或第四矩阵进行分块处理。例如,可以将第三矩阵分成a个分块(a个分块的尺寸均小于或等于m
×
s),并将第四矩阵分成b个分块(b个分块的尺寸均小于或等于s
×
n),从而使得计算装置20能够支持a个分块和b个分块两两之间的矩阵乘法运算。接着,计算装置20就可以按照前文介绍的基于向量外积的矩阵乘法,将a个分块和b个分块两两相乘,并基于a个分块和b个分块两两相乘的结果,得到第三矩阵和第四矩阵的乘积结果。
[0063]
本技术实施例提供的计算装置可应用于各种需要进行矩阵乘法运算场景或运算任务中。举例说明,目前,神经网络已经广泛应用于各行各业。神经网络中的很多算子的本质均是矩阵乘法。例如,神经网络中经常运用的卷积运算和全连接运算,其本质就是矩阵乘法。因此,在一些实施例中,可以将本技术实施例提供的计算装置20用于执行神经网络运算,如用于执行卷积运算或全连接运算。以本技术实施例提供的计算装置20执行卷积运算为例,该计算装置20也可称为卷积设备、卷积处理器、卷积加速器、卷积加速引擎等。
[0064]
下面对本技术实施例提供的计算装置在卷积运算和全连接运算场景下的运算方式进行举例说明。
[0065]
卷积运算广泛应用于神经网络计算中。卷积运算的本质是两个矩阵的乘法运算。因此,与两个矩阵的乘法运算相同,卷积运算的核心运算是乘累加运算。
[0066]
图6以1
×
1的卷积核为例,给出了卷积运算的一个示例。图6的左上角示出的是输入特征图像(inputfeaturemap)。m表示输入特征图的宽度,s表示输入特征图的通道数(通道例如可以是r、g、b)。图2的左下角示出的是卷积核(kernel),卷积核中的数据可以称为权重数据。n表示卷积核的数量。卷积核的通道数与输入特征图的通道数相等,均为s。图2右侧示出的是输出特征图(output feature map)。对于卷积运算而言,输出特征图的通道数等于卷积核的数量。
[0067]
卷积运算的运算量通常较大,因此,采用上文提到的计算装置20执行卷积运算时,需要考虑该计算装置的硬件处理能力。例如,图6中的s、m、n为计算装置20能够一次处理的输入通道数目、特征图像宽度以及卷积核的数目。因此,在一些实施例,可以先把输入特征图和卷积核中的权重数据按照两个矩阵的形式进行排列,形成如图7所示的待执行矩阵乘法的第三矩阵和第四矩阵。第三矩阵的尺寸为m
×
s,第四矩阵的尺寸为s
×
n。接着,可以先按照前文介绍的矩阵分块方式对第三矩阵和/或第四矩阵进行分块处理。例如,可以将第三矩阵分成a个分块(a个分块的尺寸均小于或等于m
×
s),并将第四矩阵分成b个分块(b个分块的尺寸均小于或等于s
×
n),从而使得计算装置20能够支持a个分块和b个分块两两之间的矩阵乘法运算。接着,计算装置20就可以按照前文介绍的基于向量外积的调度方式,将a个分块和b个分块两两相乘,并基于a个分块和b个分块两两相乘的结果,得到第三矩阵和第四矩阵的乘积结果(即对a个分块和b个分块两两相乘的结果中的对应元素进行累加运算,得到第三矩阵和第四矩阵的乘积结果)。该第三矩阵和第四矩阵的乘积结果即可作为输出特征图中的数据。
[0068]
需要说明的是,图6虽然是以1
×
1的卷积核为例对本技术实施例提供的卷积运算进行举例说明的,但本技术实施例不限于此,对于其他尺寸的卷积核,比如3
×
3,5
×
5,7
×
7等尺寸的卷积核,其核心也是矩阵的乘法运算,同样可以转换为基于向量外积的矩阵运算来减小数据的传输量和传输功耗。
[0069]
由于卷积运算涉及大量的矩阵运算,因此将本技术实施例提供的计算装置应用于卷积运算,可以很大程度降低卷积运算过程需要传输的数据量,从而可以降低传输数据的功率和数据存储器的线宽。
[0070]
全连接运算是矩阵乘法的一种特殊情况。参见图8,以前文提到的m
×
s的第一矩阵和s
×
n的第二矩阵的矩阵乘法为例,如果将m的取值设置为1,则第一矩阵和第二矩阵的乘法即可看成是全连接运算。
[0071]
采用基于向量外积的矩阵乘法执行图8所述的全连接操作的过程与图4所示的过程是基本相同的,只不过,对于第一矩阵而言,其执行向量外积操作的列向量仅包含一个元素,得到的s个中间结果矩阵为s个大小为n的向量。
[0072]
需要说明的是,本技术实施例提及的计算装置20除了包括上文提及的数据存储器22、计算模块24以及调度模块26之外,还可以包括其他各种类型的部件。例如,计算装置20还可以包括以下部件中的一种或多种:能够执行其他运算的计算模块(或运算电路,如执行激活运算的激活电路,执行池化运算的池化电路等)、寄存器,内部存储器等。
[0073]
参见图9,本技术实施例还提供一种设备90。该设备90可以包括前文所述的计算装
置20。在一些实施例中,该设备90可以为神经网络处理设备和/或芯片。在另一些实施例中,该设备90例如可以是移动终端(如手机)、计算机、服务器等。
[0074]
上文结合图1至图9,详细描述了本技术的装置实施例,下面结合图10,详细描述本技术的方法实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面装置实施例。
[0075]
图10是本技术实施例提供的处理数据的方法的示意性流程图。图10的方法可应用于计算装置。该计算装置可以是前文提及的计算装置20。图10的方法包括步骤s1010~s1030。
[0076]
在步骤s1010,控制数据存储器向计算模块输入s组数据。
[0077]
在步骤s1020,基于s组数据中的每组数据中的列向量和行向量执行一次向量外积运算,以得到s组数据一一对应的s个m
×
n的中间结果矩阵。
[0078]
在步骤s1030,将s个m
×
n的中间结果矩阵中的对应元素相加,得到第一矩阵和第二矩阵的乘积结果。
[0079]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0080]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0081]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0082]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0083]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用
光盘(digital video disc,dvd))或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
[0084]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献