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

一种支持多种不同精度运算的脉动阵列硬件实现方法及装置与流程

2022-11-13 14:52:22 来源:中国专利 TAG:


1.本发明涉及高性能微处理器设计技术领域,具体而言,涉及一种支持多种不同精度运算的脉动阵列硬件实现方法及装置。


背景技术:

2.深度神经网络(deep neutral networks, dnn)目前已经成为许多现代人工智能应用的基础,特别是在语音识别、图像识别以及自然语言处理等领域中展现出的突破性成果,使其应用数量呈爆炸式增加。然而,尽管在许多领域中,深度神经网络的准确性已经超越人类,但其超高的准确性却是以超高密度的计算为代价的,不同精度类型的计算硬件开销差别巨大,深度神经网络一般包括训练(training)和推理(inference)两个阶段,它们在计算过程中需要完成的运算不同,对数据的精度也不相同,因此针对深度神经网络不同阶段的计算对数据的精度要求不同,设计不同的运算单元以降低开销意义重大。


技术实现要素:

3.为了解决上述问题,本技术实施例提供了一种支持多种不同精度运算的脉动阵列硬件实现方法及装置。
4.第一方面,本技术实时例提供了一种支持多种不同精度运算的脉动阵列硬件实现方法,包括如下步骤:s1:建立神经网络的阶段和运算配置相关联的关联表;s2:获取神经网络的阶段,从关联表中获取与该阶段对应的运算配置;s3:如果运算配置为混合精度浮点运算,则基于脉动阵列建立16*16bit 32bit定点/浮点运算模型,基于16*16bit 32bit定点/浮点运算模型进行混合精度浮点运算,如果运算配置为定点整形运算,则基于脉动阵列建立8*8bit 16bit定点运算模型,基于8*8bit 16bit定点运算模型进行定点整形运算。
5.优选的,基于脉动阵列建立16*16bit 32bit定点/浮点运算模型,基于16*16bit 32bit定点/浮点运算模型进行混合精度浮点运算具体包括:设立数据位宽为m*2b、精度为16bit、用以对输入特征图形的m个通道进行计算的第一西向数据处理器;设立数据位宽为n*2b、精度为16bit、用以加载n个卷积核的第一北向数据处理器;设立尺寸为m*n的第一脉动阵列;设立第一南向数据处理器;将第一西向数据处理器输出的数据和第一北向数据处理器输出的数据分别输入第一脉动阵列中进行混合精度浮点运算,第一脉动阵列将运算结果输入第一南向数据处理器,第一南向数据处理器得到具有n个通道、数据位宽位n*4b的第一输出特征图像。
6.优选的,基于脉动阵列建立8*8bit 16bit定点运算模型,基于8*8bit 16bit定点运算模型进行定点整形运算具体包括:
设立数据位宽为m*2b、精度为8bit、用以对输入特征图形的2m个通道进行计算的第二西向数据处理器;设立数据位宽为n*2b、精度为8bit、用以加载2n个卷积核的第一北向数据处理器;设立尺寸为m*2n的第二脉动阵列;设立第二南向数据处理器;将第二西向数据处理器输出的数据和第二北向数据处理器输出的数据分别输入第二脉动阵列中进行定点整形运算,第二脉动阵列将运算结果输入第二南向数据处理器,第二南向数据处理器得到具有2n个通道、数据位宽位n*2*2b的第二输出特征图像。
7.优选的,所述第二脉动阵列包括数据复制控制单元,所述数据复制控制单元设置为0时所述第二脉动阵列将输入图像的前m个通道进行复制以形成具有m*2b个通道的第一中间图像,所述数据复制控制单元设置为1时所述第二脉动阵列将输入图形的后m个通道进行复制以形成具有m*2b个通道的第二中间图像,所述第二脉动阵列将第一中间图像和第二中间图像进行卷积计算得到具有2m个通道的输出图形。
8.第二方面,本技术实施例提供了一种支持多种不同精度运算的脉动阵列硬件实现装置,包括关联表建立模块,用以建立神经网络的阶段和运算配置相关联的关联表;匹配模块,用以获取神经网络的阶段,从关联表中获取与该阶段对应的运算配置;模型计算模块,用以在如果运算配置为混合精度浮点运算,则基于脉动阵列建立16*16bit 32bit定点/浮点运算模型,基于16*16bit 32bit定点/浮点运算模型进行混合精度浮点运算,如果运算配置为定点整形运算,则基于脉动阵列建立8*8bit 16bit定点运算模型,基于8*8bit 16bit定点运算模型进行定点整形运算。
9.优选的,所述16*16bit 32bit定点/浮点运算模型包括:数据位宽位m*2b、精度为16bit、用以对输入特征图形的m个通道进行计算的第一西向数据处理器,数据位宽为n*2b、精度为16bit、用以加载n个卷积核的第一北向数据处理器,尺寸为m*n的第一脉动阵列,第一南向数据处理器;所述第一脉动阵列在第一西向数据处理器和第一北向数据处理器分别将数据输入第一脉动阵列中时进行混合精度浮点运算,所述第一南向数据处理器在第一脉动阵列将运算结果输入第一南向数据处理器中时得到具有n个通道、数据位宽位n*4b的第一输出特征图像。
10.优选的,所述8*8bit 16bit定点运算模型包括数据位宽为m*2b、精度为8bit、用以对输入特征图形的2m个通道进行计算的第二西向数据处理器;数据位宽为n*2b、精度为8bit、用以加载2n个卷积核的第一北向数据处理器;尺寸为m*2n的第二脉动阵列;第二南向数据处理器;所述第二脉动阵列在第二西向数据处理器和第二北向数据处理器分别将数据输入第二脉动阵列中时进行定点整形运算,所述第二南向数据处理器在第二脉动阵列将运算
结果输入第二南向数据处理器中时得到具有2n个通道、数据位宽位n*2*2b的第二输出特征图像。
11.优选的,所述第二脉动阵列包括数据复制控制单元,所述数据复制控制单元设置为0时所述第二脉动阵列将输入图像的前m个通道进行复制以形成具有m*2b个通道的第一中间图像,所述数据复制控制单元设置为1时所述第二脉动阵列将输入图形的后m个通道进行复制以形成具有m*2b个通道的第二中间图像,所述第二脉动阵列将第一中间图像和第二中间图像进行卷积计算得到具有2m个通道的输出图形。
12.第三方面,本技术实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
13.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
14.本发明的有益效果为:根据关联表获取神经网络的阶段对应的运算配置,如果运算配置为混合精度浮点运算,则基于脉动阵列建立16*16bit 32bit定点/浮点运算模型,基于16*16bit 32bit定点/浮点运算模型进行混合精度浮点运算,如果运算配置为定点整形运算,则基于脉动阵列建立8*8bit 16bit定点运算模型,基于8*8bit 16bit定点运算模型进行定点整形运算,在脉动阵列上实现不同的精度的计算模式,在保证深度神经网络算法在不同层、不同场景、不同阶段下数据精度需求的基础上,充分挖掘降低精度的空间,提升处理吞吐率,提升脉动阵列运算性能,同时降低了不必要的硬件开销。
附图说明
15.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1为本技术实施例提供的一种支持多种不同精度运算的脉动阵列硬件实现方法的流程示意图;图2为本技术实施例提供的一种支持多种不同精度运算的脉动阵列硬件实现装置的结构示意图;图3为本技术实施例提供的一种电子设备的结构示意图;图4为本技术实施例提供的一种支持多种不同精度运算的脉动阵列硬件实现方法中的16*16 32bit运算模式脉动阵列工作情况的原理图;图5为本技术实施例提供的一种支持多种不同精度运算的脉动阵列硬件实现方法中的8*8 16bit运算模式脉动阵列工作情况的原理图;图6为本技术实施例提供的一种支持多种不同精度运算的脉动阵列硬件实现方法中的神经网络模型卷积的计算过程的原理图。
具体实施方式
17.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完
整地描述。
18.在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本技术的多个实施例,不同实施例之间可以替换或者合并组合,因此本技术也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征a、b、c,另一个实施例包含特征b、d,那么本技术也应视为包括含有a、b、c、d的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
19.下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本技术内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。
20.请参阅图1。图1是本技术实施例提供的一种支持多种不同精度运算的脉动阵列硬件实现方法的流程示意图。在本技术实施例中,方法包括如下步骤:s1:建立神经网络的阶段和运算配置相关联的关联表;s2:获取神经网络的阶段,从关联表中获取与该阶段对应的运算配置;s3:如果运算配置为混合精度浮点运算,则基于脉动阵列建立16*16bit 32bit定点/浮点运算模型,基于16*16bit 32bit定点/浮点运算模型进行混合精度浮点运算,如果运算配置为定点整形运算,则基于脉动阵列建立8*8bit 16bit定点运算模型,基于8*8bit 16bit定点运算模型进行定点整形运算。
21.在本技术实施例中,参见图6,图6为本技术实施例提供的一种支持多种不同精度运算的脉动阵列硬件实现方法中的神经网络模型卷积的计算过程的原理图,深度神经网络一般包括训练(training)和推理(inference)两个阶段,它们在计算过程中需要完成的运算不同,对数据的精度也不相同,因此可以采用不同的精度进行处理。在深度学习网络模型训练阶段,使用预先标记好的数据集,对深度学习网络使用反向误差传播算法进行监督训练,通过误差不断更新网络的参数,并不断迭代直到网络收敛到期望误差范围内。在训练过程中,需要多次对梯度累乘,归一化等层需要多次累加,对数据精度要求较高。当前业界普遍采用混合精度浮点运算的方式进行训练,即乘法运算采用半精度,加法运算采用单精度,既确保在反向梯度传播过程中不会造成梯度消失或者梯度爆炸,又能减少纯单精度计算导致的不必要硬件开销,并且训练精度几乎不会降低。在深度学习网络模型推理阶段,使用已训练好的神经网络,对输入的数据进行推理判断,此过程不涉及梯度更新等精度敏感计算,因此对精度要求较低。业界通常采用16bit或8bit定点整形运算实现推理,不会影响推理结果。
22.综上所述,在考虑硬件开销的基础上,为了满足深度神经网络不同阶段计算精度的需求,通常可以设计可配置的运算单元,可以根据具体计算需求配置成不同的工作模式,如训练配置成混合精度浮点运算,推理配置成定点整形运算。既满足了深度神经网络各阶段的精度需求,又可以节约硬件开销,提升性能在一种可实施方式中,基于脉动阵列建立16*16bit 32bit定点/浮点运算模型,基于16*16bit 32bit定点/浮点运算模型进行混合精度浮点运算具体包括:
设立数据位宽为m*2b、精度为16bit、用以对输入特征图形的m个通道进行计算的第一西向数据处理器;设立数据位宽为n*2b、精度为16bit、用以加载n个卷积核的第一北向数据处理器;设立尺寸为m*n的第一脉动阵列;设立第一南向数据处理器;将第一西向数据处理器输出的数据和第一北向数据处理器输出的数据分别输入第一脉动阵列中进行混合精度浮点运算,第一脉动阵列将运算结果输入第一南向数据处理器,第一南向数据处理器得到具有n个通道、数据位宽位n*4b的第一输出特征图像。
23.在本技术实施例中,b表示1 byte, 1byte=8bit。本发明的脉动阵列支持多种操作模式,如8*8bit 16bit定点,16*16bit 32bit定点/浮点。根据深度神经网络卷积计算流程,如图3所示,在进行8*8 16bit和16*16 32bit的计算时,脉动阵列的运算方式有所不同,下面具体对脉动阵列各类运算模式进行说明。
24.脉动阵列的尺寸为m*n,数据分别从北向端口和西向端口加载,运算结果从脉动阵列南向输出,本技术分别将其简称为北向数据、西向数据和南向数据。北向数据和西向数据位宽。针对于深度卷积神经网络,北向数据通常为卷积核,脉动阵列每一列加载一个卷积核;西向数据通常为输入特征图像,每一行对于一个通道;南向数据通常为输出特征图像,每一列对于一个通道。
25.参见图4,图4为本技术实施例提供的一种支持多种不同精度运算的脉动阵列硬件实现方法中的16*16 32bit运算模式脉动阵列工作情况的原理图,深度神经网络训练时,第一北向数据处理器输出的北向数据和第一西向数据处理器输出的西向数据精度均为16bit,采用16*16 32bit浮点计算模式进行训练。第一脉动阵列工作过程中,第一西向数据处理器可以同时处理输入特征图像m个通道的计算,数据位宽为m*2b,第一北向数据处理器可以加载n个卷积核,每个卷积核加载m个通道,数据位宽为n*2b,第一南向数据处理器得到输出特征图像n个通道的结果,数据位宽为n*4b,均以连续访存的形式才从存储部件中传输数据。
26.在一种可实施方式中,基于脉动阵列建立8*8bit 16bit定点运算模型,基于8*8bit 16bit定点运算模型进行定点整形运算具体包括:设立数据位宽为m*2b、精度为8bit、用以对输入特征图形的2m个通道进行计算的第二西向数据处理器;设立数据位宽为n*2b、精度为8bit、用以加载2n个卷积核的第一北向数据处理器;设立尺寸为m*2n的第二脉动阵列;设立第二南向数据处理器;将第二西向数据处理器输出的数据和第二北向数据处理器输出的数据分别输入第二脉动阵列中进行定点整形运算,第二脉动阵列将运算结果输入第二南向数据处理器,第二南向数据处理器得到具有2n个通道、数据位宽位n*2*2b的第二输出特征图像。
27.在一种可实施方式中,所述第二脉动阵列包括数据复制控制单元,所述数据复制控制单元设置为0时所述第二脉动阵列将输入图像的前m个通道进行复制以形成具有m*2b个通道的第一中间图像,所述数据复制控制单元设置为1时所述第二脉动阵列将输入图形的后m个通道进行复制以形成具有m*2b个通道的第二中间图像,所述第二脉动阵列将第一
中间图像和第二中间图像进行卷积计算得到具有2m个通道的输出图形。
28.在本技术实施例中,参见图5,图5为本技术实施例提供的一种支持多种不同精度运算的脉动阵列硬件实现方法中的8*8 16bit运算模式脉动阵列工作情况的原理图,一个支持16*16 32bit的乘加单元可以同时执行2个8*8 16bit运算,因此第二脉动阵列工作在8*8 16bit计算模式时,性能是16*16 32bit计算模式的两倍,相当于将原来m*n的脉动阵列扩成了规模为2m*n的脉动阵列。
29.对于2m*n的第二脉动阵列,每次加载北向数据和西向数据的位宽依然和16*16 32bit计算模式相同,但是数据量变为原来的2倍。第二脉动阵列北向可以加载2*n个卷积核,每个卷积核m个通道,根据卷积计算的原理,输入特征图像与卷积核进行运算时,通道数必须相同,因此第二西向数据处理器输出的西向数据只需要m个数据即可,由于第二脉动阵列每个cell内此时等同有2个mac,因此需要将m个进行复制数据扩成2m,这样第二脉动阵列每次计算可以得到2n个通道的计算结果。
30.由于第二脉动阵列访问西向数据粒度为m*2b,在硬件实现时,设置一个数据复制控制信号,当第二脉动阵列工作在8*8 16bit,当该位配置成0时,将输入图像的前m个通道进行复制,变成具有m*2b个通道的第一中间图像,当该位配置成1时,后一次则将输入图像的后m个通道进行复制,变成具有m*2b个通道的第二中间图像,两次卷积计算便可得到具有2m个通道的输出图像。当工作在16*16 32bit,忽略此信号,不进行数据复制。
31.脉动阵列支持16*16 32bit和8*8 16bit不同精度类型的计算,通过1位的标记信号实现数据复制功能,实现算法在8*8 16bit工作模式下,性能为16*16 32bit的两倍。
32.下面将结合附图2,对本技术实施例提供的支持多种不同精度运算的脉动阵列硬件实现装置进行详细介绍。需要说明的是,附图2所示的支持多种不同精度运算的脉动阵列硬件实现装置,用于执行本技术图1所示实施例的方法,为了便于说明,仅示出了与本技术实施例相关的部分,具体技术细节未揭示的,请参照本技术图1所示的实施例。
33.请参见图2,图2是本技术实施例提供的一种支持多种不同精度运算的脉动阵列硬件实现装置的结构示意图。如图2所示,装置包括关联表建立模块201,用以建立神经网络的阶段和运算配置相关联的关联表;匹配模块202,用以获取神经网络的阶段,从关联表中获取与该阶段对应的运算配置;模型计算模块203,用以在如果运算配置为混合精度浮点运算,则基于脉动阵列建立16*16bit 32bit定点/浮点运算模型,基于16*16bit 32bit定点/浮点运算模型进行混合精度浮点运算,如果运算配置为定点整形运算,则基于脉动阵列建立8*8bit 16bit定点运算模型,基于8*8bit 16bit定点运算模型进行定点整形运算。
34.在一种可实施方式中,所述16*16bit 32bit定点/浮点运算模型包括:数据位宽位m*2b、精度为16bit、用以对输入特征图形的m个通道进行计算的第一西向数据处理器,数据位宽为n*2b、精度为16bit、用以加载n个卷积核的第一北向数据处理器,尺寸为m*n的第一脉动阵列,第一南向数据处理器;所述第一脉动阵列在第一西向数据处理器和第一北向数据处理器分别将数据输
入第一脉动阵列中时进行混合精度浮点运算,所述第一南向数据处理器在第一脉动阵列将运算结果输入第一南向数据处理器中时得到具有n个通道、数据位宽位n*4b的第一输出特征图像。
35.在一种可实施方式中,所述8*8bit 16bit定点运算模型包括数据位宽为m*2b、精度为8bit、用以对输入特征图形的2m个通道进行计算的第二西向数据处理器;数据位宽为n*2b、精度为8bit、用以加载2n个卷积核的第一北向数据处理器;尺寸为m*2n的第二脉动阵列;第二南向数据处理器;所述第二脉动阵列在第二西向数据处理器和第二北向数据处理器分别将数据输入第二脉动阵列中时进行定点整形运算,所述第二南向数据处理器在第二脉动阵列将运算结果输入第二南向数据处理器中时得到具有2n个通道、数据位宽位n*2*2b的第二输出特征图像。
36.在一种可实施方式中,所述第二脉动阵列包括数据复制控制单元,所述数据复制控制单元设置为0时所述第二脉动阵列将输入图像的前m个通道进行复制以形成具有m*2b个通道的第一中间图像,所述数据复制控制单元设置为1时所述第二脉动阵列将输入图形的后m个通道进行复制以形成具有m*2b个通道的第二中间图像,所述第二脉动阵列将第一中间图像和第二中间图像进行卷积计算得到具有2m个通道的输出图形。
37.本领域的技术人员可以清楚地了解到本技术实施例的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”、“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(field-programmable gate array,fpga)、集成电路(integrated circuit,ic)等。
38.本技术实施例的各处理单元和/或模块,可通过实现本技术实施例的功能的模拟电路而实现,也可以通过执行本技术实施例的功能的软件而实现。
39.参见图3,其示出了本技术实施例所涉及的一种电子设备的结构示意图,该电子设备可以用于实施图1所示实施例中的方法。如图3所示,电子设备300可以包括:至少一个中央处理器301,至少一个网络接口304,用户接口303,存储器305,至少一个通信总线302。
40.其中,通信总线302用于实现这些组件之间的连接通信。
41.其中,用户接口303可以包括显示屏(display)、摄像头(camera),可选用户接口303还可以包括标准的有线接口、无线接口。
42.其中,网络接口304可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
43.其中,中央处理器301可以包括一个或者多个处理核心。中央处理器301利用各种接口和线路连接整个电子设备300内的各个部分,通过运行或执行存储在存储器305内的指令、程序、代码集或指令集,以及调用存储在存储器305内的数据,执行终端300的各种功能和处理数据。可选的,中央处理器301可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。中央处理器301可集成中央中央处理器(central processing unit,cpu)、图像中央处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系
统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到中央处理器301中,单独通过一块芯片进行实现。
44.其中,存储器305可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器305包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器305可用于存储指令、程序、代码、代码集或指令集。存储器305可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器305可选的还可以是至少一个位于远离前述中央处理器301的存储装置。如图3所示,作为一种计算机存储介质的存储器305中可以包括操作系统、网络通信模块、用户接口模块以及程序指令。
45.在图3所示的电子设备300中,用户接口303主要用于为用户提供输入的接口,获取用户输入的数据;而中央处理器301可以用于调用存储器305中存储的支持多种不同精度运算的脉动阵列硬件实现应用程序,并具体执行以下操作:s1:建立神经网络的阶段和运算配置相关联的关联表;s2:获取神经网络的阶段,从关联表中获取与该阶段对应的运算配置;s3:如果运算配置为混合精度浮点运算,则基于脉动阵列建立16*16bit 32bit定点/浮点运算模型,基于16*16bit 32bit定点/浮点运算模型进行混合精度浮点运算,如果运算配置为定点整形运算,则基于脉动阵列建立8*8bit 16bit定点运算模型,基于8*8bit 16bit定点运算模型进行定点整形运算。
46.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、dvd、cd-rom、微型驱动器以及磁光盘、rom、ram、eprom、eeprom、dram、vram、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器ic),或适合于存储指令和/或数据的任何类型的媒介或设备。
47.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
48.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
49.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
50.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
51.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
52.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read-only memory, rom)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
53.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(read-only memory, rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
54.以上者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
再多了解一些

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

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

相关文献