CN109657788A - 数据处理方法、装置及相关产品 - Google Patents
数据处理方法、装置及相关产品 Download PDFInfo
- Publication number
- CN109657788A CN109657788A CN201811554134.2A CN201811554134A CN109657788A CN 109657788 A CN109657788 A CN 109657788A CN 201811554134 A CN201811554134 A CN 201811554134A CN 109657788 A CN109657788 A CN 109657788A
- Authority
- CN
- China
- Prior art keywords
- fitting
- activation primitive
- allocation list
- input data
- sampled point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Machine Translation (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种数据处理方法、装置及相关产品,所述相关产品包括板卡,所述板卡包括:多个人工智能处理器,所述多个人工智能处理器对应的内存为多通道内存;其中,目标人工智能处理器用于在通过目标并行线程接收通用处理器CPU发出的人工智能处理器计算指令后,通过与所述目标并行线程对应的内存通道。采用本方法能够实现自定义激活函数在神经网络处理器中顺畅运行。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种数据处理方法、装置及相 关产品。
背景技术
随着人工智能技术的发展,出现了各种各样的神经网络算法,而激活操作 是神经网络算法中非常重要的计算步骤。现有的神经网络处理器中,支持的激 活函数种类很少,只有不超过十种。
现有的神经网络处理器在处理激活函数的过程中对激活函数的种类兼容性 差,无法对自定义的激活函数进行处理。
发明内容
基于此,有必要针对现有神经网络处理器在处理激活函数的过程中对激活 函数的种类兼容性差,无法对自定义的激活函数进行处理的问题,提供一种数 据处理方法、装置及相关产品。
一种数据处理方法,所述方法包括:
获取激活函数的拟合配置表和输入数据;
判断所述输入数据对应所述拟合配置表中的分段区间;
根据所述输入数据对应所述拟合配置表中的分段区间,确定所述输入数据 在所述拟合配置表中对应的配置信息;
根据所述配置信息对所述输入数据执行拟合运算,得到所述激活函数的输 出数据。
在其中一个实施例中,所述根据所述配置信息对所述输入数据执行拟合运 算,得到所述激活函数的输出数据包括:
获取硬件指令集;
根据所述硬件指令集和所述配置信息,编译生成控制指令;
将所述控制指令翻译为机器指令;
根据所述配置信息及机器指令对所述输入数据执行拟合运算,得到所述激 活函数的输出数据。
在其中一个实施例中,所述根据所述输入数据对应所述拟合配置表中的分 段区间,确定所述输入数据在所述拟合配置表中对应的配置信息包括:
根据所述输入数据,确定各所述分段区间的区间拟合函数。
在其中一个实施例中,所述根据所述输入数据对应所述拟合配置表中的分 段区间,确定所述输入数据在所述拟合配置表中对应的配置信息包括:
获取所述激活函数的拟配置函数;
根据所述输入数据,确定所述拟合配置表中的各所述分段区间的拟合参数;
根据所述拟合参数,配置得到各所述分段区间对应所述拟配置函数的配置 拟合函数。
在其中一个实施例中,所述方法还包括创建拟合配置表,所述创建拟合配 置表包括如下步骤:
获取激活函数;
根据预设规则选取所述激活函数的采样点;
根据所述激活函数计算各所述采样点的函数值;
根据所述采样点以及所述采样点的函数值对所述激活函数进行拟合运算, 得到拟合配置表。
在其中一个实施例中,所述获取激活函数包括:
获取所述激活函数的定义域;以及
获取所述激活函数的切分段数。
在其中一个实施例中,所述根据预设规则选取所述激活函数的采样点,包 括:
根据所述切分段数,在每个分段中选取所述采样点。
在其中一个实施例中,所述根据所述采样点以及所述采样点的函数值对所 述激活函数进行拟合运算,得到拟合配置表包括:
通过最小二乘法对所述激活函数进行拟合运算,得到拟合配置表。
一种数据处理装置,所述装置包括:
接口模块,用于获取激活函数的拟合配置表和输入数据;
比较模块,用于判断所述输入数据对应所述拟合配置表中的分段区间;以 及用于根据所述输入数据对应所述拟合配置表中的分段区间,确定所述拟合配 置表中对应的配置信息;
运算模块,用于根据所述拟合配置表对所述输入数据执行拟合运算,得到 所述激活函数的输出数据。
在其中一个实施例中,所述运算模块包括硬件指令集获取单元、编译单元;
所述硬件指令集获取单元用于获取硬件指令集;
所述编译单元用于根据所述硬件指令集和所述拟合配置表,编译生成控制 指令。
在其中一个实施例中,所述装置还包括译码模块和输出数据生成模块;
所述译码模块,用于将所述控制指令翻译为机器指令;
所述输出数据生成模块,用于根据所述配置信息及机器指令对所述输入数 据执行拟合运算,得到所述激活函数的输出数据。
在其中一个实施例中,所述比较模块还包括:
区间拟合函数确定单元,用于根据所述输入数据,确定各所述分段区间的 区间拟合函数。
在其中一个实施例中,所述比较模块还包括:
拟配置函数获取单元,用于获取所述激活函数的拟配置函数;
拟合参数确定单元,用于根据所述输入数据,确定所述拟合配置表中的各 所述分段区间的拟合参数;
配置拟合函数确定单元,用于根据所述拟合参数,配置得到各所述分段区 间对应所述拟配置函数的配置拟合函数。
在其中一个实施例中,所述装置还包括拟合配置表创建模块,所述拟合配 置表创建模块还包括:
激活函数获取单元,用于获取激活函数;
采样单元,用于根据预设规则选取所述激活函数的采样点;
拟合计算单元,用于根据所述激活函数计算各所述采样点的函数值,以及 用于根据所述采样点以及所述采样点的函数值对所述激活函数进行拟合运算, 得到拟合配置表。
在其中一个实施例中,所述激活函数获取单元包括:
定义域获取单元,用于获取所述激活函数的定义域;
切分段数获取单元,用于获取所述激活函数的切分段数。
在其中一个实施例中,所述采样单元包括:
采样点选取单元,用于根据所述切分段数,在每个分段中选取所述采样点。
在其中一个实施例中,所述拟合计算单元包括:
最小二乘法运算单元,用于通过最小二乘法对所述激活函数进行拟合运算, 得到拟合配置表。
一种板卡,应用于异构计算架构中,所述板卡包括:多个人工智能处理器, 所述多个人工智能处理器对应的内存为多通道内存;其中,目标人工智能处理 器用于在通过目标并行线程接收通用处理器CPU发出的人工智能处理器计算指 令后,通过与所述目标并行线程对应的内存通道,根据所述人工智能处理器计 算指令对所述内存通道对应的物理内存进行访问;所述目标人工智能处理器为 所述多个人工智能处理器中的任一人工智能处理器,所述目标并行线程为所述 CPU启动的多个并行线程中的任一个;所述多个并行线程中至少有两个线程对 应不同的内存通道。
一种主板,应用于异构计算架构中,所述主板包括:通用处理器CPU和上 述的板卡。
一种电子设备,应用于异构计算架构中,所述电子设备包括如上述的主板。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处 理器执行时实现以上任一实施例所述方法的步骤。
上述数据处理方法、装置及相关产品,通过输入数据确定拟合配置表中的 配置信息,对输入数据执行拟合运算,得到激活函数经过拟合后的输出数据, 实现了自定义激活函数在神经网络处理器中顺畅运行,使得神经网络处理器对 不同的激活函数的执行具备更好的兼容性。
附图说明
图1为一个实施例中数据处理方法的应用装置图;
图2为一个实施例中数据处理方法的流程示意图;
图3为一个实施例中,根据所述配置信息对所述输入数据执行拟合运算, 得到所述激活函数的输出数据步骤的流程示意图;
图4为一个实施例中,创建拟合配置表步骤的流程示意图;
图5为一个实施例中,拟合配置表创建模块和神经网络处理器的装置示意 图;
图6为一实施例中,用于数据处理的板卡结构示意图;
图7为一实施例中,用于数据处理的主板结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅 用以解释本申请,并不用于限定本申请。
本申请提供的数据处理方法,可以应用于如图1所示的应用环境中。图1 所示的应用环境中包括神经网络开发装置100以及神经网络处理装置200。在其 中一个实施例中,神经网络开发装置100获取输入的激活函数。进一步地,神 经网络开发装置100根据预设规则对激活函数进行采样处理,得到拟合配置表。 在其中一个实施例中,神经网络开发装置100将拟合配置表发送至神经网络处 理装置200。进一步地,神经网络处理装置200获取激活函数的拟合配置表和输 入数据,并确定输入数据在所述拟合配置表中对应的配置信息;更进一步地, 神经网络处理装置200,根据配置信息对输入数据执行拟合运算,得到激活函数的输出数据。
在一个实施例中,如图2所示,提供了一种数据处理方法,以该方法应用 于图1中的神经网络开发装置100和神经网络处理装置200为例进行说明,包 括以下步骤:
步骤S202,获取激活函数的拟合配置表和输入数据。其中,拟合配置表是 指对激活函数进行拟合处理所参照的信息表。根据拟合配置表能够确定对激活 函数的拟合处理方法。其中,所述输入数据指利用激活函数进行运算的数据。
步骤S204,判断所述输入数据对应所述拟合配置表中的分段区间。具体地, 拟合配置表中可以有多个连续的分段区间,分段区间组成激活函数的定义域。 可以理解地,输入数据是定义域内的数据,进而输入数据对应拟合配置表中的 分段区间。其中,定义域为激活函数自变量的取值范围。
步骤S206,根据所述输入数据对应所述拟合配置表中的分段区间,确定所 述输入数据在所述拟合配置表中对应的配置信息。具体地,每一段分段区间可 以对应各自的配置信息。可以根据输入数据确定分段区间,进而可以得到输入 数据对应的配置信息。其中,配置信息是指对拟合函数进行拟合处理的信息。
步骤S208,根据所述配置信息对所述输入数据执行拟合运算,得到所述激 活函数的输出数据。具体地,根据配置信息对输入数据具体执行的处理过程, 是对激活函数进行拟合得到拟合函数的输出数据的处理过程。
上述数据处理方法,通过输入数据确定拟合配置表中的配置信息,对输入 数据执行拟合运算,得到激活函数经过拟合后的输出数据。实现了自定义激活 函数在神经网络处理装置中顺畅运行,使得神经网络处理器对不同的激活函数 的执行具备更好的兼容性。
在一个实施例中,请一并参阅图3,步骤S208包括:
步骤S2081,获取硬件指令集。其中,硬件指令集是硬件设备的基础指令格 式。在其中一个实施例中,硬件指令集是指神经网络处理器所适用的基础指令 格式。
步骤S2082,根据所述硬件指令集和所述配置信息,编译生成控制指令。具 体地,神经网络开发工具100生成的配置信息发送给神经网络处理装置200,神 经网络处理装置200不能直接读取配置信息。为此,神经网络处理装置200或 神经网络开发工具100要根据神经网络处理装置200的基础指令生成对应配置 信息的控制指令。
步骤S2083,将所述控制指令翻译为机器指令。具体地,通过步骤S2082 的编译生成的控制指令传输到神经网络处理装置200后不能直接被机器识别。 进一步地,神经网络处理装置200对控制指令进行译码,把控制指令翻译成神 经网络处理装置200直接可以识别的机器指令。在其中一个实施例中,机器指 令为二进制指令。
步骤S2084,根据所述配置信息及机器指令对所述输入数据执行拟合运算, 得到所述激活函数的输出数据。具体地,神经网络处理装置200通过识别机器 指令,根据输入数据读取拟合配置表,获取拟合配置表中对应输入数据的配置 信息。进一步地,根据配置信息,确定对输入数据具体执行的处理过程,通过 机器指令控制神经网络处理装置200完成拟合运算,得到激活函数的输出数据。
在其中一个实施例中,步骤S204包括:步骤S2041a,根据所述输入数据, 确定各所述分段区间的区间拟合函数。具体地,区间拟合函数是指分别对应各 个分段区间的拟合函数,即一个分段区间可以对应一个区间拟合函数。可选地, 区间拟合函数可以是各不相同的,也可以是都相同的,还可以是部分相同部分 不同的。
作为一种具体的实施方式,激活函数的定义域为[0,16],在区间[0,8)内的 区间拟合函数为y=2x+1,在区间[8,16]内的区间拟合函数为y=2x2+3x+4,则集合 配置表如下:
取值起点X<sub>start</sub> | 取值终点X<sub>end</sub> | 拟合函数 |
0 | 8 | y=2x+1 |
8 | 16 | y=2x<sup>2</sup>+3x+4 |
当输入数据在区间[0,8)时,则通过区间拟合函数y=2x+1计算输出数据, 例如当输入数据为6,则读取如下配置信息:
0 | 8 | y=2x+1 |
根据上述配置信息,对输入数据6执行相应拟合运算,即y=2*6+1=13,则 输入数据6对应的输出数据为13。
在另一个实施例中,步骤S204包括:
步骤S2041b,获取所述激活函数的拟配置函数。具体地,拟配置函数是指 在进行拟合运算前,预先设定对激活函数进行拟合操作的函数类别。例如拟配 置函数可以包括:一元一次函数、一元二次函数、正比例函数、反比例函数。
步骤S2042,根据所述输入数据,确定所述拟合配置表中的各所述分段区间 的拟合参数。具体地,拟合参数是拟配置函数中的除自变量和因变量之外的参 数,例如一元一次函数中的斜率和截距。
步骤S2043,根据所述拟合参数,配置得到各所述分段区间对应所述拟配置 函数的配置拟合函数。具体地,每个拟配置函数对应一种函数种类。进而一种 函数种类可以对应多个不同的具体函数。当拟合参数确定,则对应的具体的函 数也就确定了。例如y=ax,则当拟合参数a被赋值为1,则能够得到具体的配 置拟合函数y=x。
作为一种具体的实施方式,拟配置函数为y=kx+b,定义域为[0,16],则拟合 配置表如下:
取值起点X<sub>start</sub> | 取值终点X<sub>end</sub> | k | b |
0 | 8 | 1 | 1 |
8 | 16 | 2 | 3 |
当输入数据为6时,则读取对应的配置信息:
0 | 8 | 1 | 1 |
根据以上配置信息得到输入数据6的输出数据为y=1*6+1=7。
通过上述实施例,使得通过拟合配置表确定各个分段内的特征参数或拟合 函数,能够便于在激活函数执行过程中方便快捷的得到拟合后的运算结果,提 高运算效率。
在一个实施例中,如图4所示,所述方法还包括创建拟合配置表,所述创 建拟合配置表包括如下步骤:
步骤S2010,获取激活函数。具体地,神经网络中的每个神经元节点接受上 一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入 层神经元节点会将输入属性值直接传递给下一层。在多层神经网络中,上层节 点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数。 可选地,激活函数可以包括ReLU、sigmoid、tanh、ReLU1以及ReLU6。根据 不同的需求场景,自定义激活函数可以是多种多样的,例如ReLU5:
步骤S2012,根据预设规则选取所述激活函数的采样点。
其中,激活函数的采样点是指根据预定规则在激活函数图像中选取的自变 量的值。具体地,选取采样点的预设规则可以是等距选取或随机选取,还可以 根据其他规则进行选取。
步骤S2014,根据所述激活函数计算各所述采样点的函数值。具体地,根据 激活函数以及自变量的值,计算得到对应采样点的函数值。
步骤S2016,根据所述采样点以及所述采样点的函数值对所述激活函数进行 拟合运算,得到拟合配置表。其中,通过拟合运算能够将原本图像复杂、变化 多样的激活函数拟合为简单函数图像的组合,简化了激活函数的运算过程,提 高了运算效率。可选地,拟合运算可以通过最小二乘法和/或二次拟合实现。通 过上述实施例简化了激活运算的运算过程,提高了激活函数的处理效率。
在一个实施例中,步骤S2010,获取激活函数包括:
获取所述激活函数定义域;以及获取所述激活函数对应函数图像的切分段 数。
具体地,激活函数图像是指将自变量和函数值的关系在坐标系中表现出来 的图像。切分段数是指将在定义域内的激活函数进行分段。在其中一个实施例 中,将定义域内的自变量进行分段。可以理解地,分段数量取决于函数曲线形 状和对精度的要求,最少1段,最多不设限。具体地,如果需要高精度的结果, 或者激活函数图像比较复杂,则分段较多。例如,sigmoid函数可以分60段。 在另一个实施例中,若对精度要求不高,或者若激活函数图像比较简单,则分 段较少,例如ReLU函数可以分2段。通过上述实施例,将激活函数分段处理, 能够通过不同的具体函数来拟合整个激活函数,更加接近激活函数的原始特性,使得拟合结果更加准确。
在一个实施例中,步骤S2012根据预设规则选取所述激活函数的采样点, 包括:
根据所述切分段数,在每个分段中选取所述采样点。
可选地,分段内采样可以采取等距采样,例如每段等分19份。在其中一个 实施例中,在激活函数的边界段可采20个样点。当然,采样点数并不固定,也 不限于上述等距采样的方法,其他采样方法例如随机采样也可以。
在其中一个实施例中,各个分段的长度相同,各个分段内的采样点数也相 同。在另一个实施例中,各个分段的长度不同,每段内的采样点数也不同。
作为一种具体的实施方式,在sigmoid函数中,将函数图像分为60段,每 段等距选取20个采样点。
应该理解的是,虽然图2-4流程图中的各个步骤按照箭头的指示依次显示, 但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的 说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执 行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些 子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行, 这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或 者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,请一并参阅图5,提供了一种拟合配置表创建模块110和 一种神经网络处理器120。
其中,拟合配置表创建模块110可以是软件,还可以是存储有软件的硬件 装置,包括激活函数获取单元111、采样单元112、拟合计算单元113、硬件交 互单元115以及控制指令生成单元114(图中未示出)。
在一个实施例中,激活函数获取单元111用于获取激活函数;采样单元112, 用于根据预设规则选取所述激活函数的采样点;拟合计算单元113,用于计算所 述采样点的函数值;以及
用于根据所述采样点以及所述采样点的函数值对所述激活函数进行拟合运 算,得到拟合配置表。
在其中一个实施例中,接口模块121包括定义域获取模块和切分段数获取 模块,所述定义域获取模块用于获取所述激活函数定义域;
所述切分段数获取模块用于获取所述激活函数图像的切分段数。
在其中一个实施例中,采样模块112还包括:采样点选取模块,用于根据 所述切分段数,在每个分段中选取所述采样点。
在其中一个实施例中,拟合计算单元113还包括最小二乘法运算模块,用 于通过最小二乘法对所述激活函数进行拟合运算,得到拟合配置表。
在其中一个实施例中,硬件交互单元115用于将所述控制指令以及拟合配 置表发送至所述神经网络处理器120。具体地,硬件交互单元115是软件和硬件 的通信接口。在其中一个实施例中,硬件交互单元115包括驱动程序提供的数 据拷贝函数,数据拷贝函数将拟合配置表创建模块110中的二进制指令拷入神 经网络处理器的存储模块123中。
关于拟合配置表创建模块110的具体限定可以参见上文中对于数据处理方 法的限定。上述拟合配置表创建模块110中的各个模块可全部或部分通过软件、 硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中 的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理 器调用执行以上各个模块对应的操作。
在一个实施例中,神经网络处理器120包括接口模块121、比较模块122以 及运算模块124。在其中一个实施例中,神经网络处理器120还可以包括存储模 块123。神经网络开发工具110可以将拟合配置表或控制指令发送至神经网络处 理器120的存储模块123中。进一步地,接口模块121可以从存储模块123中 读取拟合配置表和控制指令。所述接口模块121用于获取拟合配置表以及输入 数据。可选地,接口模块121还用于获取控制指令。
在其中一个实施例中,接口模块121获取激活函数的拟合配置表和输入数 据。在另一个实施例中,接口模块121用于接收存储单元123发送的拟合配置 表和输入数据。在其中一个实施例中,所述比较模块122用于判断所述输入数 据对应所述拟合配置表中的分段区间;以及用于根据所述输入数据对应所述拟 合配置表中的分段区间,确定所述拟合配置表中对应的配置信息。在其中一个 实施例中,所述比较模块122与所述运算模块124相连,所述运算模块124用 于根据所述拟合配置表对所述输入数据执行拟合运算,得到所述激活函数的输 出数据。在其中一个实施例中,所述接口模块121还可以用于将所述输出数据 发送至所述神经网络处理器120外部。
在其中一个实施例中,所述运算模块124包括硬件指令集获取单元、编译 单元;
所述硬件指令集获取单元用于获取硬件指令集;
所述编译单元用于根据所述硬件指令集和所述拟合配置表,编译生成控制 指令。
在其中一个实施例中,所述装置还包括译码模块125和输出数据生成模块 126;
所述译码模块125,用于将所述控制指令翻译为机器指令;
所述输出数据生成模块126,用于根据所述拟合配置表、所述输入数据以及 所述机器指令,得到所述激活函数的输出数据。
在其中一个实施例中,所述比较模块还122包括:
区间拟合函数确定单元,用于根据所述输入数据,确定各所述分段区间的 区间拟合函数。
在另一个实施例中,所述比较模块122还包括:
拟配置函数获取单元,用于获取所述激活函数的拟配置函数;
拟合参数确定单元,用于根据所述输入数据,确定所述拟合配置表中的各 所述分段区间的拟合参数;
配置拟合函数确定单元,用于根据所述拟合参数,配置得到各所述分段区 间对应所述拟配置函数的配置拟合函数。
上述神经网络处理器120中可以硬件形式内嵌于或独立于计算机设备中的 处理器中。
在一个实施例中,本申请还提供一种板卡,该板卡应用于神经网络数据处 理方法中,该板卡可以包括:多个人工智能处理器,多个人工智能处理器对应 的内存为多通道内存;其中,目标人工智能处理器用于在通过目标并行线程接 收CPU发出的人工智能处理器计算指令后,通过与所述目标并行线程对应的内 存通道,根据所述人工智能处理器计算指令对所述内存通道对应的物理内存进 行访问;所述目标人工智能处理器为所述多个人工智能处理器中的任一人工智 能处理器,所述目标并行线程为所述CPU启动的多个并行线程中的任一个;所 述多个并行线程中至少有两个线程对应不同的内存通道。
参见图6所示,上述板卡除了包括上述多个人工智能处理器111(专用处理 器11可以包括多个人工智能处理器111)和多通道内存12之外,还可以包含其 它配套部件。该配套部件包括但不限于:内存控制器13、总线、接口14。专用 处理器11通过接口14与外部设备之间进行指令传输以及数据传输。可选的, 外部设备可以为通用处理器(CPU)10。
本实施例提供的板卡,可以执行上述方法实施例,其实现原理和技术效果 类似,在此不再赘述。
在一个实施例中,本申请还提供一种主板,应用于神经网络数据处理方法 中,如图7所示,该主板包括:通用处理器(CPU)10和上述实施例提供的板 卡,该板卡包括多个人工智能处理器111,多个人工智能处理器111对应的内存 为多通道内存;其中,目标人工智能处理器用于在通过目标并行线程接收CPU 发出的人工智能处理器计算指令后,通过与所述目标并行线程对应的内存通道, 根据所述人工智能处理器计算指令对所述内存通道对应的物理内存进行访问; 所述目标人工智能处理器为所述多个人工智能处理器中的任一人工智能处理器, 所述目标并行线程为所述CPU启动的多个并行线程中的任一个;所述多个并行 线程中至少有两个线程对应不同的内存通道。
本实施例提供的主板,可以执行上述方法实施例,其实现原理和技术效果 类似,在此不再赘述。
在一个实施例中,提供一种电子设备,该电子设备应用于异构计算架构中, 该电子设备包括如图7所示的主板。该主板包括CPU和板卡,板卡包括多个人 工智能处理器,多个人工智能处理器对应的内存为多通道内存;其中,目标人工 智能处理器用于在通过目标并行线程接收通用处理器CPU发出的人工智能处理 器计算指令后,通过与所述目标并行线程对应的内存通道,根据所述人工智能处 理器计算指令对所述内存通道对应的物理内存进行访问;所述目标人工智能处 理器为所述多个人工智能处理器中的任一人工智能处理器,所述目标并行线程 为所述CPU启动的多个并行线程中的任一个;所述多个并行线程中至少有两个 线程对应不同的内存通道。
可选的,电子设备可以包括数据处理装置、机器人、电脑、打印机、扫描 仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服 务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴 设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/ 或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗 衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心 电图仪。
本实施例提供的电子设备,可以执行上述方法实施例,其实现原理和技术 效果类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程 序,计算机程序被处理器执行时实现以上任一实施例所述方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于 一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述 各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、 存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。 非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程 ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可 包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限, RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步 DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM (ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus) 直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器 总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述 实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特 征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的 普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改 进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权 利要求为准。
Claims (21)
1.一种数据处理方法,其特征在于,所述方法包括:
获取激活函数的拟合配置表和输入数据;
判断所述输入数据对应所述拟合配置表中的分段区间;
根据所述输入数据对应所述拟合配置表中的分段区间,确定所述输入数据在所述拟合配置表中对应的配置信息;
根据所述配置信息对所述输入数据执行拟合运算,得到所述激活函数的输出数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述配置信息对所述输入数据执行拟合运算,得到所述激活函数的输出数据包括:
获取硬件指令集;
根据所述硬件指令集和所述配置信息,编译生成控制指令;
将所述控制指令翻译为机器指令;
根据所述配置信息及机器指令对所述输入数据执行拟合运算,得到所述激活函数的输出数据。
3.根据权利要求1所述的方法,其特征在于,所述根据所述输入数据对应所述拟合配置表中的分段区间,确定所述输入数据在所述拟合配置表中对应的配置信息包括:
根据所述输入数据,确定各所述分段区间的区间拟合函数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述输入数据对应所述拟合配置表中的分段区间,确定所述输入数据在所述拟合配置表中对应的配置信息包括:
获取所述激活函数的拟配置函数;
根据所述输入数据,确定所述拟合配置表中的各所述分段区间的拟合参数;
根据所述拟合参数,配置得到各所述分段区间对应所述拟配置函数的配置拟合函数。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括创建拟合配置表,所述创建拟合配置表包括如下步骤:
获取激活函数;
根据预设规则选取所述激活函数的采样点;
根据所述激活函数计算各所述采样点的函数值;
根据所述采样点以及所述采样点的函数值对所述激活函数进行拟合运算,得到拟合配置表。
6.根据权利要求5所述的方法,其特征在于,所述获取激活函数包括:
获取所述激活函数的定义域;以及
获取所述激活函数的切分段数。
7.根据权利要求5所述的方法,其特征在于,所述根据预设规则选取所述激活函数的采样点,包括:
根据所述切分段数,在每个分段中选取所述采样点。
8.根据权利要求5所述的方法,其特征在于,所述根据所述采样点以及所述采样点的函数值对所述激活函数进行拟合运算,得到拟合配置表包括:
通过最小二乘法对所述激活函数进行拟合运算,得到拟合配置表。
9.一种数据处理装置,其特征在于,所述装置包括:
接口模块,用于获取激活函数的拟合配置表和输入数据;
比较模块,用于判断所述输入数据对应所述拟合配置表中的分段区间;以及用于根据所述输入数据对应所述拟合配置表中的分段区间,确定所述拟合配置表中对应的配置信息;
运算模块,用于根据所述拟合配置表对所述输入数据执行拟合运算,得到所述激活函数的输出数据。
10.根据权利要求9所述的装置,其特征在于,所述运算模块包括:
硬件指令集获取单元、编译单元;
所述硬件指令集获取单元用于获取硬件指令集;
所述编译单元用于根据所述硬件指令集和所述拟合配置表,编译生成控制指令。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括译码模块和输出数据生成模块;
所述译码模块,用于将所述控制指令翻译为机器指令;
所述输出数据生成模块,用于根据所述配置信息及机器指令对所述输入数据执行拟合运算,得到所述激活函数的输出数据。
12.根据权利要求9所述的装置,其特征在于,所述比较模块还包括:
区间拟合函数确定单元,用于根据所述输入数据,确定各所述分段区间的区间拟合函数。
13.根据权利要求9所述的装置,其特征在于,所述比较模块还包括:
拟配置函数获取单元,用于获取所述激活函数的拟配置函数;
拟合参数确定单元,用于根据所述输入数据,确定所述拟合配置表中的各所述分段区间的拟合参数;
配置拟合函数确定单元,用于根据所述拟合参数,配置得到各所述分段区间对应所述拟配置函数的配置拟合函数。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括拟合配置表创建模块,所述拟合配置表创建模块还包括:
激活函数获取单元,用于获取激活函数;
采样单元,用于根据预设规则选取所述激活函数的采样点;
拟合计算单元,用于根据所述激活函数计算各所述采样点的函数值,以及用于根据所述采样点以及所述采样点的函数值对所述激活函数进行拟合运算,得到拟合配置表。
15.根据权利要求14所述的装置,其特征在于,所述激活函数获取单元包括:
定义域获取单元,用于获取所述激活函数的定义域;
切分段数获取单元,用于获取所述激活函数的切分段数。
16.根据权利要求14所述的装置,其特征在于,所述采样单元包括:
采样点选取单元,用于根据所述切分段数,在每个分段中选取所述采样点。
17.根据权利要求9所述的装置,其特征在于,所述拟合计算单元包括:
最小二乘法运算单元,用于通过最小二乘法对所述激活函数进行拟合运算,得到拟合配置表。
18.一种板卡,其特征在于,应用于神经网络数据处理中,所述板卡包括:多个人工智能处理器,所述多个人工智能处理器对应的内存为多通道内存;其中,目标人工智能处理器用于在通过目标并行线程接收通用处理器CPU发出的人工智能处理器计算指令后,通过与所述目标并行线程对应的内存通道,根据所述人工智能处理器计算指令对所述内存通道对应的物理内存进行访问;所述目标人工智能处理器为所述多个人工智能处理器中的任一人工智能处理器,所述目标并行线程为所述CPU启动的多个并行线程中的任一个;所述多个并行线程中至少有两个线程对应不同的内存通道。
19.一种主板,其特征在于,应用于神经网络数据处理中,所述主板包括:通用处理器CPU和如权利要求18所述的板卡。
20.一种电子设备,其特征在于,应用于神经网络数据处理中,所述电子设备包括如权利要求19所述的主板。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811554134.2A CN109657788A (zh) | 2018-12-18 | 2018-12-18 | 数据处理方法、装置及相关产品 |
CN201911309819.5A CN111126581B (zh) | 2018-12-18 | 2019-12-18 | 数据处理方法、装置及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811554134.2A CN109657788A (zh) | 2018-12-18 | 2018-12-18 | 数据处理方法、装置及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109657788A true CN109657788A (zh) | 2019-04-19 |
Family
ID=66114864
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811554134.2A Pending CN109657788A (zh) | 2018-12-18 | 2018-12-18 | 数据处理方法、装置及相关产品 |
CN201911309819.5A Active CN111126581B (zh) | 2018-12-18 | 2019-12-18 | 数据处理方法、装置及相关产品 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911309819.5A Active CN111126581B (zh) | 2018-12-18 | 2019-12-18 | 数据处理方法、装置及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN109657788A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110796247A (zh) * | 2020-01-02 | 2020-02-14 | 深圳芯英科技有限公司 | 一种数据处理方法、装置、处理器及计算机可读存储介质 |
CN111191766A (zh) * | 2020-01-02 | 2020-05-22 | 深圳芯英科技有限公司 | 一种数据处理方法、装置、处理器及计算机可读存储介质 |
CN111191779A (zh) * | 2020-01-02 | 2020-05-22 | 深圳芯英科技有限公司 | 一种数据处理方法、装置、处理器及计算机可读存储介质 |
CN113705821A (zh) * | 2021-08-24 | 2021-11-26 | 山东浪潮科学研究院有限公司 | 一种基于pcie的adc板卡实现波形绘制的方法、设备及介质 |
US11681904B2 (en) | 2019-08-13 | 2023-06-20 | Samsung Electronics Co., Ltd. | Processor chip and control methods thereof |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378012B (zh) * | 2021-06-30 | 2023-10-24 | 上海思朗科技有限公司 | 一种数据处理方法、装置和*** |
CN115908870A (zh) * | 2022-10-19 | 2023-04-04 | 海南港航控股有限公司 | 一种基于异构数据融合的图文匹配方法及*** |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04507026A (ja) * | 1990-05-22 | 1992-12-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 学習機械シナプス・プロセッサ・システム装置 |
TW200924343A (en) * | 2007-11-28 | 2009-06-01 | Univ Chung Yuan Christian | Reactive power demand forecasting using feed-forward neural network technique and method thereof |
CN105512723A (zh) * | 2016-01-20 | 2016-04-20 | 南京艾溪信息科技有限公司 | 一种用于稀疏连接的人工神经网络计算装置和方法 |
US20170103313A1 (en) * | 2015-05-21 | 2017-04-13 | Google Inc. | Neural Network Processor |
CN107861916A (zh) * | 2017-11-10 | 2018-03-30 | 中国科学院计算技术研究所 | 一种用于针对神经网络执行非线性运算的方法和装置 |
CN108205518A (zh) * | 2016-12-19 | 2018-06-26 | 上海寒武纪信息科技有限公司 | 获取函数值的装置、方法及神经网络装置 |
CN108427990A (zh) * | 2016-01-20 | 2018-08-21 | 北京中科寒武纪科技有限公司 | 神经网络计算***和方法 |
CN108647045A (zh) * | 2018-03-20 | 2018-10-12 | 科大讯飞股份有限公司 | 激活函数的实现方法及装置、存储介质、电子设备 |
US20180300614A1 (en) * | 2017-04-17 | 2018-10-18 | Microsoft Technology Licensing, Llc | Power-efficient deep neural network module configured for executing a layer descriptor list |
CN108898216A (zh) * | 2018-05-04 | 2018-11-27 | 中国科学院计算技术研究所 | 应用于神经网络的激活处理装置 |
CN108921288A (zh) * | 2018-05-04 | 2018-11-30 | 中国科学院计算技术研究所 | 神经网络激活处理装置和基于该装置的神经网络处理器 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6124542A (en) * | 1999-07-08 | 2000-09-26 | Ati International Srl | Wavefunction sound sampling synthesis |
CN101881954B (zh) * | 2009-05-06 | 2013-07-10 | 陈学恭 | 一种设定替代曲线的新数控插补方法 |
CN103528840B (zh) * | 2013-09-29 | 2016-03-30 | 天津大学 | 基于x射线成像***探测器特性的调制传递函数测量方法 |
CN107341541B (zh) * | 2016-04-29 | 2021-01-29 | 中科寒武纪科技股份有限公司 | 一种用于执行全连接层神经网络训练的装置和方法 |
CN105893159B (zh) * | 2016-06-21 | 2018-06-19 | 北京百度网讯科技有限公司 | 数据处理方法和装置 |
CN107729984A (zh) * | 2017-10-27 | 2018-02-23 | 中国科学院计算技术研究所 | 一种适用于神经网络激活函数的计算装置及方法 |
CN108710944A (zh) * | 2018-04-30 | 2018-10-26 | 南京大学 | 一种可训练分段式线性激活函数生成方法 |
CN109857978B (zh) * | 2019-01-17 | 2024-03-26 | 上海上塔软件开发有限公司 | 一种适用于生活电器功率曲线的在线自适应分段算法 |
-
2018
- 2018-12-18 CN CN201811554134.2A patent/CN109657788A/zh active Pending
-
2019
- 2019-12-18 CN CN201911309819.5A patent/CN111126581B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04507026A (ja) * | 1990-05-22 | 1992-12-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 学習機械シナプス・プロセッサ・システム装置 |
TW200924343A (en) * | 2007-11-28 | 2009-06-01 | Univ Chung Yuan Christian | Reactive power demand forecasting using feed-forward neural network technique and method thereof |
US20170103313A1 (en) * | 2015-05-21 | 2017-04-13 | Google Inc. | Neural Network Processor |
CN105512723A (zh) * | 2016-01-20 | 2016-04-20 | 南京艾溪信息科技有限公司 | 一种用于稀疏连接的人工神经网络计算装置和方法 |
CN108427990A (zh) * | 2016-01-20 | 2018-08-21 | 北京中科寒武纪科技有限公司 | 神经网络计算***和方法 |
CN108205518A (zh) * | 2016-12-19 | 2018-06-26 | 上海寒武纪信息科技有限公司 | 获取函数值的装置、方法及神经网络装置 |
US20180300614A1 (en) * | 2017-04-17 | 2018-10-18 | Microsoft Technology Licensing, Llc | Power-efficient deep neural network module configured for executing a layer descriptor list |
CN107861916A (zh) * | 2017-11-10 | 2018-03-30 | 中国科学院计算技术研究所 | 一种用于针对神经网络执行非线性运算的方法和装置 |
CN108647045A (zh) * | 2018-03-20 | 2018-10-12 | 科大讯飞股份有限公司 | 激活函数的实现方法及装置、存储介质、电子设备 |
CN108898216A (zh) * | 2018-05-04 | 2018-11-27 | 中国科学院计算技术研究所 | 应用于神经网络的激活处理装置 |
CN108921288A (zh) * | 2018-05-04 | 2018-11-30 | 中国科学院计算技术研究所 | 神经网络激活处理装置和基于该装置的神经网络处理器 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11681904B2 (en) | 2019-08-13 | 2023-06-20 | Samsung Electronics Co., Ltd. | Processor chip and control methods thereof |
US11842265B2 (en) | 2019-08-13 | 2023-12-12 | Samsung Electronics Co., Ltd. | Processor chip and control methods thereof |
CN110796247A (zh) * | 2020-01-02 | 2020-02-14 | 深圳芯英科技有限公司 | 一种数据处理方法、装置、处理器及计算机可读存储介质 |
CN110796247B (zh) * | 2020-01-02 | 2020-05-19 | 深圳芯英科技有限公司 | 一种数据处理方法、装置、处理器及计算机可读存储介质 |
CN111191766A (zh) * | 2020-01-02 | 2020-05-22 | 深圳芯英科技有限公司 | 一种数据处理方法、装置、处理器及计算机可读存储介质 |
CN111191779A (zh) * | 2020-01-02 | 2020-05-22 | 深圳芯英科技有限公司 | 一种数据处理方法、装置、处理器及计算机可读存储介质 |
CN111191766B (zh) * | 2020-01-02 | 2023-05-16 | 中昊芯英(杭州)科技有限公司 | 一种数据处理方法、装置、处理器及计算机可读存储介质 |
CN111191779B (zh) * | 2020-01-02 | 2023-05-30 | 中昊芯英(杭州)科技有限公司 | 一种数据处理方法、装置、处理器及计算机可读存储介质 |
CN113705821A (zh) * | 2021-08-24 | 2021-11-26 | 山东浪潮科学研究院有限公司 | 一种基于pcie的adc板卡实现波形绘制的方法、设备及介质 |
CN113705821B (zh) * | 2021-08-24 | 2023-06-30 | 山东浪潮科学研究院有限公司 | 一种基于pcie的adc板卡实现波形绘制的方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111126581A (zh) | 2020-05-08 |
CN111126581B (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657788A (zh) | 数据处理方法、装置及相关产品 | |
US10853623B2 (en) | Method and apparatus for generating information | |
CN111950638B (zh) | 基于模型蒸馏的图像分类方法、装置和电子设备 | |
CN109492241B (zh) | 转换方法、装置、计算机设备和存储介质 | |
CN108898185A (zh) | 用于生成图像识别模型的方法和装置 | |
CN109191514A (zh) | 用于生成深度检测模型的方法和装置 | |
CN112990312A (zh) | 模型训练方法、图像识别方法、装置、设备及存储介质 | |
US10853722B2 (en) | Apparatus for executing LSTM neural network operation, and operational method | |
CN113313085B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN109871941A (zh) | 数据处理方法、装置及相关产品 | |
CN111476719A (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN111383232A (zh) | 抠图方法、装置、终端设备及计算机可读存储介质 | |
CN107590460A (zh) | 人脸分类方法、装置及智能终端 | |
CN115249315A (zh) | 面向异构计算设备的深度学习图像分类方法及装置 | |
CN106981099B (zh) | 用于操作三维动画角色的方法和装置 | |
CN112906806A (zh) | 一种基于神经网络的数据优化方法及装置 | |
CN113222170A (zh) | 一种用于物联网ai协同服务平台的智能算法和模型 | |
CN106484614A (zh) | 一种核对图片处理效果的方法、装置及移动终端 | |
CN108595211A (zh) | 用于输出数据的方法和装置 | |
CN115205736A (zh) | 视频数据的识别方法和装置、电子设备和存储介质 | |
CN112906554B (zh) | 基于视觉图像的模型训练优化方法、装置及相关设备 | |
US20220067495A1 (en) | Intelligent processor, data processing method and storage medium | |
CN111932438B (zh) | 图像风格迁移方法、设备及存储装置 | |
CN109241930A (zh) | 用于处理眉部图像的方法和装置 | |
CN117315758A (zh) | 面部表情的检测方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190419 |