CN109993274B - 人工智能计算装置及相关产品 - Google Patents

人工智能计算装置及相关产品 Download PDF

Info

Publication number
CN109993274B
CN109993274B CN201711484228.2A CN201711484228A CN109993274B CN 109993274 B CN109993274 B CN 109993274B CN 201711484228 A CN201711484228 A CN 201711484228A CN 109993274 B CN109993274 B CN 109993274B
Authority
CN
China
Prior art keywords
data
module
command
reading
expansion
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.)
Active
Application number
CN201711484228.2A
Other languages
English (en)
Other versions
CN109993274A (zh
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.)
Shenzhen Intellifusion Technologies Co Ltd
Original Assignee
Shenzhen Intellifusion Technologies 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 Shenzhen Intellifusion Technologies Co Ltd filed Critical Shenzhen Intellifusion Technologies Co Ltd
Priority to CN201711484228.2A priority Critical patent/CN109993274B/zh
Priority to PCT/CN2018/079374 priority patent/WO2019127927A1/zh
Priority to US16/627,767 priority patent/US11010661B2/en
Publication of CN109993274A publication Critical patent/CN109993274A/zh
Application granted granted Critical
Publication of CN109993274B publication Critical patent/CN109993274B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Mathematics (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)

Abstract

本公开提供一种人工智能计算装置及相关产品,神经网络芯片包括:存储器、数据读取电路和卷积计算电路,其中,所述存储器,用于存储特征图;所述数据读取电路,用于从所述存储器内读取特征图,并根据配置信息对所述特征图执行膨胀插零操作后,发送给卷积计算电路;所述卷积计算电路,用于对该膨胀插零操作后的数据执行卷积计算以完成反卷积操作。本申请提供的技术方案具有节省内存用量以及带宽的优点。

Description

人工智能计算装置及相关产品
技术领域
本申请涉及人工智能技术领域,具体涉及一种人工智能计算装置及相关产品。
背景技术
当今,人工智能技术不断的发展并应用在了越来越多的领域。传统的使用软件来实现人工智能算法的方式在一些高要求的场景下已经无法满足用户需求。因此必须使用特定的硬件对人工智能(AI)算法进行实现以及加速。这样就要求硬件能够尽可能多的支持AI算法的一些基本操作,这些基本的操作中有一类叫做反卷积de-convolution。
反卷积操作要求对特征图(feature map)按照特定的规律进行插0膨胀。传统的使用软件方式进行膨胀的方案效率太低,而且膨胀之后的数据需要存回内存,这样也会占用大量的存储空间,同时对***带宽也会有不小的压力。
申请内容
本申请实施例提供了一种人工智能计算装置及相关产品,对特征图进行插0膨胀,并在膨胀之后,直接送往对应的卷积运算单元进行计算。此方案大大提高了反卷积操作的效率,同时节省了内存的用量以及***带宽的优点。
第一方面,本申请实施例提供一种神经网络芯片,所述神经网络芯片包括:存储器、数据读取电路和卷积计算电路,其中,
所述存储器,用于存储特征图;
所述数据读取电路,用于从所述存储器内读取特征图、,并根据配置信息对所述特征图执行膨胀插零操作后,发送给卷积计算电路;
所述卷积计算电路,用于对该膨胀插零操作后的数据执行卷积计算以完成反卷积操作。
可选的,所述数据读取电路,用于周期性的从所述存储器读取特征图的设定数量数据,对该设定数量数据执行膨胀插零后输入到卷积计算电路;
所述卷积计算电路,用于对该设定数量数据执行卷积运算。
可选的,所述数据读取电路包括:数据读取模块、先入先出命令模块、命令读取控制模块、命令缓存器、输出命令和先入先出模块、输入数据先入先出模块、数据缓存器和输出数据先入先出模块;
所述数据读取模块,用于对所述配置信息向所述存储器发送特征图的读取请求读取所述特征图;将所述特征图的配置信息发送至所述先入先出命令模块;
所述先入先出命令模块,用于存储所述特征图的配置信息,
所述输入数据先入先出模块,用于存储特征图的数据;
所述命令读取控制模块,用于检测所述先入先出命令模块非空时,将所述配置信息进行译码得到译码信息,检测所述输入数据先入先出模块的状态,如输入数据先入先出模块的状态为非空时,将输入数据先入先出模块存储的特征图的数据读出并存入到数据缓存器;将所述译码信息存入到命令缓存器;
所述命令读取控制模块,从数据缓存器读取m个数据,对m个数据执行右对齐操作,将对齐操作后的第二数据存入到另一数据缓存器,将所述第二数据对应的第二译码信息存入到另一命令缓存器,所述m为正整数且小于设定数量;
所述命令读取控制模块,用于依据所述另一命令缓存器内存储的第二译码信息对所述另一数据缓存器内的第二数据执行第一方向的插零膨胀得到第一膨胀结果,将所述第一膨胀结果存入到输出数据先入先出模块;
所述命令读取控制模块,用于依据所述第二译码信息对所述第一膨胀结果执行第二方向的插零膨胀得到第二膨胀结果,将所述第二膨胀结果输出给所述卷积运算单元。
可选的,所述第一方向为水平方向,所述第二方向为垂直方向;
或所述第一方向为垂直方向,所述第二方向为水平方向。
第二方面,提供一种应用神经网络芯片执行反卷积操作方法,所述神经网络芯片包括:存储器、数据读取电路和卷积计算电路,其中,
从所述存储器内读取特征图,并根据配置信息对所述特征图执行膨胀插零操作后得到最终膨胀结果;
对该最终膨胀结果执行卷积计算以完成反卷积操作。
可选的,所述从所述存储器内读取特征图,包括:
周期性的从所述存储器读取特征图的设定数量数据。
可选的,所述数据读取电路还包括:命令先入先出模块、输入数据先入先出模块、输出数据先入先出模块、数据缓存器和命令缓存器;所述根据配置信息对所述特征图执行膨胀插零操作后得到最终膨胀结果,包括:
对所述配置信息向所述存储器发送特征图的读取请求读取所述特征图;将所述特征图的配置信息发送至命令先入先出模块存储;
检测所述命令先入先出模块非空时,将所述配置信息进行译码得到译码信息,检测所述输入数据先入先出模块的状态,如输入数据先入先出模块的状态为非空时,将输入数据先入先出模块存储的特征图的数据读出并存入到数据缓存器;将所述译码信息存入到命令缓存器;
从数据缓存器读取m个数据,对m个数据执行右对齐操作,将对右对齐操作后的第二数据存入到另一数据缓存器,将所述第二数据对应的第二译码信息存入到另一命令缓存器,所述m取值为正整数且小于设定数量;
所依据所述另一命令缓存器内存储的第二译码信息对所述第二数据执行第一方向的插零膨胀得到第一膨胀结果,将所述第一膨胀结果存入到输出数据先入先出模块;
依据所述第二译码信息对所述第一膨胀结果执行第二方向的插0膨胀得到最终膨胀结果。
可选的,所述第一方向为水平方向,所述第二方向为垂直方向;
或所述第一方向为垂直方向,所述第二方向为水平方向。
第三方面,提供一种电子装置,所述电子装置包括第二方面提供的计算装置。
第四方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如第一方面提供的方法。
第五方面,提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行第一方面提供的方法。
实施本申请实施例,具有如下有益效果:
可以看出,本申请提供的技术方案能够根据配置信息自动对特征图进行插零膨胀。增加了数据读取电路直接对特征图提取数据并且执行插零膨胀,插零膨胀后的数据直接输入到卷积计算电路执行卷积运算,所以中间数据无需存储至内存,节省了内存用量,所以其通过增加该硬件模块提高了反卷积操作的效率,同时节省了内存的用量以及***带宽。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种电子装置的结构示意图。
图2是一种神经网络芯片的结构示意图。
图3是本发明提供的一种数据读取电路的结构示意图。
图4是本申请实施例公开的一种应用神经网络芯片执行反卷积操作方法的流程示意图。
图4a是本申请实施例公开的一种神经网络芯片的示意图。
图5是本申请实施例公开的一种电子装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请中的电子装置可以包括:服务器、智能摄像设备、智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备等,上述电子装置仅是举例,而非穷举,包含但不限于上述电子装置,为了描述的方便,下面实施例中将上述电子装置称为用户设备(User equipment,UE)、终端或电子设备。当然在实际应用中,上述用户设备也不限于上述变现形式,例如还可以包括:智能车载终端、计算机设备等等。
对于上述电子装置,其结构如图1所示,具体的,其可以包括:处理器101、存储器102、神经网络芯片103,其中处理器101与存储器102以及神经网络芯片103之间连接,具体的在一种可选的技术方案中,上述神经网络芯片103可以集成在处理器101内。存储器102可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)等。本发明的技术方案并不局限上述神经网络芯片103是单独设置还是集成在处理器101内。
参阅图2,图2提供了一种神经网络芯片的结构示意图,如图2所示,该芯片可以包括:存储器(memory)、数据读取电路(Data load unit)和卷积计算电路(convolutioncalculate unit),数据读取模块(data read fsm)从内存读取特征图数据,并根据配置信息对特征图数据进行膨胀插0之后,直接送给卷积计算电路进行计算以完成反卷积操作。每个周期数据读取电路从内存读取设定数量数据,经过膨胀插0之后,保证每个周期向卷积计算电路输送设定数量数据用于计算。上述n的取值范围可以为大于等于2的整数。
参阅图3,图3表示了整个数据读取电路的具体硬件架构。整个数据读取电路进行数据读取以及膨胀的处理流程如下:
数据读取模块(data read fsm)首先对配置信息进行译码,并根据译码信息向存储器发出每个特征图的读请求。(具体的,根据特征图的规格可能通过一个或多个读请求才能够将特征图全部读回)。数据读取模块需要的配置信息包括但不限于:特征图的规格(宽、高)、特征图的个数、对特征图进行插0膨胀的方式。其中对特征图进行插0膨胀的方式包括单不限于:特征图第一行前面***几行0,最后一行后面***几行0,第一列前面***几列0,最后一列后面***几列0,每行的每个数据后面***几个0。
数据读取模块向存储器发出特征图的读请求之后,需要将每个特征图的配置信息存入先入先出命令模块(command fifo)中。当特征图的数据从存储器返回数据承载单元(数据读取电路)之后,会将数据存入输入数据先入先出模块(input data fifo),每个周期存入输入数据先入先出模块的数据个数是设定数量(为了方便说明,这里以设定数量=28为例,当然在实际应用中,也可以取其他的值,例如29、30、26、27等等)。
当命令读取控制(command read control)逻辑检测到先入先出命令模块非空之后,将先入先出命令模块中存储的特征图的配置信息读出并译码,检测输入数据先入先出模块的状态,如果输入数据先入先出模块为非空,表示特征图的数据已经从存储器读回数据读取电路。此时需要将输入数据先入先出模块中的数据读出并存入数据缓冲器(databuf)0或数据缓冲器1中,同时将对应特征图相关的译码信息存入命令缓存器(cmdbuf0)和命令缓冲器1中。其中特征图相关的译码信息包括:数据缓冲器0/1中数据的插0膨胀方式、数据缓冲器0/1中数据在特征图中的位置信息。
数据缓冲器0和数据缓冲器1是两个乒乓缓存器,它们对应的特征图相关译码信息分别存储在命令缓冲器0和命令缓冲器1中。
数据缓冲器0和数据缓冲器1中数据准备好之后,需要根据命令缓冲器0和命令缓冲器1中的信息对数据缓冲器0和数据缓冲器1中的数据进行读取并进行对齐操作。之所以要进行对齐操作,是因为只需要在数据膨胀之后,每个周期需要给卷积计算电路卷积计算电路提供28个数据,因此并不需要每个周期都从数据缓冲器0和数据缓冲器1中取出28个数据。假设每个周期从数据缓冲器0/1中读取m个数据,那么这m个数据可能位于数据缓冲器0/1中的任何位置,所以需要将这m个数据进行右对齐操作。m的选取可以根据每个feature插0膨胀的具体要求提前计算好,只要保证数据膨胀之后,每个周期能够提供28个数据就可以保证流水线不断流。
对齐操作完成之后,将数据存入数据缓冲器_2中,同时将数据对应的特征图信息存入命令缓冲器_2中,准备进行水平方向的插0膨胀操作。
数据缓冲器_2中的数据准备好之后,就可以根据存储在命令缓冲器_2中的特征图的插0膨胀信息、以及数据缓冲器_2中的数据在特征图中的位置信息进行水平方向的插0膨胀。并将水平膨胀之后的结果存入输出数据先入先出模块(output data fifo)中。同时在每个特征图进行水平膨胀之前将其对应的特征图信息存入输出数据先入先出模块中。
当先入先出命令模块非空之后,首先从先入先出命令模块中读出特征图相关的信息,根据特征图相关信息对输出数据先入先出模块进行读操作,并进行垂直方向的插0膨胀操作,并将最终的结果送给卷积计算电路。
本申请提供的技术方案能够根据配置信息自动对特征图进行插零膨胀。增加了数据读取电路直接对特征图提取数据并且执行插零膨胀,插零膨胀后的数据直接输入到卷积计算电路执行卷积运算,所以中间数据无需存储至内存,节省了内存用量,所以其通过增加该硬件模块提高了反卷积操作的效率,同时节省了内存的用量以及***带宽。
参阅图4,图4提供一种应用神经网络芯片执行反卷积操作方法,所述神经网络芯片如图4a所示,包括:存储器、数据读取电路和卷积计算电路,该方法包括如下步骤:
步骤S401、从所述存储器内读取所述存储器内的特征图,并根据配置信息对所述特征图执行膨胀插零操作后得到最终膨胀结果;
步骤S402、对该最终膨胀结果执行卷积计算以完成反卷积操作。
可选的,所述从所述存储器内读取所述存储器内的特征图,包括:
周期性的从所述存储器读取特征图的设定数量数据。
可选的,所述数据读取电路还包括:命令先入先出模块先入先出命令模块、输入数据先入先出模块输入数据先入先出模块、输出数据先入先出模块、数据缓存器和命令缓存器;所述根据配置信息对所述特征图执行膨胀插零操作后得到最终膨胀结果,包括:
对所述配置信息向所述存储器发送特征图的读取请求读取所述特征图;将所述配置信息发送至先入先出命令模块存储;
检测所述先入先出命令模块非空时,将所述配置信息进行译码得到译码信息,检测所述输入数据先入先出模块的状态,如输入数据先入先出模块的状态为非空时,将输入数据先入先出模块存储的特征图的数据读出并存入到数据缓存器;将所述译码信息存入到命令缓存器;
从数据缓存器读取m个数据,对m个数据执行右对齐操作,将对右对齐操作后的第二数据存入到另一数据缓存器,将所述第二数据对应的第二译码信息存入到另一命令缓存器;
所依据所述另一命令缓存器内存储的第二译码信息对所述第二数据执行第一方向的插0膨胀得到第一膨胀结果,将所述第一膨胀结果存入到输出数据先入先出模块;
依据所述第二译码信息对所述第一膨胀结果执行第二方向的插0膨胀得到最终膨胀结果。
可选的,所述第一方向为水平方向,所述第二方向为垂直方向;
或所述第一方向为垂直方向,所述第二方向为水平方向。
如图5所示,本申请实施例还提供一种电子装置,该电子装置包括上述神经网络芯片。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种应用神经网络芯片执行反卷积操作方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种应用神经网络芯片执行反卷积操作方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only memory)、随机存取存储器(RAM,Random Access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only memory,简称:ROM)、随机存取器(英文:Random Access memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (7)

1.一种神经网络芯片,其特征在于,所述神经网络芯片包括:存储器、数据读取电路和卷积计算电路,其中,
所述存储器,用于存储特征图;
所述数据读取电路,用于周期性的从所述存储器读取特征图的设定数量数据,并根据配置信息对所述特征图的设定数量数据执行膨胀插零操作后,发送给卷积计算电路;
所述卷积计算电路,用于对该膨胀插零操作后的数据执行卷积计算以完成反卷积操作;
其中,所述数据读取电路包括:数据读取模块、先入先出命令模块、命令读取控制模块、命令缓存器、输出命令和先入先出模块、输入数据先入先出模块、数据缓存器和输出数据先入先出模块;
所述数据读取模块,用于对所述配置信息向所述存储器发送特征图的读取请求读取所述特征图;将所述特征图的配置信息发送至所述先入先出命令模块;
所述先入先出命令模块,用于存储所述特征图的配置信息,
所述输入数据先入先出模块,用于存储特征图的数据;
所述命令读取控制模块,用于检测所述先入先出命令模块非空时,将所述配置信息进行译码得到译码信息,检测所述输入数据先入先出模块的状态,如果输入数据先入先出模块的状态为非空时,将所述输入数据先入先出模块存储的特征图的数据读出并存入到所述数据缓存器;将所述译码信息存入到命令缓存器;
所述命令读取控制模块,从所述数据缓存器读取m个数据,对m个数据执行右对齐操作,将对齐操作后的第二数据存入到另一数据缓存器,将所述第二数据对应的第二译码信息存入到另一命令缓存器,所述m为正整数且小于设定数量;
所述命令读取控制模块,用于依据所述另一命令缓存器内存储的第二译码信息对所述另一数据缓存器内的第二数据执行第一方向的插零膨胀得到第一膨胀结果,将所述第一膨胀结果存入到输出数据先入先出模块;
所述命令读取控制模块,用于依据所述第二译码信息对所述第一膨胀结果执行第二方向的插零膨胀得到第二膨胀结果,将所述第二膨胀结果输出给所述卷积计算电路。
2.根据权利要求1所述的神经网络芯片,其特征在于,
所述第一方向为水平方向,所述第二方向为垂直方向;
或所述第一方向为垂直方向,所述第二方向为水平方向。
3.一种应用神经网络芯片执行反卷积操作方法,其特征在于,所述神经网络芯片包括:存储器、数据读取电路和卷积计算电路,所述数据读取电路包括:命令读取控制模块、数据缓存器、命令缓存器、输出数据先入先出模块,其中,
周期性的从所述存储器读取特征图的设定数量数据,并根据配置信息对所述特征图的设定数量数据执行膨胀插零操作后得到最终膨胀结果;
对该最终膨胀结果执行卷积计算以完成反卷积操作;
其中,所述数据读取电路还包括:命令先入先出模块、输入数据先入先出模块、输出数据先入先出模块、数据缓存器和命令缓存器;所述根据配置信息对所述特征图执行膨胀插零操作后得到最终膨胀结果,包括:
对所述配置信息向所述存储器发送特征图的读取请求读取所述特征图;将所述特征图的配置信息发送至所述命令先入先出模块存储;
检测所述命令先入先出模块非空时,将所述配置信息进行译码得到译码信息,检测所述输入数据先入先出模块的状态,如果所述输入数据先入先出模块的状态为非空时,将所述输入数据先入先出模块存储的特征图的数据读出并存入到所述数据缓存器;将所述译码信息存入到所述命令缓存器;
从所述数据缓存器读取m个数据,对m个数据执行右对齐操作,将对右对齐操作后的第二数据存入到另一数据缓存器,将所述第二数据对应的第二译码信息存入到另一命令缓存器,所述m取值为正整数且小于设定数量;
所依据所述另一命令缓存器内存储的第二译码信息对所述第二数据执行第一方向的插零膨胀得到第一膨胀结果,将所述第一膨胀结果存入到所述输出数据先入先出模块;
依据所述第二译码信息对所述第一膨胀结果执行第二方向的插0膨胀得到最终膨胀结果。
4.根据权利要求3所述的方法,其特征在于,
所述第一方向为水平方向,所述第二方向为垂直方向;
或所述第一方向为垂直方向,所述第二方向为水平方向。
5.一种人工智能计算装置,其特征在于,所述人工智能计算装置包括如权利要求1-2任意一项所述的神经网络芯片。
6.一种计算机可读存储介质,其特征在于,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求3-4任一项所述的方法。
7.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如权利要求3-4任一项所述的方法。
CN201711484228.2A 2017-12-29 2017-12-29 人工智能计算装置及相关产品 Active CN109993274B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201711484228.2A CN109993274B (zh) 2017-12-29 2017-12-29 人工智能计算装置及相关产品
PCT/CN2018/079374 WO2019127927A1 (zh) 2017-12-29 2018-03-16 一种神经网络芯片、应用神经网络芯片执行反卷积操作方法、电子设备及计算机可读存储介质
US16/627,767 US11010661B2 (en) 2017-12-29 2018-03-16 Neural network chip, method of using neural network chip to implement de-convolution operation, electronic device, and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711484228.2A CN109993274B (zh) 2017-12-29 2017-12-29 人工智能计算装置及相关产品

Publications (2)

Publication Number Publication Date
CN109993274A CN109993274A (zh) 2019-07-09
CN109993274B true CN109993274B (zh) 2021-01-12

Family

ID=67062953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711484228.2A Active CN109993274B (zh) 2017-12-29 2017-12-29 人工智能计算装置及相关产品

Country Status (3)

Country Link
US (1) US11010661B2 (zh)
CN (1) CN109993274B (zh)
WO (1) WO2019127927A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210101903A (ko) 2020-02-11 2021-08-19 삼성전자주식회사 전자 장치 및 그 제어 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954710A (zh) * 2014-03-27 2015-09-30 日立麦克赛尔株式会社 影像处理装置和使用它的投影仪装置
CN105491269A (zh) * 2015-11-24 2016-04-13 长春乙天科技有限公司 基于反卷积图像复原的高保真视频放大方法
WO2016085560A1 (en) * 2014-11-25 2016-06-02 Cypress Semiconductor Corporation Methods and sensors for multiphase scanning in the fingerprint and touch applications
CN106021183A (zh) * 2016-07-14 2016-10-12 中国地质大学(北京) 一种结合混合基fft的相关辨识处理***及其方法
CN107292287A (zh) * 2017-07-14 2017-10-24 深圳云天励飞技术有限公司 人脸识别方法、装置、电子设备及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870085A (en) * 1997-02-03 1999-02-09 Ati International Generating text strings
CN103974011B (zh) * 2013-10-21 2017-07-11 浙江大学 一种投影图像模糊消除方法
CN104215948B (zh) * 2014-08-22 2017-05-10 西安空间无线电技术研究所 一种基于参考信号的星载sar回波校正和脉冲压缩方法
KR20160140193A (ko) * 2015-05-29 2016-12-07 삼성전기주식회사 영상 보정 회로 및 그 보정 방법
CN104899610A (zh) * 2015-06-26 2015-09-09 小米科技有限责任公司 图片分类方法及装置
CN105551036B (zh) 2015-12-10 2019-10-08 中国科学院深圳先进技术研究院 一种深度学习网络的训练方法和装置
US9904871B2 (en) * 2016-04-14 2018-02-27 Microsoft Technologies Licensing, LLC Deep convolutional neural network prediction of image professionalism
CN105912501B (zh) * 2016-05-06 2018-11-06 东南大学—无锡集成电路技术研究所 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及***
CN106548201B (zh) * 2016-10-31 2020-07-21 北京小米移动软件有限公司 卷积神经网络的训练方法、图像识别方法及装置
CN106611420B (zh) * 2016-12-30 2019-06-18 西安电子科技大学 基于反卷积网络和素描图方向约束的sar图像分割方法
KR102642853B1 (ko) * 2017-01-05 2024-03-05 한국전자통신연구원 컨볼루션 회로, 그것을 포함하는 어플리케이션 프로세서 및 그것의 동작 방법
CN107066239A (zh) * 2017-03-01 2017-08-18 智擎信息***(上海)有限公司 一种实现卷积神经网络前向计算的硬件结构
CN109428690B (zh) * 2017-09-04 2021-07-30 瑞昱半导体股份有限公司 以太网络的连线方法及以太网络装置
US10460416B1 (en) * 2017-10-17 2019-10-29 Xilinx, Inc. Inline image preprocessing for convolution operations using a matrix multiplier on an integrated circuit
GB201801639D0 (en) * 2018-02-01 2018-03-21 Ruff Brendan Patrick Low precision efficient multiplication free convolutional filter bank device
US11941501B2 (en) * 2018-05-30 2024-03-26 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
US11671111B2 (en) * 2019-04-17 2023-06-06 Samsung Electronics Co., Ltd. Hardware channel-parallel data compression/decompression

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954710A (zh) * 2014-03-27 2015-09-30 日立麦克赛尔株式会社 影像处理装置和使用它的投影仪装置
WO2016085560A1 (en) * 2014-11-25 2016-06-02 Cypress Semiconductor Corporation Methods and sensors for multiphase scanning in the fingerprint and touch applications
CN105491269A (zh) * 2015-11-24 2016-04-13 长春乙天科技有限公司 基于反卷积图像复原的高保真视频放大方法
CN106021183A (zh) * 2016-07-14 2016-10-12 中国地质大学(北京) 一种结合混合基fft的相关辨识处理***及其方法
CN107292287A (zh) * 2017-07-14 2017-10-24 深圳云天励飞技术有限公司 人脸识别方法、装置、电子设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Design Methodology for Efficient Implementation of Deconvolutional Neural Networks on an FPGA;Xinyu Zhang等;《arXiv》;20170507;第1-6页 *
卷积神经网络CNN(1)-图像卷积与反卷积(后卷积,转置卷积);朝来灬寒雨;《http://blog.sina.com.cn/s/blog_17b8dd7910102x3ch.html》;20171025;第1-5页 *

Also Published As

Publication number Publication date
US11010661B2 (en) 2021-05-18
CN109993274A (zh) 2019-07-09
US20200380345A1 (en) 2020-12-03
WO2019127927A1 (zh) 2019-07-04

Similar Documents

Publication Publication Date Title
US11593594B2 (en) Data processing method and apparatus for convolutional neural network
CN106909333B (zh) 显示屏的配屏方法及装置
CN108235148B (zh) 直播中的相似弹幕合并方法、存储介质、电子设备及***
CN110489428B (zh) 多维稀疏矩阵压缩方法、解压缩方法、装置、设备及介质
CN109993273B (zh) 卷积神经网络的卷积实现方法及相关产品
CN111464757A (zh) 视频处理方法、装置和***
CN109993274B (zh) 人工智能计算装置及相关产品
CN113449222B (zh) 图片展示方法、图片展示装置和电子设备
CN113286174B (zh) 视频抽帧方法、装置、电子设备、计算机可读存储介质
CN108024116B (zh) 一种数据缓存方法及装置
CN108198232B (zh) 一种轨迹框绘制的方法及设备
CN110189388B (zh) 动画检测方法、可读存储介质及计算机设备
CN112035656A (zh) 文档快速预览的方法、装置、计算机设备及介质
CN111512631A (zh) 数据处理方法及相关产品
CN109688433A (zh) 基于画面的剪切视频方法及相关产品
CN114428594B (zh) 图像显示方法、装置、电子设备及存储介质
CN104063404A (zh) 在wap页面显示信息的方法及装置
CN114743512B (zh) 屏幕像素点的背光值确定方法、装置、设备及介质
US20200404380A1 (en) Method and system of displaying video comments, computing device, and readable storage medium
CN105577986A (zh) 基于膨胀腐蚀的图像处理***及图像处理方法
CN110750392A (zh) 提高双活从节点写入带宽的方法、***、终端及存储介质
CN110765377B (zh) 一种数据加载方法和装置
CN113012024A (zh) 图像处理方法及装置
CN107229419B (zh) 基于三维闪存的数据写入方法及装置
CN111161135A (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
GR01 Patent grant
GR01 Patent grant