CN115221105A - 数据处理装置、数据处理方法及相关产品 - Google Patents

数据处理装置、数据处理方法及相关产品 Download PDF

Info

Publication number
CN115221105A
CN115221105A CN202110482877.9A CN202110482877A CN115221105A CN 115221105 A CN115221105 A CN 115221105A CN 202110482877 A CN202110482877 A CN 202110482877A CN 115221105 A CN115221105 A CN 115221105A
Authority
CN
China
Prior art keywords
convolution
input data
data
processing
data elements
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
Application number
CN202110482877.9A
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cambrian Jixingge Nanjing Technology Co ltd
Original Assignee
Cambrian Jixingge Nanjing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cambrian Jixingge Nanjing Technology Co ltd filed Critical Cambrian Jixingge Nanjing Technology Co ltd
Priority to CN202110482877.9A priority Critical patent/CN115221105A/zh
Publication of CN115221105A publication Critical patent/CN115221105A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Complex Calculations (AREA)

Abstract

本披露公开了一种数据处理装置、数据处理方法及相关产品。该数据处理装置可以实现为计算装置包括在组合处理装置中,该组合处理装置还可以包括接口装置和其他处理装置。该计算装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与计算装置和其他处理装置连接,用于存储该计算装置和其他处理装置的数据。本披露的方案提供了稀疏数据的卷积处理方案,其可以简化处理,提高机器的处理效率。

Description

数据处理装置、数据处理方法及相关产品
技术领域
本披露一般地涉及数据处理领域。更具体地,本披露涉及数据处理装置、数据处理方法、芯片和板卡。
背景技术
近年来,在基于卷积神经网络的目标检测、实例分割和关键点检测中已经取得了巨大的进步。这些检测通常基于光达(LiDAR)数据或基于RGB-D数据,其可以应用于自动驾驶、机器人视觉等领域中。
不同于图像数据是密集的,LiDAR点云数据通常是稀疏的,并且由于诸如3D空间的不均匀采样、传感器的有效范围、遮挡和相对姿势等因素,点密度变化剧烈。因此,传统的适合于密集型数据的卷积神经网络在应用于这种稀疏型数据时,效率将变得非常低,尤其是涉及卷积运算时,会在零值数据点上浪费大量的算力等资源。
鉴于此,期望提供一种改进的卷积方案,以适合于诸如点云数据之类的稀疏型数据,从而提高处理效率。
发明内容
为了至少部分地解决背景技术中提到的一个或多个技术问题,本披露的方案提供了一种数据处理装置、数据处理方法、芯片和板卡。
在第一方面中,本披露公开一种数据处理装置,包括存储电路和处理电路,其中:所述存储电路配置用于存储信息,所述信息至少包括处理前和/或处理后的信息;所述处理电路配置用于访问所述存储电路并按如下对输入数据和卷积核执行第一卷积运算,其中所述输入数据是稀疏化数据,每个输入数据元素具有索引和数值:从所述输入数据元素中提取有效输出点所对应的有效数据元素,其中所述有效输出点表示其感受野中心存在输入数据元素的卷积输出点,所述有效数据元素为对所述有效输出点有贡献的输入数据元素;以及对所述有效数据元素与所述卷积核执行第二卷积运算,以得到各个有效输出点,作为所述第一卷积运算的运算结果。。
在第二方面中,本披露提供一种芯片,包括前述第一方面任一实施例的数据处理装置。
在第三方面中,本披露提供一种板卡,包括前述第二方面任一实施例的芯片。
在第四方面中,本披露提供一种使用前述第一方面任一实施例的数据处理装置来处理数据的方法。
通过如上所提供的数据处理装置、使用数据处理装置来处理数据的方法、芯片和板卡,本披露实施例提供了一种适合于稀疏型数据的卷积方案,其通过仅将输入数据元素中的有效数据元素与卷积核进行运算,可以极大节省运算量,提高处理效率。进一步地,在上述卷积运算中,将针对原始输入数据和卷积核的第一卷积运算转换成针对有效数据元素与卷积核的第二卷积运算,可以加速数据处理。此外,本披露实施例提供的稀疏卷积方案可以适用于多维卷积运算,包括但不限于二维卷积和三维卷积,由此可以适用于LiDAR点云数据的处理。
附图说明
通过参考附图阅读下文的详细描述,本披露示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本披露的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
图1示出本披露实施例的板卡的结构图;
图2示出本披露实施例的组合处理装置的结构图;
图3示出本披露实施例的单核或多核计算装置的处理器核的内部结构示意图;
图4示出常规卷积方案的运算原理;
图5示出采用常规卷积方案导致稀疏度降低的示例性图示;
图6示出根据本披露实施例的子流形稀疏卷积方案的示例性原理;
图7示出根据本披露实施例的子流形稀疏卷积方案的示例性运算过程;
图8示出根据本披露实施例的子流形稀疏卷积运算中采用相同填补后的示例性运算;
图9示出根据本披露实施例的高维稀疏输入数据的预处理的示意图;
图10示出本披露实施例的数据处理装置的结构示意图;以及
图11示出本披露实施例的数据处理方法的示例性流程图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。
下面结合附图来详细描述本披露的具体实施方式。
图1示出本披露实施例的一种板卡10的结构示意图。如图1所示,板卡10包括芯片101,其是一种系统级芯片(System on Chip,SoC),或称片上系统,集成有一个或多个组合处理装置,组合处理装置是一种人工智能运算单元,用以支持各类深度学习和机器学习算法,满足计算机视觉、语音、自然语言处理、数据挖掘等领域复杂场景下的智能处理需求。特别是深度学习技术大量应用在云端智能领域,云端智能应用的一个显著特点是输入数据量大,对平台的存储能力和计算能力有很高的要求,此实施例的板卡10适用在云端智能应用,具有庞大的片外存储、片上存储和强大的计算能力。
芯片101通过对外接口装置102与外部设备103相连接。外部设备103例如是服务器、计算机、摄像头、显示器、鼠标、键盘、网卡或wifi接口等。待处理的数据可以由外部设备103通过对外接口装置102传递至芯片101。芯片101的计算结果可以经由对外接口装置102传送回外部设备103。根据不同的应用场景,对外接口装置102可以具有不同的接口形式,例如PCIe接口等。
板卡10还包括用于存储数据的存储器件104,其包括一个或多个存储单元105。存储器件104通过总线与控制器件106和芯片101进行连接和数据传输。板卡10中的控制器件106配置用于对芯片101的状态进行调控。为此,在一个应用场景中,控制器件106可以包括单片机(Micro Controller Unit,MCU)。
图2是示出此实施例的芯片101中的组合处理装置的结构图。如图2中所示,组合处理装置20包括计算装置201、接口装置202、处理装置203和存储装置204。
计算装置201配置成执行用户指定的操作,主要实现为单核智能处理器或者多核智能处理器,用以执行深度学习或机器学习的计算,其可以通过接口装置202与处理装置203进行交互,以共同完成用户指定的操作。
接口装置202用于在计算装置201与处理装置203间传输数据和控制指令。例如,计算装置201可以经由接口装置202从处理装置203中获取输入数据,写入计算装置201片上的存储装置。进一步,计算装置201可以经由接口装置202从处理装置203中获取控制指令,写入计算装置201片上的控制缓存中。替代地或可选地,接口装置202也可以读取计算装置201的存储装置中的数据并传输给处理装置203。
处理装置203作为通用的处理装置,执行包括但不限于数据搬运、对计算装置201的开启和/或停止等基本控制。根据实现方式的不同,处理装置203可以是中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)或其他通用和/或专用处理器中的一种或多种类型的处理器,这些处理器包括但不限于数字信号处理器(digital signal processor,DSP)、专用集成电路(application specificintegrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本披露的计算装置201而言,其可以视为具有单核结构或者同构多核结构。然而,当将计算装置201和处理装置203整合共同考虑时,二者视为形成异构多核结构。
存储装置204用以存储待处理的数据,其可以是DRAM,为DDR内存,大小通常为16G或更大,用于保存计算装置201和/或处理装置203的数据。
图3示出了计算装置201为单核或多核装置时处理器核的内部结构示意图。计算装置301用以处理计算机视觉、语音、自然语言、数据挖掘等输入数据,计算装置301包括三大模块:控制模块31、运算模块32及存储模块33。
控制模块31用以协调并控制运算模块32和存储模块33的工作,以完成深度学习的任务,其包括取指单元(instruction fetch unit,IFU)311及指令译码单元(instructiondecode unit,IDU)312。取指单元311用以获取来自处理装置203的指令,指令译码单元312则将获取的指令进行译码,并将译码结果作为控制信息发送给运算模块32和存储模块33。
运算模块32包括向量运算单元321及矩阵运算单元322。向量运算单元321用以执行向量运算,可支持向量乘、加、非线性变换等复杂运算;矩阵运算单元322负责深度学习算法的核心计算,即矩阵乘及卷积。
存储模块33用来存储或搬运相关数据,包括神经元存储单元(neuron RAM,NRAM)331、参数存储单元(weight RAM,WRAM)332、直接内存访问模块(direct memory access,DMA)333。NRAM 331用以存储输入神经元、输出神经元和计算后的中间结果;WRAM 332则用以存储深度学习网络的卷积核,即权值;DMA 333通过总线34连接DRAM 204,负责计算装置301与DRAM 204间的数据搬运。
本披露的实施例基于前述硬件环境,提供一种数据处理装置,支持稀疏型数据的卷积操作。通过提供一种优化的卷积方案,可以简化并加速与诸如LiDAR点云数据一类的稀疏型数据相关的卷积处理。本披露实施例提供的稀疏卷积方案可以适用于多维卷积运算,包括但不限于二维卷积和三维卷积。为了简便起见和易于理解,在一些实施例中采用二维卷积作为示例进行阐述。
本披露实施例中所提到的“N维卷积”,其中N表示卷积运算中执行滑动累加的卷积维度数。例如,当N=2时,卷积核在两个维度(例如,宽度W和高度H)上根据对应的卷积步长进行平移累加。当N=3时,卷积核在三个维度(例如,宽度W、高度H和深度D)上根据对应的卷积步长进行平移累加。当N=4时,卷积核在四个维度(例如,宽度W、高度H、深度D和批次batch)上根据对应的卷积步长进行平移累加。在本披露实施例中所提到的“非卷积维度”,是指卷积核不在该维度上进行滑动累加的维度。
为了更清楚地理解本披露实施例的卷积方案,先以二维卷积为例描述常规卷积方案的运算原理。
图4示出了常规卷积方案的运算原理。在此示例中,卷积核410是致密的,为3×3的矩阵,卷积核中的数字为对应的权值数据。输入数据420为6×6的矩阵,其是稀疏的,仅具有四个非零数据:2、3、4和5,如深色方块所示。为了简便起见,在此示例性卷积过程中,两个维度的卷积步长均设为1,填补量为0,没有膨胀。图中3×3大小的灰色方块代表卷积核在输入数据上的滑动累加过程。430示出了卷积开始时的计算,440示出了向右滑动一步的计算,450示出了向下滑动一步的计算。在每步计算中,卷积核的权值数据与输入数据对位相乘并累加。460为作为输出数据的最终计算结果。输出数据为4×4大小的矩阵。可以看出,430的计算对应于输出数据中坐标(1,1)处的数据,440的计算对应于输出数据中坐标(1,2)处的数据,而450的计算对应于输出数据中坐标(2,1)处的数据。
从图4的描述可以看出,稀疏卷积运算的最终结果只与非零输入数据元素的运算结果有关,因此,可以仅针对这些非零输入数据元素,执行与卷积核的乘加运算。进一步地,对比图4的输入数据420和输出数据460可以看出,这种稀疏卷积运算后的运算结果的稀疏度相比于原始输入数据的稀疏度有所降低,也即非稀疏点增多。具体地,输入数据420中仅4个非稀疏点,而输出数据460中存在13个非稀疏点。当在卷积网络中,随着卷积层的增多,这种稀疏卷积运算的结果会发散,稀疏度会很快消失。
图5示出了采用常规卷积方案导致稀疏度降低的示例性图示。图5中左图(a)示出原始稀疏输入,其为一个手画的圆形,是嵌入在二维网格上的一维曲线。图5的中间图(b)示出经过一次3×3常规卷积之后的结果,图5的右图(c)示出经过两次3×3常规卷积之后的结果。从图中可以看出,原始数据的稀疏度非常高,但是经过常规卷积方案之后,稀疏度很快就消失了。
鉴于此,有文献提出了一种子流形(submanifold)稀疏卷积方案,在该方案中,只有卷积核正中心对应的位置存在非零输入数据元素时,对应的输出结果才有效,否则一律按照结果为零处理。在这种稀疏卷积方案下,输入和输出的稀疏度可以保持一致。本披露实施例提供了实现这种稀疏卷积方案的数据处理装置及相关的数据处理方法。
图6示出了根据本披露实施例的子流形稀疏卷积方案的示例性原理。图6仍然以图4的数据为例来描述本披露实施的子流形稀疏卷积运算方案。
如图6所示,仅针对卷积核正中心对应的位置存在非零输入数据元素的情况进行计算。图中示出了输入数据中的四个非零数据元素分别位于卷积核正中心时所对应的运算610、620、630和640。610和640的运算结果已经溢出卷积结果范围,属于无效结果。620的运算结果对应于输出数据650中的(2,2)位置,630的运算结果对应于输出数据650中的(2,3)位置。
从上面的示例性原理图可以看出,在基于子流形稀疏卷积原理的运算中,只需要计算卷积核正中心对应的位置存在非零输入数据元素时的对位乘加运算,由此相比于常规卷积运算,其计算量大大地降低。进一步地,由于输出结果中的有效输出点与输入数据元素中的非稀疏点(也即非零输入数据元素)相对应,因此有效输出点的数量不超过输入数据元素中的非稀疏点的数量,从而输入结果相比于输入结果的稀疏度不会降低。
在本文描述中,本披露实施例中所提到的“卷积输出点”,是指卷积运算结果中的每个输出结果点,例如,图6的输出结果650中包括16个卷积输出点。每个卷积输出点具有对应的感受野,感受野的形状等于卷积核的形状,例如图6中的3×3的灰色方框。
本披露实施例中所提到的“有效输出点”,是指其感受野中心存在输入数据元素的卷积输出点。例如,图6的输出结果650中包括2个有效输出点,(2,2)位置处的有效输出点的感受野对应于620中的灰色方框,其中心存在输入数据元素3;(2,3)位置处的有效输出点的感受野对应于630中的灰色方框,其中心存在输入数据元素4。
从图中还可以看出,当有效输出点的感受野非中心位置处还存在其他输入数据元素时,这些输入数据元素也对有效输出点的结果有贡献。在本披露实施例中,将这种对有效输出点有贡献的输入数据元素称为“有效数据元素”。例如,对于有效输出点(2,2),其有效数据元素包括位于感受野中心的3以及位于感受野非中心位置处的4。类似地,对于有效输出点(2,3),其有效数据元素包括位于感受野中心的4以及位于感受野非中心位置处的3。
此外,从上述定义也可以看出,有效数据元素是相对于有效输出点而言的,一个有效输出点可以包括一个或多个有效数据元素,一个有效数据元素可以对一个或多个有效输出点有贡献。
从图6的运算原理可以看出,输入数据元素3和4位于感受野的非中心点时,仍然对相应的卷积输出点有贡献。因此,在本披露实施例的卷积运算方案中,可以首先从输入数据元素中提取有效输出点所对应的有效数据元素,然后将这些有效数据元素与卷积核执行卷积运算,从而得到对应的有效输出点。
图7示出了根据本披露实施例的子流形稀疏卷积方案的示例性运算过程。仍然以图4的数据为例。类似于图6,图中710、720、730和740分别对应于输入数据中的四个非零数据元素位于卷积核正中心时所对应的运算。710和740的运算结果已经溢出卷积结果范围,属于无效结果。720和730的运算结果是有效的,分别对应于一个有效输出点,例如分别对应输出结果中的坐标点(2,2)和(2,3)。
在本披露实施例的稀疏卷积运算过程中,卷积核是致密的,其输入格式可以与常规卷积相同;而输入数据是稀疏的,其输入格式可以不同于常规卷积的输入数据,由此节省存储空间。在一些实施例中,输入数据是稀疏化数据,每个输入数据元素具有索引和数值信息,其可以表示为(index,value)。取决于不同的应用、数据类型或规模,此处的索引可以是一维、二维或更多维,本披露在此方面没有限制。不同维度的索引可以相互进行转换,例如按照预定遍历规则,将二维或更多维的索引转换成一维索引,反之亦然。同样地,取决于不同的应用、数据类型或规模,此处的数值信息可以包括标量、向量、或更高维数据。
以图7中的示例为例,输入数据具有四个非稀疏的点,分别是((1,4),2)、((3,3),3)、((3,4),4)和((5,6),5)。对于第一个非稀疏点,此处(1,4)表示二维的索引坐标,2代表索引所指向位置的具体数值,此示例中为标量;其余非稀疏点的含义类似。
在一些实施例中,针对每个有效输出点,可以从输入数据元素中提取对应的有效数据元素。如前面所解释的,有效输出点表示其感受野中心存在输入数据元素的卷积输出点,而有效数据元素是对有效输出点有贡献的输入数据元素。
具体地,在一些实施例中,可以通过扫描每个输入数据元素来提取关联的有效输出点所对应的有效数据元素。
如图7所示,可以依次扫描每个输入数据元素。例如,可以首先扫描输入数据点2。根据前面的描述,输入数据点2可以表示为索引和数值的形式:((1,4),2)。
接着,确定该输入数据元素是否位于任一卷积输出点的感受野的中心点。换言之,可以确定以该输入数据元素为卷积核中心的运算结果是否落入卷积运算结果的范围内,或者说,可以确定是否存在与该输入数据元素关联的有效输出点。如果否,则说明其运算结果溢出了卷积结果范围,属于无效卷积,可以继续扫描下一输入数据元素。如果是,则其对应的卷积输出点为有效输出点,接着可以提取该有效输出点对应的有效数据元素。
在实际实现中,虽然输入数据是稀疏的,但其输入格式可以是致密的,例如前面提到的索引和数值组合的输入格式。因此,可以根据输入数据元素的索引来确定其是否位于卷积输出点的感受野的中心点。
可以采取多种方式来确定输入数据元素是否位于任一卷积输出点的感受野的中心点。
在一些实施例中,可以确定卷积运算的所有卷积输出点的感受野中心点位置,然后将输入数据元素的索引与感受野中心点位置进行比较,以确定输入数据元素是否位于任一卷积输出点的感受野的中心点。
可以理解,在输入数据形状、卷积核形状以及卷积步长已知的情况下,可以确定卷积运算的所有卷积输出点的位置。例如,图7的卷积运算结果与图6的相同,输出结果的形状都是4×4,包括16个卷积输出点。每个卷积输出点具有对应的感受野,感受野的形状等于卷积核的形状。相应地,也可以确定所有卷积输出点的感受野的中心点位置。
在一些实现中,感受野的中心点位置可以在与输入数据元素相同的坐标系中进行表征,由此可以通过比较二者的坐标或索引,来确定输入数据元素是否位于卷积输出点的感受野的中心点。
例如,在图7示例中,用4×4的虚线框示出了16个卷积输出点的感受野的中心点。通过比较输入数据元素的索引与感受野中心点的索引,可以看出,输入数据点2和5不位于任一感受野的中心点,输入数据点3和4则分别落入某一卷积输出点的感受野中心。
在另一些实施例中,可以基于输入数据元素的索引,确定以该输入数据元素为感受野中心点的感受野是否超出了输入数据的形状范围,由此来确定该输入数据元素是否位于任一卷积输出点的感受野的中心点。
例如,从图中710可以看出,以输入数据点2为感受野中心的感受野已经超出了输入数据的形状范围,也即其对应的运算结果溢出了卷积结果范围,因此可以确定输入数据点2不位于任一卷积输出点的感受野的中心点,也即输入数据点2不存在关联的有效输出点。
接着,响应于确定输入数据元素位于某一卷积输出点的感受野中心点,提取该卷积输出点(此时为有效输出点)的感受野内的输入数据元素作为其对应的有效数据元素。同样地,基于输入数据元素的索引来判断其是否落入当前确定的感受野范围内,从而进行相应的提取。
在一些实施例中,可以进一步基于提取的有效数据元素,生成这些有效数据元素在对应有效输出点的感受野内的稀疏化形式。
例如,在扫描到输入数据元素3时,可以确定其位于卷积输出点(2,2)的感受野中心,此时提取该卷积输出点(2,2)的感受野内的所有输入数据元素,作为其对应的有效数据元素。从图中的720可以看出,卷积输出点(2,2)对应的有效数据元素包括输入数据元素3和4。将输入数据元素3和4在卷积输出点(2,2)的感受野内表示为稀疏化形式,其为3×3的稀疏矩阵,如图751所示。
类似地,在扫描到输入数据元素4时,可以确定其位于卷积输出点(2,3)的感受野中心。从图中的730可以看出,卷积输出点(2,3)对应的有效数据元素包括输入数据元素3和4。将输入数据元素3和4在卷积输出点(2,3)的感受野内表示为稀疏化形式,其为3×3的稀疏矩阵,如图752所示。
最后,可以针对提取的有效数据元素与卷积核执行卷积运算,从而得到对应的各个有效输出点,作为最终运算结果。为了与原始的卷积运算相区分,此处将原始的卷积运算称为“第一卷积运算”,将提取的有效数据元素与卷积核的卷积运算称为“第二卷积运算”。可以理解,第一卷积运算是指基于子流形稀疏卷积原理,针对输入数据元素与卷积核的卷积运算,其具有第一卷积步长,例如在图7示例中stride1=1。第二卷积运算是指提取的有效数据元素与卷积核之间的常规卷积运算,其具有第二卷积步长。从图7的分析可以看出,由于有效数据元素是根据第一卷积运算的卷积核形状提取并平铺为稀疏化形式的,因此第二卷积运算可以视为使用卷积核,对稀疏化形式的有效数据元素进行第二卷积步长的卷积操作。第二卷积步长等于卷积核的形状,在上述示例中stride2=3。
每一步卷积的输出对应于一个有效输出点。例如,在图7中,对稀疏化的有效数据751的第二卷积运算的结果对应有效输出点(2,2);对稀疏化的有效数据752的第二卷积运算的结果对应有效输出点(2,3)。
从上述描述可以看出,本披露实施例提供了一种子流形稀疏卷积运算的实现方案,该方案通过将基于子流形稀疏卷积原理的第一卷积运算转换为有效数据元素与卷积核之间的第二卷积运算,可以简化操作,提高处理效率。
在一些实施例中,卷积运算存在填补(padding)操作。例如,在基于LiDAR数据的目标检测算法中,需要进行相同填补(same padding),也即通过填补,使得输入数据的形状与卷积运算后输出数据的形状相同。可以理解,在其他卷积运算的应用场景中,可能存在不同的填补规则。
图8示出了根据本披露实施例的子流形稀疏卷积运算中采用相同填补后的示例性运算。
如图所示,原始输入数据的形状为6×6的矩阵。卷积运算的卷积核为3×3的矩阵,卷积步长为1。为了使得输出数据的形状与原始输入数据的形状相同,需要对输入数据进行填补。如820所示,6×6矩阵周围的一圈白色方块代表填补区域,也即上、下、左、右各增加一行/列数据,从而构成8×8的矩阵,填补数据例如可以是零。填补后的输入数据820与卷积核810执行子流形稀疏卷积后,得到输出数据830,也是6×6的矩阵。
从图中可以看出,输出数据830的有效输出点(深色方块)与输入数据820的非零数据元素点(深色方块)一一对应,由此不会降低输入数据的稀疏度。
由于卷积输出点会随填补操作而改变,因此,在这种实施例中,可以在确定输入数据元素是否位于卷积输出点的感受野中心点之前,根据第一卷积运算的填补规则,至少调整感受野中心的索引。
例如,在图8所示相同填补的情况下,感受野中心点总体上与原始输入数据的形状相对应,因此其索引范围也对应于原始输入数据的形状范围。在这种实施例中,可以确定所有输入数据元素均会分别落入某一卷积输出点的感受野中心点,因此只需要针对每个输入数据元素关联的卷积输出点提取对应的有效数据元素即可。
本领域技术人员可以理解,索引调整处理可以在确定输入数据元素是否落入感受野中心点的任何阶段进行,只需能够考虑到填补规则带来的影响即可,本披露实施例在此方面没有限制。
在一些实施例中,在扫描输入数据元素之前,可以基于输入数据元素的索引对输入数据元素进行排序。例如,按照索引从小到大的顺序,排列各个输入数据元素。由此,前述扫描过程也可以按照输入数据元素的排列顺序来依次扫描各个输入数据元素。
由于输入数据元素是按其索引有序排列的,而基于子流形稀疏卷积的原理,输入数据元素与卷积输出点是一一对应的。例如,在相同填充的情况下,每个输入数据元素对应一个有效输出点。因此,在一些实施例中,可以按顺序依次扫描每个输入数据元素,提取关联的有效输出点的有效数据元素,对应做上述第二卷积运算,由此就可以按顺序得到有效输出点。可以理解,有效输出点的索引与其感受野中心的输入数据元素的索引相关联,可以根据索引映射关系来确定。上述扫描、提取、运算和输出过程可以满足加载-计算-回存(LCS)的流水顺序,从而加速处理过程。
此外,如前面所提到的,本披露实施例提供的稀疏卷积方案可以适用于多维卷积运算,包括但不限于二维卷积和三维卷积。
待卷积处理的输入数据可以包括多维数据,并且其在多个维度上是稀疏的。例如,在基于LiDAR数据的目标检测中,输入数据是三维空间内的检测数据,其例如表征每个三维空间坐标点的灰度值、RGB、信号强度等,因此根据其要表征的信息内容,每个坐标点处的输入数据元素可以是一维、二维、三维或更高维数据。由于点云数据的特性,具有非零值数据元素的坐标点是稀疏的,也即其在三个空间维度(例如,宽度W、高度H和深度D)上是稀疏的。
取决于输入数据的初始状态,可以在将稀疏的输入数据提供给处理电路进行处理之前进行预处理。在一些实施例中,这种预处理例如可以包括:将稀疏的多个维度合并成一个维度;将输入数据中的稀疏数据点在合并的维度上致密化以形成输入数据元素;以及使用索引和数值信息来表示每个输入数据元素。索引可以是一维或多维索引,并且数值信息可以包括标量、向量或更高维数据中任一。
在一个示例中,例如参考图4,输入数据是二维的6×6矩阵,其在宽度W和高度H两个维度上是稀疏的。在进行预处理时,将W和H合并成一个维度,将稀疏数据点(此示例中为2、3、4和5)在合并后的维度上进行致密化,从而形成四个致密的输入数据元素。接着,使用索引和数值信息来表示每个输入数据元素。数据元素的索引可以表示其在致密化前、稀疏形式的输入数据中的位置关系。例如,图4示例中的四个输入数据元素的索引分别为:(1,4)、(3,3)、(3,4)和(5,6)。此示例中的索引为二维索引,其也可以转换为一维索引,例如分别为4、15、16和29。这四个数据元素的数值信息分别为2、3、4和5,也即四个标量。
在另一示例中,例如参考图9,其示出了根据本披露实施例的高维稀疏输入数据的预处理的示意图。如图所示,稀疏形式的输入数据910包括五个维度,批次batch(B)维度、HWD三维空间维度和输入通道Ci维度。输入数据在B维度和HWD三维空间是稀疏的,图中HWD立体矩阵中的深色方块代表有数值的地方,其他部分全部为零值。B维度上存在多个这种HWD立体矩阵,每个立体矩阵上的稀疏样式(也即深色方块的位置)可以不同。输入数据在Ci维度是致密的,Ci维度是最低维度。由于附图表现能力有限,图中610仅示出了四个维度,但是Ci维度可以理解为每个深色方块的厚度。Ci维度的大小是统一的,也即每个深色方块的厚度是一样。在预处理过程中,可以将输入数据的四个稀疏维度(B维度和HWD三维空间维度)合并成一个维度Ni,将稀疏数据点(图中的深色方块)在合并后的维度上进行致密化,从而形成致密的输入数据元素。也即,B维度上的每个HWD立体矩阵都执行同样的维度合并和致密化处理,从而得到预处理后的致密形式的输入数据920,其为二维矩阵,低维是Ci,高维是BHWD的合并维度Ni。
接着,使用索引和数值信息来表示每个致密化的输入数据元素。图9示例中的输入数据元素的索引可以使用其在致密化前的BHWD四维空间中的坐标来表示,也可以将其转换为一维索引。每个输入数据元素的数值信息可以看成是一个Ci向量。
经过上述预处理后的输入数据可以提供给处理电路进行后续处理。
上面从多个方面描述了本披露实施例的稀疏型数据的卷积运算方案。相比于常规的卷积方案,本披露实施例的卷积运算方案基于子流形稀疏卷积的运算原理,避免了稀疏度降低的问题,也减少了运算量。进一步地,通过将基于子流形稀疏卷积的第一卷积运算转换为有效数据元素与卷积核的第二卷积运算,提供了一种实现子流形稀疏卷积运算的创新的、适合于数据处理装置执行的方案。在一些实现中,通过将卷积运算分解为提取有效数据元素、乘加运算和输出等步骤,可以通过LCS流水来实施,这尤其适合于前面结合附图描述的本披露实施例的硬件环境,充分利用并行处理的高效性。此外,本披露实施例提供的稀疏卷积方案尤其可以适用于基于LiDAR点云数据的处理。
本披露实施例还提供了用于执行上述稀疏型数据的卷积运算的数据处理装置,以及由该数据处理装置实施的数据处理方法。
图10示例性示出了可以实施本披露实施例的数据处理装置的示意性结构图。如图10所示,数据处理装置1000包括处理电路1010以及存储电路1020。
处理电路1010负责处理数据处理装置1000上的各种功能,包括但不限于控制、取指、译码、运算等。处理电路1010例如可以包括图3中的控制模块31和/或运算模块32。
在一些实施例中,处理电路1010可以配置用于访问存储电路1020并对输入数据和卷积核执行第一卷积运算。第一卷积运算是基于子流形稀疏卷积原理的卷积运算,其中输入数据是稀疏化数据,每个输入数据元素具有索引和数值信息。
在一些实施例中,处理电路1010可以配置用于按如下执行第一卷积运算:从输入数据元素中提取有效输出点所对应的有效数据元素,其中有效输出点表示其感受野中心存在输入数据元素的卷积输出点,而有效数据元素为对有效输出点有贡献的输入数据元素;以及对有效数据元素与卷积核执行第二卷积运算,以得到各个有效输出点,作为第一卷积运算的运算结果。
进一步地,在一些实施例中,处理电路1010可以配置用于按如下提取有效数据元素:依次扫描每个输入数据元素;在扫描期间,确定输入数据元素是否位于任一卷积输出点的感受野的中心点;以及响应于确定输入数据元素位于一个卷积输出点的感受野的中心点,提取卷积输出点的感受野内的输入数据元素作为该卷积输出点的有效数据元素。
进一步地,在一些实施例中,处理电路1010可以配置用于在扫描输入数据元素之前,将输入数据元素按照其索引大小进行排序。从而,可以按照例如索引从小到大的顺序,依次扫描各个输入数据元素,并相应提取关联的有效输出点的有效数据元素以进行第二卷积运算,得到相应的有效输出点。这种顺序处理的方式可以按照LCS流水线的方式在本披露实施例的硬件环境下实施,从而提高处理效率。
在一些实施例中,处理电路1010可以配置用于按如下来确定输入数据元素是否位于任一卷积输出点的感受野的中心点:基于第一卷积运算的输入数据形状、卷积核形状和第一卷积步长,确定所有卷积输出点的感受野中心点的索引;比较输入数据元素的索引与感受野中心点的索引;以及响应于输入数据元素的索引与一个感受野中心点的索引相同,确定输入数据元素位于卷积输出点的感受野的中心点。
可选地或附加地,在一些实施例中,当第一卷积运算具有相应的填补规则时,可以根据该填补规则,至少调整感受野中心点的索引。
在一些实施例中,处理电路1010可以进一步配置用于根据提取的有效数据元素,生成有效数据元素在关联的卷积输出点的感受野内的稀疏化形式。在这种实施例中,后续的第二卷积运算处理可以针对稀疏化形式的有效数据元素来执行,从而简化处理过程,只需当做常规卷积处理即可。
具体地,在这些实施例中,处理电路1010可以进一步配置用于按如下对有效数据元素与卷积核执行第二卷积运算:基于卷积核的形状,确定第二卷积运算的第二卷积步长;利用卷积核,根据第二卷积步长,对稀疏化形式的有效数据元素执行第二卷积运算,得到运算结果。在一些实施例中,第二卷积运算的第二卷积步长等于卷积核的大小。这种第二卷积运算的卷积输出点与前面提到的有效输出点一一对应,并且其索引与其感受野中心的输入数据元素的索引相关联。
在一些实施例中,输入数据包括多维数据,其在多个维度上是稀疏的。在这些实施例中,输入数据在提供给处理电路之前是经过预处理的。这种预处理例如可以包括:将稀疏的多个维度合并成一个维度;将输入数据中的稀疏数据点在合并的维度上致密化以形成输入数据元素;以及使用索引和数值信息来表示每个输入数据元素,其中索引为一维或多维索引,并且数值信息包括标量、向量或更高维数据中任一。
存储电路1020可以用于存储信息或搬运相关数据,这些信息至少包括处理前和/或处理后的信息,也可以包括处理期间需要缓存的中间信息,其例如可以是图3所示的各种RAM,或称片上缓存。在一些实施例中,存储电路1020可以配置用于存储输入数据、卷积核、卷积运算结果和/或缓存可能的中间结果。
图11示出了根据本披露实施例的由数据处理装置实施的数据处理方法的示例性流程图。在此数据处理方法中,处理电路访问存储电路以对输入数据和卷积核执行第一卷积运算处理,其中输入数据是稀疏化数据,每个输入数据元素具有索引和数值信息。
更具体地,在步骤1110中,处理电路从输入数据元素中提取有效输出点所对应的有效数据元素,其中有效输出点表示其感受野中心存在输入数据元素的卷积输出点,有效数据元素为对有效输出点有贡献的输入数据元素。
接着,在步骤1120中,对有效数据元素与卷积核执行第二卷积运算,以得到各个有效输出点,作为第一卷积运算的运算结果。
尽管在上面的描述中,将提取有效数据元素与执行第二卷积运算的步骤分开并按先后顺序描述,但是本领域技术人员可以理解,当采用流水线执行时,这两个步骤也可以同时执行,本披露实施例在此方面没有限制。此外,尽管在上面的描述中,将提取有效数据元素和执行第二卷积运算的步骤描述为均由处理电路来执行,本领域技术人员可以理解,提取有效数据元素的步骤可以通过处理电路中的控制模块来执行,例如通过程序软件来执行,而执行第二卷积运算的步骤可以通过处理电路中的运算模块来执行,例如通过乘加电路等硬件来执行,本披露实施例在此方面没有限制。进一步地,尽管在上面的描述中,将各个处理步骤概括地描述成在处理电路上执行,此处的处理电路也可以是分布式的,例如包含异构系统中的处理电路,从而一部分运算例如在CPU上执行,另一部分运算例如在GPU上执行。在一个实现中,输入数据的预处理例如可以在CPU上执行,这些预处理例如可以包括稀疏形式的输入数据的致密化,致密化后的数据元素的索引排序,等等。有效数据元素的提取、与卷积核的第二卷积运算等处理可以在GPU上执行,由此充分发挥异构系统的优势。
本领域技术人员可以理解,前面结合附图描述的本披露实施例的与稀疏型数据的卷积运算处理的描述可以同样应用于图10的数据处理装置和图11的数据处理方法,因此不再进行重复描述。
本披露还提供了一种芯片,其可以包括前面结合附图描述的任一实施例的数据处理装置。进一步地,本披露还提供了一种板卡,该板卡可以包括前述芯片。
根据不同的应用场景,本披露的电子设备或装置可以包括服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、PC设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。本披露的电子设备或装置还可以被应用于互联网、物联网、数据中心、能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医疗等领域。进一步,本披露的电子设备或装置还可以用于云端、边缘端、终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实施例中,根据本披露方案的算力高的电子设备或装置可以应用于云端设备(例如云端服务器),而功耗小的电子设备或装置可以应用于终端设备和/或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一体或云边端一体的统一管理、调度和协同工作。
需要说明的是,为了简明的目的,本披露将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本披露的方案并不受所描述的动作的顺序限制。因此,依据本披露的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本披露所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本披露某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本披露对一些实施例的描述也各有侧重。鉴于此,本领域技术人员可以理解本披露某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
在具体实现方面,基于本披露的公开和教导,本领域技术人员可以理解本披露所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行拆分,而实际实现时也可以有另外的拆分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。
在本披露中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本披露实施例所述方案的目的。另外,在一些场景中,本披露实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
在另外一些实现场景中,上述集成的单元也可以采用硬件的形式实现,即为具体的硬件电路,其可以包括数字电路和/或模拟电路等。电路的硬件结构的物理实现可以包括但不限于物理器件,而物理器件可以包括但不限于晶体管或忆阻器等器件。鉴于此,本文所述的各类装置(例如计算装置或其他处理装置)可以通过适当的硬件处理器来实现,例如中央处理器、GPU、FPGA、DSP和ASIC等。进一步,前述的所述存储单元或存储装置可以是任意适当的存储介质(包括磁存储介质或磁光存储介质等),其例如可以是可变电阻式存储器(Resistive Random Access Memory,RRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、增强动态随机存取存储器(Enhanced Dynamic Random Access Memory,EDRAM)、高带宽存储器(High Bandwidth Memory,HBM)、混合存储器立方体(Hybrid Memory Cube,HMC)、ROM和RAM等。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本披露的方法及其核心思想;同时,对于本领域的一般技术人员,依据本披露的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本披露的限制。

Claims (13)

1.一种数据处理装置,包括存储电路和处理电路,其中:
所述存储电路配置用于存储信息,所述信息至少包括处理前和/或处理后的信息;
所述处理电路配置用于访问所述存储电路并按如下对输入数据和卷积核执行第一卷积运算,其中所述输入数据是稀疏化数据,每个输入数据元素具有索引和数值:
从所述输入数据元素中提取有效输出点所对应的有效数据元素,其中所述有效输出点表示其感受野中心存在输入数据元素的卷积输出点,所述有效数据元素为对所述有效输出点有贡献的输入数据元素;以及
对所述有效数据元素与所述卷积核执行第二卷积运算,以得到各个有效输出点,作为所述第一卷积运算的运算结果。
2.根据权利要求1所述的数据处理装置,其中所述处理电路进一步配置用于按如下提取有效数据元素:
依次扫描每个所述输入数据元素;
在扫描期间,确定所述输入数据元素是否位于任一卷积输出点的感受野的中心点;以及
响应于确定所述输入数据元素位于一个卷积输出点的感受野的中心点,提取所述卷积输出点的感受野内的输入数据元素作为所述卷积输出点的有效数据元素。
3.根据权利要求2所述的数据处理装置,其中所述处理电路进一步配置用于:
在扫描所述输入数据元素之前,将所述输入数据元素按照其索引大小进行排序。
4.根据权利要求2-3任一所述的数据处理装置,其中所述处理电路进一步配置用于按如下确定所述输入数据元素是否位于任一卷积输出点的感受野的中心点:
基于所述第一卷积运算的输入数据形状、卷积核形状和第一卷积步长,确定所有卷积输出点的感受野中心点的索引;
比较所述输入数据元素的索引与所述感受野中心点的索引;以及
响应于所述输入数据元素的索引与一个感受野中心点的索引相同,确定所述输入数据元素位于卷积输出点的感受野的中心点。
5.根据权利要求4所述的数据处理装置,其中所述处理电路进一步配置用于:
进一步根据所述第一卷积运算的填补规则,调整所述感受野中心点的索引。
6.根据权利要求2-5任一所述的数据处理装置,其中所述处理电路进一步配置用于:
根据提取的所述有效数据元素,生成所述有效数据元素在关联的卷积输出点的感受野内的稀疏化形式。
7.根据权利要求6所述的数据处理装置,其中所述处理电路进一步配置用于按如下对所述有效数据元素与所述卷积核执行第二卷积运算:
基于所述卷积核的形状,确定所述第二卷积运算的第二卷积步长;
利用所述卷积核,根据所述第二卷积步长,对所述稀疏化形式的有效数据元素执行所述第二卷积运算,得到所述运算结果。
8.根据权利要求1-7任一所述的数据处理装置,其中所述第二卷积运算的第二卷积步长等于所述卷积核的大小。
9.根据权利要求1-8任一所述的数据处理装置,其中所述第二卷积运算的卷积输出点与所述有效输出点一一对应,并且其索引与其感受野中心的输入数据元素的索引相关联。
10.根据权利要求1-9任一所述的数据处理装置,其中所述输入数据包括多维数据,其在多个维度上是稀疏的,并且所述输入数据在提供给所述处理电路之前是经过预处理的,所述预处理包括:
将稀疏的多个维度合并成一个维度;
将所述输入数据中的稀疏数据点在合并的维度上致密化以形成输入数据元素;以及
使用索引和数值信息来表示每个输入数据元素,所述索引为一维或多维索引,并且所述数值信息包括标量、向量或更高维数据中任一。
11.一种芯片,包括根据权利要求1-10任一所述的数据处理装置。
12.一种板卡,包括根据权利要求11所述的芯片。
13.一种使用根据权利要求1-10任一所述的数据处理装置来处理数据的方法。
CN202110482877.9A 2021-04-30 2021-04-30 数据处理装置、数据处理方法及相关产品 Pending CN115221105A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110482877.9A CN115221105A (zh) 2021-04-30 2021-04-30 数据处理装置、数据处理方法及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110482877.9A CN115221105A (zh) 2021-04-30 2021-04-30 数据处理装置、数据处理方法及相关产品

Publications (1)

Publication Number Publication Date
CN115221105A true CN115221105A (zh) 2022-10-21

Family

ID=83606428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110482877.9A Pending CN115221105A (zh) 2021-04-30 2021-04-30 数据处理装置、数据处理方法及相关产品

Country Status (1)

Country Link
CN (1) CN115221105A (zh)

Similar Documents

Publication Publication Date Title
CN107832804A (zh) 一种信息处理方法及相关产品
CN113326930B (zh) 数据处理方法、神经网络的训练方法及相关装置、设备
CN111242844B (zh) 图像处理方法、装置、服务器和存储介质
WO2021051987A1 (zh) 神经网络模型训练的方法和装置
WO2023123919A1 (zh) 数据处理电路、数据处理方法及相关产品
CN113065997B (zh) 一种图像处理方法、神经网络的训练方法以及相关设备
CN112416433A (zh) 一种数据处理装置、数据处理方法及相关产品
US20230143985A1 (en) Data feature extraction method and related apparatus
WO2023045446A1 (zh) 计算装置、数据处理方法及相关产品
CN112799599A (zh) 一种数据存储方法、计算核、芯片和电子设备
CN112465122A (zh) 优化神经网络模型中原始维度算子的装置和方法
CN109740729B (zh) 运算方法、装置及相关产品
US20240104822A1 (en) Multicore system for neural rendering
CN113469333B (zh) 执行神经网络模型的人工智能处理器、方法及相关产品
CN115221105A (zh) 数据处理装置、数据处理方法及相关产品
CN113112009B (zh) 用于神经网络数据量化的方法、装置和计算机可读存储介质
CN114677549A (zh) 规约多维向量的方法、电子设备以及存储介质
CN111125627A (zh) 用于池化多维矩阵的方法及相关产品
CN111784557A (zh) 一种处理图像数据的方法、装置、板卡及可读存储介质
CN115221106A (zh) 数据处理电路、数据处理方法及相关产品
WO2022257980A1 (zh) 计算装置、利用计算装置实施卷积运算的方法及相关产品
CN113792867B (zh) 运算电路、芯片和板卡
CN113469365B (zh) 基于神经网络模型的推理和编译方法及其相关产品
CN113033787A (zh) 一种量化神经网络矩阵的方法、设备、计算机产品及板卡
CN113111997B (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