神经网络计算的方法、电子设备、计算机可读介质与流程

文档序号:30489885发布日期:2022-06-22 01:26阅读:102来源:国知局
神经网络计算的方法、电子设备、计算机可读介质与流程

1.本公开涉及神经网络技术领域,特别涉及一种神经网络计算的方法、电子设备、计算机可读介质。


背景技术:

2.在神经网络的使用过程中,权重矩阵的计算占据了很大的计算量。例如,在基于lif(leaky integrity-and-fire,线性积分放电)模型的脉冲神经网络中,权重矩阵的突触积分计算是主要的负载。
3.由此,权重矩阵的计算需要占据较大的内存空间、访问带宽、计算资源等,导致其计算开销较大。


技术实现要素:

4.本公开提供一种神经网络计算的方法、电子设备、计算机可读介质。
5.第一方面,本公开实施例提供一种神经网络计算的方法,其包括:
6.将权重矩阵分为多组,将各组中的非零权重分别存储在对应的内存片中;其中,权重矩阵为神经元的连接权重矩阵;每个组包括权重矩阵的多个连续列;内存片与组一一对应,其中存储有非零权重的值和位置;
7.重复进行以下乘法操作:将各内存片中非零权重的值分别输入至对应的乘法器,并将输入数据中对应的数据分别输入至各乘法器;
8.将每次乘法操作中各乘法器输出的乘法结果根据相应非零权重的位置移位,将移位后位于相同位置的乘法结果累加,以计算输出数据。
9.在一些实施例中,所述神经网络为脉冲神经网络,所述权重矩阵为突触连接权重矩阵。
10.在一些实施例中,在所述将权重矩阵分为多组前,还包括:
11.将权重矩阵中部分列的位置互换;
12.和/或,
13.将权重矩阵中部分行的位置互换。
14.在一些实施例中,所述权重矩阵的稀疏度大于或等于50%。
15.在一些实施例中,任意两个组间稀疏度的差别不超过10%。
16.在一些实施例中,任意组的列数相同。
17.在一些实施例中,所述将每次乘法操作中各乘法器输出的乘法结果根据相应非零权重的位置移位包括:将每次乘法操作中各乘法器输出的乘法结果分别输入至对应的移位器,并将各对应的非零权重的位置分别输入至对应的移位器;移位器根据对应的位置将乘法结果移位;
18.所述将移位后位于相同位置的乘法结果累加包括:将各移位器的输出分别输入至对应的累加器,累加器将位于相同位置的乘法结果累加。
19.在一些实施例中,所述将各内存片中非零权重的值分别输入至对应的乘法器包括:内存缓冲区获取对应的内存片中的非零权重,将非零权重的值输入至对应的乘法器;
20.所述将各对应的非零权重的位置分别输入至对应的移位器包括:内存缓冲区获取对应的内存片中的非零权重,将非零权重的位置输入至对应的移位器;
21.所述将输入数据中对应的数据分别输入至各乘法器包括:内存缓冲区获取对应的内存片中的非零权重,根据各非零权重的位置确定对应组的各行中的非零权重的个数,将各行中非零权重的个数输入至多通道缓冲区;多通道缓冲区根据各组的各行中的非零权重的个数,将输入数据中与各行对应的数据输出至对应的乘法器同样的次数。
22.在一些实施例中,所述非零权重的位置为非零权重在其所在组中的偏移。
23.在一些实施例中,所述乘法操作还包括:
24.当满足预设的暂停条件时,所述多通道缓冲区暂停获取输入数据,和/或,所述多通道缓冲区控制至少部分内存缓冲区暂停工作。
25.第二方面,本公开实施例提供一种电子设备,包括:
26.处理单元,所述处理单元包括多个内存片,以及与内存片一一对应的多个乘法器;
27.存储单元,其上存储有计算机程序;
28.所述计算机程序被所述处理单元执行时,实现上述任意一种神经网络计算的方法。
29.第三方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述任意一种神经网络计算的方法。
30.本公开实施例中,内存中只存储权重矩阵的非零权重,相当于实现了对权重矩阵的“压缩编码”,从而可减小计算中所需的内存空间和访问带宽;同时,本公开实施例实际仅对非零权重进行了计算,从而可减小了所需的计算量,进一步降低计算开销,提高计算效率。
31.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
32.附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
33.图1为本公开实施例提供的一种神经网络计算的方法的流程图;
34.图2为本公开实施例提供的另一种神经网络计算的方法的流程图;
35.图3为本公开实施例提供的一种神经网络计算的方法中分组过程的示意图;
36.图4为本公开实施例提供的一种神经网络计算的方法中非零权重的存储格式示意图;
37.图5为本公开实施例提供的一种神经网络计算的方法中多通道缓冲区从输入缓冲区获取数据的过程的示意图;
38.图6为本公开实施例提供的一种电子设备的组成框图;
39.图7为本公开实施例提供的一种电子设备中的处理单元的构架示意图;
40.图8为本公开实施例提供的一种计算机可读介质的组成框图。
具体实施方式
41.为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
42.在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
43.如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
44.本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
45.除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
46.第一方面,参照图1至图5、图7,本公开实施例提供一种神经网络计算的方法。
47.本公开实施例的方法用于进行神经网络中的计算。
48.其中,神经网络可实现任意预先训练的功能,例如图像识别、动作识别、语音识别、文字识别等。
49.其中,本公开实施例用于计算输入至神经网络的神经元的输入数据,与相应的连接权重矩阵的乘积。即,在神经网络中,不同层的神经元相互连接,且不同神经元间的连接具有不同的权重矩阵,从而输入至一个神经元的输入数据需与该神经元的权重矩阵相乘。
50.在一些实施例中,神经网络为脉冲神经网络,权重矩阵为突触连接权重矩阵。
51.作为本公开实施例的一种方式,其适用的神经网络可为脉冲神经网络(snn),从而其中的权重矩阵是对应神经元间的突触连接的权重矩阵。
52.示例性的,以上脉冲神经网络可以是基于lif(leaky integrity-and-fire,线性积分放电)模型的。
53.在lif模型中,在前神经元i的脉冲电流输入信号(xi)通过权重矩阵(wi)连接到当前神经元,而在当前神经元的膜电压(vt)因所有在前神经元的输入电流信号的充电而累积(积分)达到预定的阈值(vth)时,当前神经元会发出脉冲电流信号,并使膜电压(vt)重置到静息电压(vreset)。
54.当然,本公开实施例的使用范围不限于此,其也可用于其它模式的脉冲神经网络,或者用于其它类型的神经网络(如卷积神经网络等)中的权重矩阵计算。
55.在一些实施例中,权重矩阵的稀疏度大于或等于50%。
56.本公开实施例适于处理稀疏的权重矩阵,例如稀疏度(即零元素的个数占比)至少为50%,或至少70%,或至少90%,或至少95%的权重矩阵。
57.其中,本公开实施例可处理的权重矩阵的具体稀疏度,可根据实际的计算资源(硬件资源)确定。
58.参照图1,本公开实施例的方法包括:
59.s101、将权重矩阵分为多组,将各组中的非零权重分别存储在对应的内存片中。
60.其中,权重矩阵为神经元的连接权重矩阵;每个组包括权重矩阵的多个连续列;内存片与组一一对应,其中存储有非零权重的值和位置。
61.s102、重复进行以下乘法操作:将各内存片中非零权重的值分别输入至对应的乘法器,并将输入数据中对应的数据分别输入至各乘法器。
62.s103、将每次乘法操作中各乘法器输出的乘法结果根据相应非零权重的位置移位,将移位后位于相同位置的乘法结果累加,以计算输出数据。
63.参照图3,本公开实施例中,在进行权重矩阵的计算前,先将权重矩阵竖向分组,从而每个组包括权重矩阵的多个连续列;之后,将每个组中的全部非零权重存储在一个对应的内存片中,且内存片中存储的是非零权重的值(非零权重的“数值”)和位置(非零权重在行、组、权重矩阵中的“相对位置”,或者说“偏移”)。
64.之后,即可从各内存片中获取非零权重的值,并将其输入对应的乘法器,且在将一个非零权重的值输入乘法器时,同时将输入数据中对应的数据也输入乘法器;通过重复执行以上乘法操作,可依次对各非零权重进行处理,使各乘法器依次输出对应的内存片中的各非零权重的计算结果的数值(乘法结果)。
65.参照图7,每个乘法器输出的乘法结果仅代表相应计算结果的数值,而没有该结果应处的位置,故需要根据相应非零权重的位置,将乘法结果移位到相应位置(对应的非零权重在该组该行中的偏移),再将同位置的全部乘法结果累加求和(相当于将各行的计算结果求和),拼接和处理后即可得到权重矩阵计算的最终结果(输出数据)。
66.显然,零权重的计算得到的结果必然也是零,实际无意义,故本公开实施例中,内存中只存储权重矩阵的非零权重,相当于实现了对权重矩阵的“压缩编码”,从而可减小计算中所需的存储量和访问带宽,降低计算开销。
67.而且,本公开实施例中,实际只对“非零权重”进行了计算,而未计算“零权重”,从而大大降低了总的计算量,可进一步降低计算开销。
68.同时,本公开实施例中,相当于将不同的组的数据在不同的“通道”中处理,每个通道仅用于处理权重矩阵的部分数据,故可使计算开销进一步降低,并提高计算效率。
69.在一些实施例中,任意两个组间稀疏度的差别不超过10%。
70.参照图3(图中用黑色方块表示非零权重,无色方块表示零权重),对权重矩阵分组后,得到的每个组中非零权重的个数应当是“相似”的,以保证各通道的处理进度基本相同。
71.具体的,每个组都有一定的稀疏度,而在权重矩阵分出的多个组中,稀疏度最大的组与稀疏度最小的组间的稀疏度的差,也不应超过10%,进一步不超过5%。
72.当然,参照图3,如果是所有组的稀疏度均相同(非零权重的个数均相同),也是可行的。
73.当然,不同组中稀疏度的差别(非零权重的个数的差别)的具体允许范围,可根据
实际的计算资源(硬件资源)确定。
74.在一些实施例中,在将权重矩阵分为多组(s101)前,还包括:
75.s100、将权重矩阵中部分列的位置互换;和/或,将权重矩阵中部分行的位置互换。
76.如前,本公开实施例希望分组后各组的非零权重的个数尽量“相似”,即要求权重矩阵中非零权重的分布基本“均匀”,但神经网络中的权重矩阵不一定都能满足该要求。因此,对于不满足要求的权重矩阵,可对其中的部分列、列的位置进行交换,以使权重矩阵中非零权重的分布尽量“均匀”。
77.其中,对权重矩阵中的部分行的位置进行交换,可改变部分非零权重所在的组,使交换后的权重矩阵更容易实现以上分组。
78.其中,对权重矩阵中的部分行的位置进行交换,可使在各个时间段中,各通道的处理进度基本相同。
79.当然,当列位置互换时,则权重计算产生的结果中,相应数据也应位置互换后才能实际的输出,作为最终的输出数据。
80.当然,当行位置互换时,则对应的输入数据中的数据的排序,也要进行相应的交换。
81.当然,为了得到能进行以上分组的权重矩阵(非零权重分布均匀的权重矩阵),还可在神经网络的训练过程中,对权重矩阵进行限制。
82.示例性的,可在训练过程中,对权重矩阵的非零权重个数和分布进行限制。
83.示例性的,也可在训练过程中,通过掩膜约束使权重矩阵的非零权重个数和分布符合要求。
84.在一些实施例中,任意组的列数相同。
85.作为本公开实施例的一种方式,所有组中的列数可以是相同的。例如可参照图3,所有组中均有4列。
86.当然,每组中的具体列数不限于此,其具体可根据权重矩阵的情况决定。例如,每组的列数至少可为2,或至少为4,或至少为10等;再如,每组的列数可不超过20,或不超过10,或不超过4等。
87.在一些实施例中,将每次乘法操作中各乘法器输出的乘法结果根据相应非零权重的位置移位包括:将每次乘法操作中各乘法器输出的乘法结果分别输入至对应的移位器,并将各对应的非零权重的位置分别输入至对应的移位器;移位器根据对应的位置将乘法结果移位;
88.将移位后位于相同位置的乘法结果累加包括:将各移位器的输出分别输入至对应的累加器,累加器将位于相同位置的乘法结果累加。
89.作为本公开实施例的一种方式,每个通道中还包括移位器和累加器,从而在将乘法器的输出和非零权重的位置均输入至移位器后,可由移位器进行移位,而移位器的输出再进入相应累加器,由累加器进行累加。
90.在一些实施例中,将各内存片中非零权重的值分别输入至对应的乘法器包括:内存缓冲区获取对应的内存片中的非零权重,将非零权重的值输入至对应的乘法器;
91.将各对应的非零权重的位置分别输入至对应的移位器包括:内存缓冲区获取对应的内存片中的非零权重,将非零权重的位置输入至对应的移位器;
92.将输入数据中对应的数据分别输入至各乘法器包括:内存缓冲区获取对应的内存片中的非零权重,根据各非零权重的位置确定对应组的各行中的非零权重的个数,将各行中非零权重的个数输入至多通道缓冲区;多通道缓冲区根据各组的各行中的非零权重的个数,将输入数据中与各行对应的数据输出至对应的乘法器同样的次数。
93.作为本公开实施例的一种方式,参照图7,每个通道中还设有内存缓冲区,其可获取内存片中的非零权重,并将非零权重的值输入至相应乘法器,将非零权重的位置输入至移位器。
94.同时,内存缓冲区还需要根据其中的非零权重的位置,确定相应的组的各行中非零权重的个数,并将各行中非零权重的个数发送至多通道缓冲区(如多通道缓冲区的相应通道)。
95.显然,一组的一行中非零权重的个数,也就等于输入数据中与该行对应的数据需要被相应乘法器使用的次数;为此,多通道缓冲区可根据各组各行中的非零权重的个数,将输入数据中与各行对应的数据输出至对应的乘法器同样的次数。
96.例如,若一组的一行中有0个非零权重,则表示该行没有非零权重要输入至相应乘法器,从而多通道缓冲区可将输入数据中与该行对应的数据输入至相应乘法器0次(也就是不输入)。
97.再如,若一组的一行中有2个非零权重,则表示该行有2个非零权重要依次输入至相应乘法器,从而多通道缓冲区即可将输入数据中与该行对应的数据输入至相应乘法器2次(分别与2个非零权重的输入对应)。
98.在一些实施例中,非零权重的位置为非零权重在其所在组中的偏移。
99.参照图4,作为本公开实施例的一种方式,一个非零权重的位置,可以是该非零权重在相应组中的偏移(或者说相对位置),例如是非零权重处于该组中的0位置、1位置、2位置、3位置

15位置等。
100.显然,非零权重的位置的形式,必须保证内存缓冲区能根据位置确定各行中非零权重的个数。
101.例如,当非零权重的位置为非零权重在其所在组中的偏移时,则内存缓冲区可通过取商操作确定非零权重所在行,而具有相同商的非零权重的个数,也就是相应行中非零权重的个数。
102.例如,参照图4,同组中两个非零权重的偏移分别为5和7,它们除以该组的列数4,得到的整数商均为1,表示它们处于1号行(因行号从0开始,故实际为第2行),即1号行有两个非零权重。
103.当然,非零权重的位置也可为其它的形式,例如非零权重的位置可包括非零权重的所在行以及在行中的偏移两个数据(相当于非零权重的二维坐标)。
104.其中,每个非零权重的位置和值可存储在一个内存地址中;从而内存缓冲区还可具有分线功能,以将非零权重的位置和值分开。
105.或者,也可设置分线器,从而内存片中存储的非零权重,可先经过分线器分离出非零权重的值和位置分开后,再输入至对应的内存缓冲区。
106.显然,移位器本质上应根据非零权重在行中的偏移对乘法结果进行移位,故根据非零权重的位置还应能确定其在行中的偏移。
107.例如,当非零权重的位置为非零权重在其所在组中的偏移时,非零权重在行中的偏移是其在组中的偏移的取余值(以组的列数取余),即,移位器应根据取余值对乘法结果进行计算。具体的,以上取余操作可在内存缓冲区进行,也可在移位器中进行。
108.在一些实施例中,乘法操作还包括:当满足预设的暂停条件时,多通道缓冲区暂停获取输入数据,和/或,多通道缓冲区控制至少部分内存缓冲区暂停工作。
109.参照图3,本公开实施例中,不同组的同一行中的非零权重个数不同,且每个通道实际仅对相应组中的非零权重进行处理,因此,在各通道的处理速度(单位时间内实际处理的非零权重个数)相同的情况下,经过一定时间,虽然各通道处理的非零权重个数相同,但不同通道实际可能正在处理不同的行,而这可能导致运算无法正常进行(如部分器件中需要的数据超出其存储能力)。为此,可预先设定暂停条件,并在满足暂停条件时,由多通道缓冲区控制“暂停”工作。
110.例如,参照图5,任意时刻,输入缓冲区存储有输入数据中的部分数据(如7个数据),而多通道缓冲区的各通道根据各自当前正在处理的行,获取输入缓冲区中相应位置的输入数据。但是,若不同通道正在处理的行数相差较大(如相差8行),则各乘法器需要的数据在输入数据中的排序相差也较大(如为8),可能超出输入缓冲区能缓冲的范围;故以上情况可以是暂停条件之一。
111.再如,参照图7,地址产生器按照行数对输入缓冲区和各内存片进行统一的控制,故不同内存缓冲区中正在处理的行数的差,也不能超出内存缓冲区的最大缓冲能力;故以上情况可以是暂停条件之一。
112.当然,暂停条件的具体形式不限于以上的例子,只要是希望在某种情况下暂停部分或全部处理,就可用该情况作为暂停条件。
113.其中,暂停可以是多通道缓冲区暂停从输入缓冲区获取数据,也可以是多通道缓冲区控制至少部分内存缓冲区暂停工作(如全部暂停,或仅处理的行数最多的内存缓冲区暂停)。
114.例如,多通道缓冲区可通过向地址产生器、内存缓冲区、输入缓冲区发出控制指令,实现以上暂停。
115.当然,应当理解,当不再满足暂停条件时,多通道缓冲区应重新开始获取输入数据,并控制内存缓冲区重新开始工作。
116.第二方面,参照图6、图7,本公开实施例提供一种电子设备,其能实现以上的神经网络计算的方法。
117.参照图6,本公开实施例提供的电子设备包括:
118.处理单元,处理单元包括多个内存片,以及与内存片一一对应的多个乘法器;
119.存储单元,其上存储有计算机程序;计算机程序被处理单元执行时,实现上述任意一种神经网络计算的方法。
120.以上神经网络计算的方法可在处理单元中实现,从而处理单元中应包括以上内存片。
121.其中,电子设备、处理单元、存储单元的具体硬件形式是多样的。
122.例如,处理单元可以是一个实体的处理器器件或处理核器件;或者,处理单元也可由多个处理器器件或处理核器件构成,如每个通道对应一个处理器器件或处理核器件。
123.例如,存储单元可以是一个或多个独立的存储器器件,也可以是处理单元的内存器件,只要其中存储有计算机程序,且该计算机程序可被处理单元执行以实现上述任意一种神经网络计算的方法即可。
124.例如,以上电子设备可以是一个处理器或处理核器件,也可以是由多个处理核和片上网络构成的众核系统。
125.在一些实施例中,处理单元的构架可参照图7,还包括地址产生器、输入缓冲区、输出缓冲区、多通道缓冲区、移位器、累加器、内存缓冲区等;其中:
126.地址产生器用于确定当前要进行处理的内存地址。
127.每个内存片用于根据地址产生器的控制,将各自存储的特定非零权重输入至对应的内存缓冲区。
128.每个内存缓冲区用于将获取到的非零权重的值输入至乘法器,将非零权重的位置输入至移位器,并根据非零权重的位置确定对应组的各行中非零权重的个数,以将行中非零权重的个数输入至多通道缓冲区。
129.每个乘法器用于对输入的非零权重的值和输入数据的数据进行乘法计算,并将得到的乘法结果输入至移位器。
130.每个移位器用于根据非零权重的位置和乘法器输入的乘法结果,将乘法结果移位到相应位置后,输入至累加器。
131.每个累加器用于对输入的数据进行累加,具体是将输入的数据中位于相同位置的数据(乘法结果)进行累加,并将结果输出至输出缓冲区。
132.输出缓冲区用于将各累加器最终的输出拼接后,得到权重矩阵计算的结果(输出数据)。
133.输入缓冲区用于缓存输入数据中的数据。
134.多通道缓冲区用于根据各内存缓冲区输入的行中非零权重的个数,使相应通道从输入缓冲区获取输入数据中的相应数据,并输出到相应乘法器相应的次数。同时,多通道缓冲区还可用于在满足暂停条件时,控制地址产生器、内存缓冲区、输入缓冲区暂停工作。
135.其中,以上内存片、内存缓冲区、乘法器、移位器、累加器可以都是一一对应的,即每个通道中包括内存片、内存缓冲区、乘法器、移位器、累加器各一个。
136.以上地址产生器、输入缓冲区、输出缓冲区、多通道缓冲区可仅有一个,但其中多通道缓冲区可有多个通道。
137.第三方面,参照图8,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,其中,计算机程序在被处理器执行时实现上述任意一种神经网络计算的方法。
138.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括
在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
139.本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1