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

运算装置以及相关产品的制作方法

2021-10-23 01:47:00 来源:中国专利 TAG:人工智能 相关产品 运算 装置 公开


1.本公开涉及人工智能技术领域,特别是涉及一种运算装置以及相关产品。


背景技术:

2.在人工智能技术领域,神经网络算法是最近非常流行的一种机器学习算法,在各种领域中都取得了非常好的效果,比如图像识别,语音识别,自然语言处理等。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种运算装置以及相关产品。
4.根据本公开的一方面,提供了一种运算装置,所述运算装置包括:
5.处理单元、第一存储单元和第二存储单元;
6.所述运算装置接收外部输入的输入数据以及二进制可执行文件,
7.其中,所述输入数据包括激活表和待处理的输入张量,所述运算装置将激活表存储至第一存储单元,将输入张量存储至第二存储单元;
8.所述处理单元运行所述二进制可执行文件时,从第二存储单元中读取输入张量,对所述输入张量进行缩放处理得到缩放输入张量,查找第一存储单元中的激活表对缩放输入张量进行激活得到中间激活结果,对中间激活结果进行缩放恢复处理得到激活结果,并将激活结果输出到第二存储单元。
9.根据本公开的另一方面,提供了一种人工智能芯片,所述芯片包括如上所述的运算装置。
10.根据本公开的另一方面,提供了一种电子设备,所述电子设备包括如上所述的人工智能芯片。
11.根据本公开的另一方面,提供了一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及如上所述的人工智能芯片;
12.其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
13.所述存储器件,用于存储数据;
14.所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;
15.所述控制器件,用于对所述人工智能芯片的状态进行监控。
16.根据本公开的实施例,能够对输入激活算子的输入张量进行缩放,这样,使得缩放后的输入张量中的元素的大小缩放到合适的范围,在通过查找激活表对缩放后的输入张量进行激活之后得到中间激活结果,再对中间激活结果进行恢复即可得到最终的激活结果。通过本公开的实施例,对输入张量进行缩放,将输入张量中的元素缩放到已有激活表能够覆盖的范围,不需要根据输入张量中元素的实际范围设置大量的激活表,从而可以避免由于遍历大量激活表导致的算子性能降低,提高激活算子的性能。
17.根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得
清楚。
附图说明
18.包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
19.图1示出根据本公开实施例的处理器的示意图。
20.图2示出根据本公开实施例的运算装置的框图。
21.图3示出根据本公开一实施例的激活过程的流程图。
22.图4示出根据本公开实施例的板卡的结构框图。
23.图5示出根据本公开实施例的一种电子设备800的框图。
24.图6示出根据本公开实施例的一种电子设备1900的框图。
具体实施方式
25.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
26.应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
27.还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
28.如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0029]
在深度神经网络中会使用非线性算子,例如,用作激活函数的relu(rectified linear unit,修正线性单元)、sigmoid、tanh(双曲正切函数)等,用于规范化算子的sqrt、rsqrt等,用于损失函数算子的log等,以及用于位置编码的sin/cos等。目前,相关技术中使用插值表的方法来实现这些非线性算子,即把一个数轴区域划分为若干段,每一段使用一条直线来拟合本段对应的非线性函数的曲线,此直线用参数(k,b)表示,参数k、b分别为该段直线的斜率和截距。将各段对应的参数(k,b)整合为一张表作为激活表,供计算时查询。为了覆盖更大的数轴区域,可以使用多个激活表来拟合非线性算子。这样,在计算时需要遍历所有激活表才能够得到最终结果。
[0030]
非线性算子的输入张量中元素的取值范围并不固定,所以通常需要支持比较大的
数值范围才能够应对深度神经网络的需要。但是,支持数值范围越大,需要越多的激活表。由于计算最终结果需要遍历所有激活表,使用的激活表数量越多,则算子性能会显著降低,并且大量的激活表需要占用较多的存储空间,也影响运算性能。
[0031]
为了解决上述技术问题,本公开提供了一种运算装置。该运算装置可以包括处理器,处理器中可以包括处理单元,该处理器可以是通用处理器,例如cpu(central processing unit,中央处理器),也可以是用于执行人工智能运算的人工智能处理器(ipu)。人工智能运算可包括机器学习运算,类脑运算等。其中,机器学习运算包括神经网络运算、k-means运算、支持向量机运算等。该人工智能处理器可例如包括gpu(graphics processing unit,图形处理单元)、npu(neural-network processing unit,神经网络处理单元)、dsp(digital signal process,数字信号处理单元)、现场可编程门阵列(field-programmable gate array,fpga)芯片中的一种或组合。本公开对处理器的具体类型不作限制。
[0032]
在一种可能的实现方式中,本公开中所提及的处理器可包括多个处理单元,每个处理单元可以独立运行所分配到的各种任务,如:卷积运算任务、池化任务或全连接任务等。本公开对处理单元及处理单元所运行的任务不作限制。
[0033]
图1示出根据本公开实施例的处理器的示意图。如图1所示,处理器100可以包括多个处理单元101以及存储单元102,多个处理单元101用于执行指令序列,存储单元102用于存储数据,可包括随机存储器(ram,random access memory)和寄存器堆。处理器100中的多个处理单元101既可共用部分存储空间,例如共用部分ram存储空间和寄存器堆,又可同时拥有各自的存储空间。
[0034]
图2示出根据本公开一实施例的运算装置的框图,如图2所示,所述运算装置包括处理单元、第一存储单元和第二存储单元,其中,图1中的存储单元102可以为第一存储单元的示例,图2中的处理单元和第一存储单元可以作为处理器的组成部分,处理器可以包括多个处理单元。
[0035]
在一种可能的实现方式中,所述第一存储单元可以为片上的静态随机存取存储器sram,所述第二存储单元可以为片外的双倍数据速率ddr存储器。
[0036]
所述运算装置可以接收外部输入的输入数据以及指令,其中,所述输入数据可以包括激活表和待处理的输入张量,所述运算装置将激活表存储至第一存储单元,将输入张量存储至第二存储单元。
[0037]
所述处理单元运行所述指令时,从第二存储单元中读取输入张量,对所述输入张量进行缩放处理得到缩放输入张量,查找第一存储单元中的激活表对缩放输入张量进行激活得到中间激活结果,对中间激活结果进行缩放恢复处理得到激活结果,并将激活结果输出到第二存储单元。
[0038]
运算之前,运算装置可将打包好的输入数据和指令加载进来,并存储至相应的位置,例如,将激活表和指令存储至sram,输入张量存储至ddr。
[0039]
在一种可能的实现方式中,输入张量可以为从图像、音频或者视频提取的张量数据。具体地,根据图像、音频或者视频数据可以提取初始输入张量,采用神经网络对初始输入张量进行运算可以得到上述的输入张量,具体的运算过程可以包括卷积、全连接等,也就是说,输入到激活算子的输入张量可以是经过神经网络的激活层之前各层运算的结果。处
理单元可以执行指令可以实现对输入数据的处理。该处理可以包括如上所述的缩放处理、激活、缩放恢复处理,其中,缩放处理可以是指对输入张量中的数据缩小到激活表能够覆盖的范围以内,例如,将输入张量中的数据除以缩放的倍数,或者乘以缩放系数等操作。激活的过程和前文提到的相关技术中的遍历激活表的方式相同。缩放恢复处理可以是指根据缩放的倍数对激活后的数据再次进行处理得到不缩放时的等价数据,例如可以乘以缩放的倍数,等等。
[0040]
根据本公开的实施例,能够对输入激活算子的输入张量进行缩放,这样,使得缩放后的输入张量中的元素的大小缩放到合适的范围,在通过查找激活表对缩放后的输入张量进行激活之后得到中间激活结果,再对中间激活结果进行恢复即可得到最终的激活结果。通过上述实施例的数据激活的方法,对输入张量进行缩放,将输入张量中的元素缩放到已有激活表能够覆盖的范围,不需要根据输入张量中元素的实际范围设置大量的激活表,从而可以避免由于遍历大量激活表导致的算子性能降低,提高激活算子的性能。
[0041]
在一种可能的实现方式中,所述缩放处理包括:
[0042]
所述处理单元根据所述输入张量、激活区间、缩放系数计算第一缩放张量,将第一缩放张量与输入张量进行对位乘得到缩放输入张量;
[0043]
所述缩放恢复处理包括:所述处理单元根据所述输入张量、激活区间和恢复系数第一恢复张量,采用第一恢复张量对中间激活结果进行恢复处理得到输入张量的激活结果;
[0044]
其中,所述激活区间用于表示激活表能够覆盖的数值范围,所述缩放系数用于表示对输入张量中的数据进行缩放的倍数,所述恢复系数用于表示对中间激活结果进行缩放恢复的倍数。
[0045]
在一种可能的实现方式中,落在激活表覆盖的数值范围内的元素可以通过查找激活表进行激活,不落在这一数值范围内的元素无法通过查找激活表进行激活,需要进行缩放处理。
[0046]
在一种可能的实现方式中,激活区间可以表示为(l,h),其中,l为下边界、h为上边界,l和h可以为数值相同、符号相反的数据,比如说,l为-1、h为1。需要说明的是,以上激活区间的表示方式仅仅是本公开的一个示例,不以任何方式限制本公开,本领域技术人员可以理解的是,l和h不限于上述列举的示例。
[0047]
上述缩放系数可以是指对输入张量中不落在激活区间内的元素进行伸缩的参数,如上所述可以用于表示对输入张量中的数据进行缩放的倍数。本公开实施例的缩放系数可以是预先设定的,例如,缩放系数可以是缩放指令的立即数形式表示的参数。恢复系数可以根据缩放系数确定的,当然,也可以是预先设定的,恢复系数可以用于获取第一恢复张量,通过第一恢复张量对中间激活结果进行处理可以得到最终的激活结果。
[0048]
图3示出根据本公开一实施例的激活过程的流程图。在一种可能的实现方式中,如图3所示,从缩放处理到恢复处理的过程可以包括:
[0049]
在步骤s11中:根据输入张量、激活区间、缩放系数和恢复系数计算第一缩放张量和第一恢复张量;
[0050]
在步骤s12中:将第一缩放张量与输入张量进行对位乘得到缩放输入张量;
[0051]
在步骤s13中:查找激活表对缩放输入张量进行激活得到中间激活结果;
[0052]
在步骤s14中:采用第一恢复张量对中间激活结果进行恢复处理得到输入张量的激活结果。
[0053]
也就是说,处理单元可以一并计算第一缩放张量和第一恢复张量,计算第一缩放张量和第一恢复张量的具体过程可以包括:根据输入张量与激活区间确定第一索引张量以及第二索引张量;根据第二索引张量和缩放系数计算第二缩放张量,根据第二索引张量和恢复系数计算第二恢复张量;根据第一索引张量和第二缩放张量计算第一缩放张量,根据第一索引张量和第二恢复张量计算第一恢复张量。
[0054]
其中,第一索引张量、第二索引张量的形状和输入张量的形状相同。形状相同可以是指张量的维度相同、各个维度上元素的数量相同。
[0055]
在一种可能的实现方式中,第一索引张量和第二索引张量中的元素的数值的确定方式可以为:如果输入张量中的任一元素在激活区间内,则在第一索引张量中与该元素对应位置的元素为1,在第二索引张量中与该元素对应位置的元素为0;如果输入张量中的任一元素不在激活区间内,则在第一索引张量中与该元素对应位置的元素为0,在第二索引张量中与该元素对应位置的元素为1。
[0056]
以上确定的方式仅仅是本公开的一个示例,本公开不限于此,比如说,还可以先确定第一索引张量或者第二索引张量,然后翻转已确定的索引张量中的元素得到另一个索引张量。也就是说,如果输入张量中的任一元素在激活区间内,则在第一索引张量中与该元素对应位置的元素为1,如果输入张量中的任一元素不在激活区间内,则在第一索引张量中与该元素对应位置的元素为0。将第一索引张量进行翻转得到第二索引张量,翻转的意思为将原来为0的元素设置为1,原来为1的元素设置为0。
[0057]
举例来说,假设激活区间为[-10,10],假设输入张量为i、输入张量为根据图像数据提取的张量数据,输入张量i可以通过nhwc(batch,height,width,channels)的形式表示,对于图像数据来说channels可以包含三个通道rgb(red,green,blue),以一张图片中的一个通道作为实施例对本公开的数据激活方法进行说明,例如以r通道为例,输入张量ir为那可以确定输入张量对应的第一索引张量m可以为第二索引张量n可以为
[0058]
可以将第二索引张量中的元素乘以所述缩放系数得到第二缩放张量p,将第二索引张量中的元素乘以所述恢复系数得到第二恢复张量q。
[0059]
举例来说,假设缩放系数为α,恢复系数为β,那么,第二缩放张量p为第二恢复张量q为其中,如上所述缩放系数的大小可以为预先设定的固定值,比如1/100、1/50等,也可以是根据输入张量和激活区间进行调整,比如说,在本公开上述示例中,表示一个像素的数值的范围为0~255,激活区间为[-10,10],缩放系数α可以设置为10/255。恢复系数可以设置为1/α,也可以根据实际的激活函数设置为其他的值,本公开对此不
作限定。
[0060]
所述第一缩放张量为第一索引张量和第二缩放张量的和,所述第一恢复张量为第一索引张量和第二恢复张量的和。
[0061]
假设第一缩放张量为a、第一恢复张量为b,那么以上述的示例为例,第一缩放张量第一恢复张量
[0062]
对位乘可以是指将相同位置的元素相乘。以上述示例为例,第一缩放张量a与输入张量ir进行对位乘得到缩放输入张量:
[0063][0064]
由于已经对输入张量进行了缩放,因此,输入张量中的元素都可以落入激活区间内,通过查找激活表即可对缩放输入张量进行激活得到激活张量y作为中间激活结果。
[0065]
由于在激活之前对输入张量进行了缩放,因此,在激活后可以再进行恢复处理得到最终的激活结果,完成整个激活过程。
[0066]
具体的恢复处理方式可以根据不同的激活算子而不同,举例来说,对于一些激活算子来说,将y和第一恢复张量b进行对位乘即可得到输入张量的激活结果,比如说,sigmoid、tanh(双曲正切函数)等。或者,对于有些激活算子来说,将y和第一恢复张量b进行对位相加即可得到输入张量的激活结果,比如说用于损失函数算子的log。
[0067]
根据本公开的运算装置,通过对输入张量进行缩放,可以用较少的激活表,覆盖较大的输入范围,在不显著降低算子存储开销、计算开销的情况下,最大限度地扩张了合法输入的范围。
[0068]
需要说明的是,对于前述的各过程实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
[0069]
进一步需要说明的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0070]
在一种可能的实现方式中,还公开了一种人工智能芯片,其包括了上述运算装置。
[0071]
在一种可能的实现方式中,还公开了一种板卡,其包括存储器件、接口装置和控制器件以及上述人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工
智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。
[0072]
图4示出根据本公开实施例的板卡的结构框图,参阅图4,上述板卡除了包括上述芯片389以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件390、接口装置391和控制器件392;
[0073]
所述存储器件390与所述人工智能芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述人工智能芯片通过总线连接。可以理解,每一组所述存储单元可以是ddr sdram(英文:double data rate sdram,双倍速率同步动态随机存储器)。
[0074]
ddr不需要提高时钟频率就能加倍提高sdram的速度。ddr允许在时钟脉冲的上升沿和下降沿读出数据。ddr的速度是标准sdram的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个ddr4颗粒(芯片)。在一个实施例中,所述人工智能芯片内部可以包括4个72位ddr4控制器,上述72位ddr4控制器中64bit用于传输数据,8bit用于ecc校验。可以理解,当每一组所述存储单元中采用ddr4-3200颗粒时,数据传输的理论带宽可达到25600mb/s。
[0075]
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。ddr在一个时钟周期内可以传输两次数据。在所述芯片中设置控制ddr的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
[0076]
所述接口装置与所述人工智能芯片电连接。所述接口装置用于实现所述人工智能芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准pcie接口。比如,待处理的数据由服务器通过标准pcie接口传递至所述芯片,实现数据转移。优选的,当采用pcie 3.0x 16接口传输时,理论带宽可达到16000mb/s。在另一个实施例中,所述接口装置还可以是其他的接口,本公开并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述人工智能芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
[0077]
所述控制器件与所述人工智能芯片电连接。所述控制器件用于对所述人工智能芯片的状态进行监控。具体的,所述人工智能芯片与所述控制器件可以通过spi接口电连接。所述控制器件可以包括单片机(micro controller unit,mcu)。如所述人工智能芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述人工智能芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述人工智能芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
[0078]
在一种可能的实现方式中,公开了一种电子设备,其包括了上述人工智能芯片。电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、b超仪和/或心电图仪。
[0079]
图5示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设
备,个人数字助理等终端。
[0080]
参照图5,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。
[0081]
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
[0082]
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0083]
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
[0084]
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0085]
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
[0086]
i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0087]
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可
以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0088]
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0089]
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0090]
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
[0091]
图6示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图6,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
[0092]
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(i/o)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm或类似。
[0093]
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
[0094]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0095]
依据以下条款可更好地理解前述内容:
[0096]
条款a1,一种运算装置,所述运算装置包括:
[0097]
处理单元、第一存储单元和第二存储单元;
[0098]
所述运算装置接收外部输入的输入数据以及二进制可执行文件,
[0099]
其中,所述输入数据包括激活表和待处理的输入张量,所述运算装置将激活表存储至第一存储单元,将输入张量存储至第二存储单元;
[0100]
所述处理单元运行所述二进制可执行文件时,从第二存储单元中读取输入张量,对所述输入张量进行缩放处理得到缩放输入张量,查找第一存储单元中的激活表对缩放输入张量进行激活得到中间激活结果,对中间激活结果进行缩放恢复处理得到激活结果,并将激活结果输出到第二存储单元。
[0101]
条款a2,根据条款a1所述的运算装置,所述缩放处理包括:
[0102]
所述处理单元根据所述输入张量、激活区间、缩放系数计算第一缩放张量,将第一缩放张量与输入张量进行对位乘得到缩放输入张量;
[0103]
所述缩放恢复处理包括:所述处理单元根据所述输入张量、激活区间和恢复系数第一恢复张量,采用第一恢复张量对中间激活结果进行恢复处理得到输入张量的激活结果;
[0104]
其中,所述激活区间用于表示激活表能够覆盖的数值范围,所述缩放系数用于表示对输入张量中的数据进行缩放的倍数,所述恢复系数用于表示对中间激活结果进行缩放恢复的倍数。
[0105]
条款a3,根据条款a2所述的运算装置,所述处理单元用于:
[0106]
根据输入张量与激活区间确定第一索引张量以及第二索引张量;
[0107]
根据第二索引张量和缩放系数计算第二缩放张量,根据第二索引张量和恢复系数计算第二恢复张量;
[0108]
根据第一索引张量和第二缩放张量计算第一缩放张量,根据第一索引张量和第二恢复张量计算第一恢复张量。
[0109]
条款a4.根据条款a2或a3所述的运算装置,所述第一索引张量、第二索引张量的形状和输入张量的形状相同,
[0110]
如果输入张量中的任一元素在激活区间内,则在第一索引张量中与该元素对应位置的元素为1,在第二索引张量中与该元素对应位置的元素为0;
[0111]
如果输入张量中的任一元素不在激活区间内,则在第一索引张量中与该元素对应位置的元素为0,在第二索引张量中与该元素对应位置的元素为1。
[0112]
条款a5.根据条款a3所述的运算装置,所述处理单元用于,将第二索引张量中的元素乘以所述缩放系数得到第二缩放张量,将第二索引张量中的元素乘以所述恢复系数得到第二恢复张量。
[0113]
条款a6.根据条款a3-a5任意一项所述的运算装置,所述第一缩放张量为第一索引张量和第二缩放张量的和,所述第一恢复张量为第一索引张量和第二恢复张量的和。
[0114]
条款a7.根据条款a1-a6任意一项所述的运算装置,所述输入张量为从图像、音频或者视频提取的张量数据。
[0115]
条款a8.根据条款a1-a6任意一项所述的运算装置,
[0116]
所述第一存储单元为片上的静态随机存取存储器sram,所述第二存储单元为片外的双倍数据速率ddr存储器。
[0117]
条款a9.一种人工智能芯片,所述芯片包括如条款a1-a8中任意一项所述的运算装置。
[0118]
条款a10.一种电子设备,所述电子设备包括如条款a9所述的人工智能芯片。
[0119]
条款a11.一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及如条款a9所述的人工智能芯片;
[0120]
其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
[0121]
所述存储器件,用于存储数据;
[0122]
所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;
[0123]
所述控制器件,用于对所述人工智能芯片的状态进行监控。
[0124]
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本公开的方法及其核心思想。同时,本领域技术人员依据本公开的思想,基于本公开的具体实施方式及应用范围上做出的改变或变形之处,都属于本公开保护的范围。综上所述,本说明书内容不应理解为对本公开的限制。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜