CN110163042B - 图像识别方法及装置 - Google Patents

图像识别方法及装置 Download PDF

Info

Publication number
CN110163042B
CN110163042B CN201810331869.2A CN201810331869A CN110163042B CN 110163042 B CN110163042 B CN 110163042B CN 201810331869 A CN201810331869 A CN 201810331869A CN 110163042 B CN110163042 B CN 110163042B
Authority
CN
China
Prior art keywords
feature
vector
weight
convolution
processing
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
CN201810331869.2A
Other languages
English (en)
Other versions
CN110163042A (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.)
Tencent Technology Shenzhen Co Ltd
Beihang University
Original Assignee
Tencent Technology Shenzhen Co Ltd
Beihang University
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 Tencent Technology Shenzhen Co Ltd, Beihang University filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810331869.2A priority Critical patent/CN110163042B/zh
Publication of CN110163042A publication Critical patent/CN110163042A/zh
Application granted granted Critical
Publication of CN110163042B publication Critical patent/CN110163042B/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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种图像识别方法及装置,属于机器学习技术领域。所述方法包括:在图像识别过程中,当深度神经网络的层接收到特征图时,基于层内卷积核对应的扫描窗口,获取特征图位于扫描窗口内的至少一个特征向量;过滤至少一个特征向量中的第一目标元素以及至少一个权重向量中的第二目标元素,第一目标元素和第二目标元素相与为0,且第一目标元素在特征向量中的位置与第二目标元素在权重向量的位置相同。基于过滤后的至少一个特征向量和过滤后的至少一个权重向量继续进行卷积;基于卷积得到的特征点,得到层输出的特征图。本发明避免了卷积处理过程中的冗余运算,从而极大地减少了图像识别的计算量,提高了图像识别的速度和效率。

Description

图像识别方法及装置
技术领域
本发明涉及机器学习技术领域,特别涉及一种图像识别方法及装置。
背景技术
随着机器学习技术的发展,在图片搜索、商品推荐等各种应用场景中,计算机设备可以基于深度神经网络,对图像进行识别。具体地,可以将待识别的图像输入到深度神经网络中,在深度神经网络中逐层运算,输出图像的识别结果。
深度神经网络包括多个层,每个层包括至少一个卷积核(kernel),每个卷积核用于对该层接收到的特征图(feature map)进行卷积,得到输出至下一层的特征图。其中,每个卷积核可以看作一定大小的权重矩阵,每个卷积核由多个权重元素组成,不同卷积核对应的权重元素不同,从而能够检测特征图中不同的特征。
具体地,任一层的任一个卷积核会通过在特征图上进行滑动,依次扫描特征图的每个区域。当扫描窗口滑动至任一区域时,会获取特征图中位于扫描窗口内的每列元素,作为每个特征向量,并读取卷积核内的每列元素,作为每个权重向量,计算对应的特征向量和权重向量的数量积,再累加特征图位于扫描窗口内的所有特征向量的数量积,将累加结果作为一个特征点。那么,每当扫描窗口滑动一次,即输出一个特征点,扫描窗口滑动结束后,将输出的所有特征点可以组成一个特征图,输出至下一层中。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
深度神经网络内部各层进行卷积处理时,特征元素和权重元素均呈现稀疏性,即特征向量和权重向量均存在不同数量的0值。0值参与乘法运算以及加法运算,不会对计算结果产生影响,因此属于冗余运算,冗余运算会带来额外的能耗开销,并增加了计算时间。
发明内容
本发明实施例提供了一种图像识别方法及装置,能够解决相关技术中深度神经网络存在冗余运算导致计算时间过长的问题。所述技术方案如下:
一方面,提供了一种图像识别方法,所述方法包括:
在图像识别过程中,当深度神经网络的任一个层接收到特征图时,基于所述层内卷积核对应的扫描窗口,获取所述特征图位于扫描窗口内的至少一个特征向量,所述深度神经网络用于根据输入的图像的特征图进行图像识别;
获取所述卷积核对应的至少一个权重向量;
过滤所述至少一个特征向量中的第一目标元素以及所述至少一个权重向量中的第二目标元素,所述第一目标元素和所述第二目标元素相与为0,且所述第一目标元素在特征向量中的位置与所述第二目标元素在权重向量的位置相同;
基于过滤后的至少一个特征向量和过滤后的至少一个权重向量继续进行卷积;
基于卷积得到的特征点,得到所述任一个层输出的特征图。
另一方面,提供了一种图像识别装置,所述装置包括:
获取模块,用于在图像识别过程中,当深度神经网络的任一个层接收到特征图时,基于所述层内卷积核对应的扫描窗口,获取所述特征图位于扫描窗口内的至少一个特征向量,所述深度神经网络用于根据输入的图像的特征图进行图像识别;
所述获取模块,还用于获取所述卷积核对应的至少一个权重向量;
过滤模块,用于过滤所述至少一个特征向量中的第一目标元素以及所述至少一个权重向量中的第二目标元素,所述第一目标元素和所述第二目标元素相与为0,且所述第一目标元素在特征向量中的位置与所述第二目标元素在权重向量的位置相同;
卷积模块,用于基于过滤后的至少一个特征向量和过滤后的至少一个权重向量继续进行卷积;
输出模块,用于基于卷积得到的特征点,得到所述任一个层输出的特征图。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述图像识别方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述图像识别方法所执行的操作。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的方法及装置,在基于深度神经网络进行图像识别的过程中,通过将特征向量中冗余的第一目标元素以及权重向量中冗余的第二目标元素过滤掉,基于过滤后的特征向量和过滤后的权重向量进行卷积处理,避免了第一目标元素以及第二目标元素带来的无效运算,极大地减少了卷积处理的计算量,从而加快了图像识别的速度,提高了图像识别的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种对特征图进行卷积处理的示意图;
图2是本发明实施例提供的一种对特征图进行卷积处理的示意图;
图3是本发明实施例提供的一种实施环境的示意图;
图4是本发明实施例提供的一种图像识别方法的流程图;
图5是本发明实施例提供的一种扫描窗口在特征图上滑动的示意图;
图6是本发明实施例提供的一种计算单元的电路结构图;
图7是本发明实施例提供的一种图像识别方法的流程图;
图8是本发明实施例提供的一种划分特征图块的示意图;
图9是本发明实施例提供的一种用于实现深度神经网络的电路结构图;
图10是本发明实施例提供的一种图像识别装置的结构示意图;
图11是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解本发明的技术过程,首先对深度神经网络的基本原理进行阐述:
深度神经网络的整体结构:深度神经网络由N个层构建而成(N为大于1的正整数),任一个层的输出可以作为下一个层的输入,例如第一个层输出的特征图可以作为第二个层输入的特征图,第二个层输出的特征图可以作为第三个层输入的特征图,依次类推,直至第N个层时,直接输出特征图。
深度神经网络的层:从层的位置的角度来说,深度神经网络的层可以分为输入层、隐藏层和输出层,其中输入层(input layer)是指第一个层,输出层(output layer)是指最后一个层,隐藏层(hidden layer)是指输入层和输出层之间的每个层。从层的运算方式的角度来说,深度神经网络的层可以分为卷积层、全连接层、递归层、激活函数层、池化层,其中卷积层是深度神经网络中核心的层,其它层可以看作卷积层的变种或者对卷积层输出的特征图进行进一步处理。
特征图(feature map):也可以称为特征映射、激活图(Activation Map)、激活映射、卷积特征(Convolved Feature)等,在图像识别的过程中,特征图是深度神经网络中每个层输入和输出的数据。其中第1个层至第(N-1)个层输出的特征图包括多个特征点,特征图中的每个特征点表征像素值,第N个层输出的特征图可以仅是包括一个特征点,该特征点表征图像所属的类别,或者第N个层输出的特征图可以包括多个特征点,每个特征点表征图像可能所属的类别以及属于对应类别的概率。
卷积核(kernel):也可以称为滤波器(filter)、过滤器、特征检测器、核函数、内核、权重核等。卷积核可以看作一个具有扫描窗口的权重矩阵,权重矩阵包括多个权重元素(weight),每个权重元素也可称为参数,不同卷积核对应的权重元素不同,从而能够检测特征图中不同的特征。卷积核的大小(filter size,即权重矩阵的大小)可以根据实际业务需求确定,其中卷积层中每个卷积核的大小为M×M(N为大于1的正整数),通常为3×3,全连接层中每个卷积核的大小为1×1。每个卷积核用于对特征图进行卷积,得到输出的特征图,每个层可以包括至少一个卷积核,通过至少一个卷积核可以输出至少一个特征图。
扫描窗口:用于确定特征图中每次卷积处理时针对的区域,扫描窗口的大小和卷积核的大小(filter size,即权重矩阵的大小)相等,扫描窗口的步长(stride)用于确定扫描窗口每次滑动的距离,扫描窗口的步长根据实际需求确定,可以为1。
卷积核的计算原理:卷积处理可以理解为对应相乘再累加的过程。在卷积核进行卷积处理的过程中,卷积核的扫描窗口会在特征图上进行滑动,通过扫描特征图的每个区域,依次对特征图的每个区域进行计算。当卷积核的扫描窗口滑动至特征图的任一区域时,会读取该区域中的每列特征元素,作为每个特征向量,同时会获取卷积核的每列权重元素,作为每个图像向量,计算对应的特征向量和图像向量的数量积,再累加特征图位于扫描窗口内的所有图像向量的数量积,将累加结果作为一个特征点。之后,扫描窗口会滑动一个步长,从而处于特征图中的下一个区域,并再次输出一个特征点,当滑动过程结束后,可以将输出的所有特征点组成一个特征图,输出至下一层中。
示例性地,参见图1,其示出了一种基于卷积核对特征图进行卷积处理的示意图,该卷积核的大小为3×3,权重向量包括(2,5,0)、(0,1,1)和(7,0,4),步长为1。假设卷积核的扫描窗口处于图中所示的区域时,则特征图位于扫描窗口内的特征向量包括(6,2,0)、(0,3,7)和(7,5,0),卷积核会从扫描窗口中读取(6,2,0),并相应地读取权重向量(2,5,0),计算两者的数量积=6*2+2*5+0*0=22。再从扫描窗口中读取(0,1,1),并相应地读取权重向量(0,3,7),计算两者的数量积=0*0+1*3+1*7=10,再从扫描窗口中读取(7,0,4),并相应地读取权重向量(7,5,0),计算两者的数量积=7*7+0*5+4*0=49,再累加三个数量积22+10+49=74,作为该扫描窗口的特征点。之后,参见图2,扫描窗口会滑动一列,此时特征图位于扫描窗口内的特征向量包括(0,3,7)、(7,5,0)和(2,0,0),会再次计算这三个特征向量和三个权重向量的数量积,得到一个特征点。以此类推,当扫描窗口滑动结束后,得到的所有特征点可以组成输出的特征图。
图3是本发明实施例提供的一种实施环境的示意图。该实施环境包括多个终端301和多个计算机设备302。该多个终端301通过无线或者有线网络和多个计算机设备302连接,该多个终端301可以为电脑、智能手机、平板电脑或者其他电子设备,每个计算机设备302可以为是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心,当然也可以为个人电脑、笔记本电脑等。
在图像识别的过程中,终端301可以向计算机设备302发送待识别的图像,计算机设备302可以接收待识别的图像,将该图像输入至深度神经网络中,输出图像的识别结果。可选地,计算机设备302还可以具有至少一种图像数据库,例如人脸数据库,商品数据库等,用于存储终端301提供的待识别的图像。
本发明实施例提供的图像识别方法可以广泛地应用在各种实际应用场景中,以下结合两种示例性应用场景对本发明实施例的实际技术效果进行阐述:
(1)可以应用在人脸识别的场景:在人脸识别的场景中,终端301可以向计算机设备302发送目标人脸图像,计算机设备302可以接收目标人脸图像,将目标人脸图像输入至深度神经网络中,输出目标人脸图像的识别结果,例如输出人脸图像对应的人物姓名。
以下结合三个人脸识别的具体场景进行示例性说明:
场景(1.1)考勤打卡
当用户来到公司要打卡时,可以通过终端拍摄人脸图像,终端可以将该人脸图像发送给计算机设备,计算机设备基于深度神经网络识别出用户姓名,验证用户是否属于公司员工,当确定用户的姓名属于公司员工时进行打卡记录。
场景(1.2)刷脸支付
当用户在某商场要结账时,结账处设置的终端可以拍摄用户的人脸图像,将该人脸图像发送给计算机设备,计算机设备基于深度神经网络识别出用户的姓名,对用户的姓名对应的用户账号进行扣费操作,从而完成支付。
场景(1.3)当应用在监控安防的场景中,
当某银行发生盗窃事件、某路段发生交通事故时,终端可以截取监控录像所记录的嫌疑人的人脸图像,将人脸图像发送给计算机设备,计算机设备基于深度神经网络识别出人脸图像,确定用户的姓名,提供给安防部门。
在上述各种人脸识别的场景中,计算机设备通过在深度神经网络中对特征向量和权重向量先进行过滤再进行卷积,极大的减少了人脸识别的计算量,能够快速识别出目标人脸图像。
(2)可以应用在商品推荐的场景:在商品推荐的场景中,终端301可以向计算机设备302发送待识别的商品图像,计算机设备302可以将待识别的商品图像输入至深度神经网络中,输出商品图像的识别结果,例如输出商品图像的品牌、型号、名称、材质、店铺等。之后,可以基于商品图像的识别结果在商品数据库中进行检索,搜索出与商品图像的识别结果相匹配的目标商品数据,推荐给用户。
示例性地,用户可以通过终端拍摄某大衣的照片,终端可以将大衣的照片发送给计算机设备,计算机设备将大衣的照片输入至深度神经网络,输出大衣的品牌和型号,根据大衣的品牌和型号,在商品数据库中搜索出大衣的购买页面,提供给用户,以便用户在线购买该大衣。
在商品推荐的场景,计算机设备通过在深度神经网络中对特征向量和权重向量先进行过滤再进行卷积,极大的减少了识别商品图像的计算量,能够快速识别出商品图像,进而能够快速推荐目标商品数据。
图4是本发明实施例提供的一种图像识别方法的流程图,该发明实施例的执行主体为计算机设备,参见图4,该方法包括:
401、在图像识别过程中,当深度神经网络的任一个层接收到特征图时,计算机设备基于层内卷积核对应的扫描窗口,获取特征图位于扫描窗口内的至少一个特征向量。
深度神经网络中每个层可以包括至少一个卷积核,当深度神经网络的任一个层接收到特征图时,计算机设备会基于至少一个卷积核分别对特征图进行处理,得到多个卷积核输出的多个特征图。本实施例中,在每个卷积核卷积处理之前,增加了对特征向量和权重向量进行过滤的步骤,保证相与为0的特征元素和权重元素不会参与卷积运算的过程,从而避免0值带来的冗余运算。为了便于描述,在此基于任一个层内的任一个卷积核进行卷积处理的过程为例进行说明,在实施中,层可以包括多个卷积核,计算机设备可以采用同样的方式基于每个卷积核依次进行卷积处理。
对于层内的任一个卷积核来说,计算机设备会基于卷积核对应的扫描窗口在特征图上进行滑动。当扫描窗口滑动至特征图的任一区域时,计算机设备可以获取特征图位于扫描窗口内的至少一个特征向量,以便根据至少一个特征向量计算特征点。
具体地,计算机设备可以逐列获取特征向量,即获取特征图位于扫描窗口内至少一列特征元素,将每列特征元素作为一个特征向量,得到至少一个特征向量。也可以逐行获取特征向量,即获取特征图位于扫描窗口内的至少一行特征元素,将每行特征元素作为一个特征向量,得到至少一个特征向量,本发明实施例对此不做限定。
其中,特征图位于扫描窗口内的特征向量的数量和长度根据扫描窗口的大小确定,例如扫描窗口的大小为3×3时,特征图位于扫描窗口内的特征向量的数量为3,每个特征向量的长度为3。
可选地,计算机设备获取特征图位于扫描窗口的特征向量的过程可以包括以下步骤一和步骤二:
步骤一、对于扫描窗口内的指定区域,计算机设备从移位寄存器中读取特征图位于指定区域内的特征向量,指定区域是指扫描窗口当前所处区域与窗口滑动前所处区域之间的重叠区域,指定区域内的特征向量在对窗口滑动前所处区域进行卷积处理时缓存至移位寄存器中。
结合上述卷积核的计算原理,可见卷积核的扫描窗口在滑动过程中会具有重叠区域,即扫描窗口当前所处区域会与滑动前所处区域具有重复的特征向量。示例性地,请参见图5,其示出了扫描窗口两次滑动的过程,扫描窗口分别位于区域1和区域2时,两次所处的区域具有重叠区域(6,2,0)和(0,3,7),扫描窗口分别位于区域2和区域3时,两次所处的区域具有重叠区域(0,3,7)和(7,5,0)。
为了便于描述,在此将扫描窗口当前所处区域与窗口滑动前所处区域之间的重叠区域称为指定区域,将扫描窗口内的指定区域之后的区域称为其余区域,例如请参见图5,当扫描窗口位于区域2时,指定区域为(6,2,0)和(0,3,7)组成的区域,其余区域为(7,5,0)组成的区域,扫描窗口位于区域3时,指定区域为(0,3,7)和(7,5,0)组成的区域,其余区域为(2,0,0)组成的区域。
本实施例中,计算机设备获取指定区域内的特征向量和其余区域内的特征向量的方式不同,当扫描窗口滑动至特征图的任一区域时,计算机设备可以确定扫描窗口内的指定区域,由于指定区域的特征向量不仅隶属于扫描窗口当前所处区域,还同时隶属于扫描窗口滑动前所处的上一个区域,计算机设备在针对特征图的上一个区域进行卷积处理时,已经预先将指定区域的特征向量加载至移位寄存器中,则计算机设备无需重复加载指定区域的特征向量,直接从移位寄存器读取指定区域的特征向量即可。
针对确定指定区域的过程,可以根据卷积核的扫描窗口的大小和扫描窗口的步长,确定扫描窗口中的指定区域。示例性地,假设扫描窗口的大小为M×M,步长为s,可以计算M与s之间的差值j,获取扫描窗口当前所处区域的第1列特征元素至第j列特征元素组成的区域,将该区域作为指定区域。相应地,可以将扫描窗口当前所处区域第j+1列特征元素至第M列特征元素组成的区域,作为其余区域,该其余区域的特征向量的数量等于s。例如,假设扫描窗口的大小为3×3,步长为1,可以将扫描窗口当前所处区域的第1列特征元素和第2列特征元素组成的区域作为指定区域,将第3列特征元素组成的区域作为其余区域。
步骤二、对于扫描窗口内的指定区域之后的其余区域,计算机设备加载特征图位于其余区域内的特征向量,并将其余区域内的特征向量缓存至移位寄存器中。
对于扫描窗口内的其余区域,该其余区域内的特征向量是尚未缓存的特征向量,计算机设备会加载特征图位于其余区域内的特征向量。同时,可以将其余区域内的特征向量缓存至移位寄存器中,那么,当扫描窗口再次滑动至下一个区域时,其余区域会成为下一个区域的指定区域,计算机设备获取特征图在下一个区域内的特征向量时,直接从移位寄存器中读取特征向量即可。
需要说明的是,由于指定区域是扫描窗口与滑动前所处区域之间的重叠区域,当扫描窗口位于特征图的第一个区域时,此时扫描窗口尚未滑动,第一个区域不具有指定区域,计算机设备会加载第一个区域内的每个特征向量,而扫描窗口滑动至特征图的第二个区域乃至特征图的最后一个区域的过程中,均可以采用上述步骤一和步骤二,获取扫描窗口内的特征向量。
示例性地,参见图5,当扫描窗口处于区域1时,计算机设备会加载特征向量(4,0,1)、(6,2,0)和(0,3,7),并将这3个特征向量分别缓存至移位寄存器中。当扫描窗口从区域1滑动至区域2时,计算机设备只需加载(7,5,0)即可,而无需重新加载(6,2,0)和(0,3,7),而是直接从移位寄存器中读取(6,2,0)和(0,3,7)即可。同理地,当扫描窗口从区域2滑动至区域3时,计算机设备只需加载(2,0,0)即可,而无需重新加载(0,3,7)和(7,5,0),而是直接从移位寄存器中读取(0,3,7)和(7,5,0)即可。
结合上述步骤一和步骤二,可以达到以下技术效果:
相关技术中,每当扫描窗口滑动至特征图的任一区域时,计算机设备需要加载特征图位于扫描窗口内的每个特征向量,以便对每个特征向量进行累加运算,在此过程中,加载的特征向量数量较多,访问内存的次数极多,导致计算机设备的运行开销和能耗过大,影响了计算机设备的性能。
而本实施例中,通过上述步骤一和步骤二,实现了对重叠区域内的特征向量进行复用,每当扫描窗口滑动至下一个区域时,只需加载其余区域的特征向量即可,无需加载指定区域的特征向量,加载的特征向量数量较少,从而极大地减少访问内存的次数,从而降低计算机设备的运行开销和能耗。
402、计算机设备获取卷积核对应的至少一个权重向量。
计算机设备可以获取卷积核对应的至少一个权重向量,以便根据至少一个特征向量和至少一个权重向量计算特征点。具体地,计算机设备可以逐列获取权重向量,即获取权重矩阵中的至少一列权重元素,将每列权重元素作为一个权重向量,从而得到至少一个权重向量。当然也可以逐行获取权重向量,即获取权重矩阵中的至少一行权重元素,将每行权重元素作为一个权重向量,从而得到至少一个权重向量,只需保证获取权重向量的方式和获取特征向量的方式一致即可,本发明实施例对此不做限定。
在实施中,可以预先将任一个层的任一个卷积核的权重向量预先存储于权重缓存中,则获取权重向量时,从权重缓存中读取权重向量即可。
403、计算机设备过滤至少一个特征向量中的第一目标元素以及至少一个权重向量中的第二目标元素。
为了便于描述,本实施例中将从特征向量中过滤掉的特征元素称为第一目标元素,将从权重向量中过滤掉的权重元素称为第二目标元素,第一目标元素和第二目标元素同时符合以下两个条件:
条件一:第一目标元素和第二目标元素相与为0。即,第一目标元素和第二目标元素中的任一者为0,或两者均为0,那么,第一目标元素和第二目标元素相乘后,乘积会为0。
条件二:第一目标元素在特征向量中的位置与第二目标元素在权重向量的位置相同。即,如果第一目标元素在特征向量中是第n个元素,则第二目标元素在权重向量中就也是第n个元素。
结合上述对卷积核工作原理的阐述,可见卷积处理即为对特征元素和权重元素对应相乘再累加,而在对应相乘的过程中,两个乘数中有任一者为0时结果均为0,那么显然,对于任一特征元素和对应的权重元素来说,当这两个元素中任一者为0时,这两个元素对应相乘的结果必为0,因此对这两个元素相乘的运算属于冗余运算,会无意义地耗费计算时间。
而本实施例中,在计算任一特征向量和权重向量的数量积之前,会预先将特征向量和权重向量中相与为0且位置相同的元素过滤掉,在计算特征向量和权重向量的数量积的过程中,对于任一特征元素和对应的权重元素来说,当两个元素均不为0时才会计算这两个元素的乘积,而当这两个元素中任一者为0时,这两个元素都会被预先过滤掉,因此不会参与对应相乘的运算,从而避免了对相与结果为0的两个元素进行计算的过程,极大地加快了运算速度,提高了运算效率。
关于对特征向量和权重向量进行过滤的具体过程,以下通过步骤一和步骤二进行示例性阐述:
步骤一、对于任一特征向量以及对应的权重向量,对两个向量中位置相同的特征元素与权重元素进行与操作,得到特征元素和权重元素的与结果。
在卷积处理的过程中,特征图位于扫描窗口内的每个特征向量和卷积核对应的权重矩阵内的每个权重向量分别对应,例如假设卷积核大小为3×3,则扫描窗口内会有3个特征向量,扫描窗口内第1个特征向量和权重矩阵中第1个权重向量对应,扫描窗口中第2个特征向量和权重矩阵中第2个权重向量对应,扫描窗口中第3个特征向量和权重矩阵中第3个权重向量对应。
因此,对于M×M大小的扫描窗口内的第i个特征向量来说(i是指不小于1且不大于M的正整数),对应的权重向量即指权重矩阵内的第i个权重向量,计算机设备会对第i个特征向量和第i个权重向量中位置相同的特征元素与特征元素进行与操作,得到特征元素和权重元素的与结果,以便根据每个特征元素和权重元素的与结果对第i个特征向量和第i个权重向量进行过滤。
其中,与操作是指对两个元素进行逻辑相与的操作,在对特征元素和权重元素进行与操作的过程中,可以判断特征元素是否非0,并判断权重元素是否非0,当特征元素和权重元素均非0时,确定与结果为1,当特征元素和权重元素中一者为0时,确定与结果为0。在实施中,可以通过与门电路、与非门电路、非门电路等逻辑电路实现与操作的过程。
关于对第i个特征向量和第i个权重向量中位置相同的特征元素与特征元素进行与操作的具体过程,可以遍历特征向量和权重向量中的每个元素,对特征向量中第1个特征元素和权重向量中第1个权重元素进行操作,再对特征向量中第2个特征元素和权重向量中第2个权重元素进行操作,依次类推,直至对特征向量中最后一个特征元素和权重向量中最后一个权重元素进行操作完成。
步骤二、计算机设备根据特征元素和权重元素的与结果,从特征向量中过滤掉第一目标元素,从权重向量中过滤掉第二目标元素,得到过滤后的特征向量以及过滤后的权重向量,该第一目标元素以及该第二目标元素的与结果均为0。
当得到特征元素与权重元素的与结果后,若特征元素与权重元素的与结果为0,表明这两个元素中至少有一者为0,则计算机设备可以将两个元素分别从两个向量中过滤掉,若特征元素与权重元素的与结果为1,表明这两个元素中均不为0,则计算机设备可以保留这两个元素。那么,根据特征元素与权重元素的与结果,计算机设备可以对特征向量和权重向量进行过滤,得到过滤后的两个向量,过滤后的特征向量不包含第一目标元素,过滤后的权重向量不包含第二目标元素,因此后续根据过滤后的两个向量继续进行卷积处理时,能避免第一目标元素和第二目标元素造成的计算冗余,极大地加快了卷积处理的速度。
关于根据特征元素和权重元素的与结果,对特征向量和权重向量进行过滤的具体实现方式,示例性地,本实施例提供以下实现一和实现二:
实现一、为与结果为1的特征元素和权重元素添加预设标记,而不为与结果为其他数值的特征元素和权重元素添加预设标记,那么,通过预设标记的有无,可以区分与结果不同的特征元素以及权重元素,以便对特征向量和权重向量进行过滤。
具体来说,实现一具体可以包括以下(1)至(3)。
(1)对于特征向量中的任一特征元素以及权重向量中对应位置的权重元素,当特征元素和权重元素的与结果为1时,计算机设备为特征元素和权重元素添加预设标记,该预设标记用于指示对应的元素需要保留。
对于任一特征元素和权重元素,计算机设备可以判断特征元素和权重元素的与结果是否为1,当特征元素和权重元素的与结果为1时,为特征元素和权重元素添加预设标记,当特征元素和权重元素的与结果为0时,则无需为特征元素和权重元素添加预设标记。通过添加预设标记,可以达到这样的技术效果:计算机设备为特征向量中第一目标元素以外的元素添加上了预设标记,而没有为第一目标元素添加上预设标记,为权重向量中第二目标元素以外的元素添加上了预设标记,而没有为第二目标元素添加上预设标记,那么,后续通过预设标记的有无,即可将第一目标元素和第二目标元素与其他元素区分开来,以便对向量进行过滤。其中,该预设标记可以为1或者为其他数字、字母或标识符。
示例性地,假设特征向量为(7,5,0),对应的权重向量为(7,0,4),特征元素7和权重元素7的与结果为1,则会为特征元素7和权重元素7添加预设标记,而特征元素5和权重元素0的与结果为0、特征元素0和权重元素4的与结果为0,而无需对特征元素5、权重元素0、特征元素0和权重元素4添加预设标记。
需要说明的是,关于得到预设标记的具体实现方式,计算机设备可以当得到特征元素和权重元素的与结果后,生成预设标记,以便将生成的预设标记添加至特征元素以及权重元素中。另外,计算机设备也可以预先存储预设标记,当得到特征元素和权重元素的与结果后,调用预先存储的预设标记,以便将预设标记添加至特征元素以及权重元素中。
(2)从特征向量中获取出预设标记对应的至少一个特征元素,组成过滤后的特征向量。
为了从特征向量中过滤掉与结果为0的特征元素,而保留与结果为1的特征元素,计算机设备可以从特征向量中获取出预设标记对应的至少一个特征元素,该至少一个特征元素的与结果均为1,可以将该至少一个特征元素组成过滤后的特征向量。
其中,对于特征向量中的任一特征元素,可以判断该特征元素是否和预设标记对应,当该特征元素与预设标记对应时,从特征向量中获取出该特征元素,当该特征元素不与预设标记对应时,则继续判断下一个特征元素是否和预设标记对应,直至判断至最后一个特征元素结束后,可以获取出预设标记对应的至少一个特征元素。
本步骤中,由于预设标记对应的特征元素为除第一目标元素以外的特征元素,不与预设标记对应的特征元素为第一目标元素,获取出预设标记对应的至少一个特征元素并组成过滤后的特征向量后,过滤后的特征向量不包含第一目标元素,因此达到将第一目标元素从特征向量中过滤掉的效果。
(3)从权重向量中获取出预设标记对应的至少一个权重元素,组成过滤后的权重向量。
组成过滤后的权重向量的过程与组成过滤后的特征向量的过程同理,在此不做赘述。
本步骤中,由于预设标记对应的权重元素为除第二目标元素以外的权重元素,不与预设标记对应的权重元素为第二目标元素,获取出预设标记对应的至少一个权重元素并组成过滤后的权重向量后,过滤后的权重向量不包含第二目标元素,因此达到将第二目标元素从权重向量中过滤掉的效果。
示例性地,假设特征向量为(7,5,0),对应的权重向量为(7,0,4),则会从特征向量中获取出特征元素7,将特征元素7作为过滤后的特征向量,会从权重向量中获取出权重元素7,将权重元素7作为过滤后的权重向量。
需要说明的是,上述步骤一和步骤二仅是以对任一特征向量和对应的权重向量进行过滤的过程为例进行阐述,可以同理地对扫描窗口的至少一个特征向量以及权重矩阵内的至少一个权重向量均采用上述方法过滤,从而过滤掉至少一个特征向量和至少一个权重向量中相与为0且位置相同的元素。
实现二、可以为与结果为1的特征元素和权重元素添加第一标记,为与结果为0的特征元素和权重元素添加第二标记,那么,通过不同的标记,可以区分与结果不同的特征元素以及权重元素,从而对特征向量和权重向量进行过滤。
具体来说,实现二具体可以包括以下(1)至(3)。
(1)对于特征向量中的任一特征元素以及权重向量中对应位置的权重元素,当特征元素和权重元素的与结果为1时,计算机设备为特征元素和权重元素添加第一标记,当特征元素和权重元素的与结果为0时,计算机设备为特征元素和权重元素添加第二标记。
第一标记和第二标记用于区分与结果不同的元素,第一标记用于标记特征元素和权重元素的与结果为1,第二标记用于标记特征元素和权重元素的与结果为0,第一标记和第二标记均可以为预设的数字、字母或标识符。
关于添加标记的具体过程,对于任一特征元素和权重元素,当特征元素和权重元素的与结果为1时,计算机设备可以为特征元素和权重元素添加第一标记,当特征元素和权重元素的与结果为0时,计算机设备可以为特征元素和权重元素添加第二标记。
示例性地,假设特征向量为(7,5,0),对应的权重向量为(7,0,4),特征元素7和权重元素7的与结果为1,则会为特征元素7和权重元素7添加第一标记,而特征元素5和权重元素0的与结果为0,则会为特征元素5和权重元素0添加第二标记,特征元素0和权重元素4的与结果为0,则会为特征元素0和权重元素4添加第二标记。
(2)从特征向量中获取出第一标记对应的至少一个特征元素,组成过滤后的特征向量。
为了从特征向量中过滤掉与结果为0的特征元素,而保留与结果为1的特征元素,计算机设备可以从特征向量中获取出第一标记对应的至少一个特征元素,该至少一个特征元素的与结果均为1,可以将该至少一个特征元素组成过滤后的特征向量。
其中,对于特征向量中的任一特征元素,可以判断该特征元素是否和第一标记对应,当该特征元素与第一标记对应时,从特征向量中获取出该特征元素,当该特征元素不与第一标记对应时,则继续判断下一个特征元素是否和第一标记对应,直至判断至最后一个特征元素结束后,可以获取出第一标记对应的至少一个特征元素。
本步骤中,由于第一标记对应的特征元素为除第一目标元素以外的特征元素,第二标记对应的特征元素为第一目标元素,获取出第一标记对应的至少一个特征元素并组成过滤后的特征向量后,过滤后的特征向量不包含第一目标元素,因此达到将第一目标元素从特征向量中过滤掉的效果。
(3)从权重向量中获取出第一标记对应的至少一个权重元素,组成过滤后的权重向量。
组成过滤后的权重向量的过程与组成过滤后的特征向量的过程同理,在此不做赘述。
示例性地,假设特征向量为(7,5,0),对应的权重向量为(7,0,4),则会从特征向量中获取出特征元素7,将特征元素7作为过滤后的特征向量,会从权重向量中获取出权重元素7,将权重元素7作为过滤后的权重向量。
本步骤中,由于第一标记对应的权重元素为除第二目标元素以外的权重元素,第二标记对应的权重元素为第二目标元素,获取出第一标记对应的至少一个权重元素并组成过滤后的权重向量后,过滤后的权重向量不包含第二目标元素,因此达到将第二目标元素从权重向量中过滤掉的效果。
需要说明的是,关于得到第一标记和第二标记的具体实现方式,计算机设备可以当得到特征元素和权重元素的与结果后,生成第一标记和/或第二标记,以便将生成的第一标记和/或第二标记添加至特征元素以及权重元素中。另外,计算机设备也可以预先存储第一标记和/或第二标记,当得到特征元素和权重元素的与结果后,调用存储的第一标记和/或第二标记,以便将第一标记和/或第二标记添加至特征元素以及权重元素中。
404、计算机设备基于过滤后的至少一个特征向量和过滤后的至少一个权重向量继续进行卷积。
当得到扫描窗口内过滤后的至少一个特征向量以及卷积核的过滤后的至少一个权重向量后,会对过滤后的至少一个特征向量和过滤后的至少一个权重向量继续进行卷积,最终得到过滤后的至少一个特征向量和过滤后的至少一个权重向量的卷积结果,将卷积结果作为扫描窗口对应的一个特征点。
其中,针对进行卷积的具体过程,可以对过滤后的特征向量和过滤后的权重向量进行对应相乘并累加,即,计算过滤后的第1个特征向量和过滤后的第1个权重向量的数量积,计算过滤后的第2个特征向量和过滤后的第2个权重向量的数量积,依次类推,得到每个过滤后的特征向量和过滤后的权重向量的数量积后,计算得到的至少一个数量积的和值,作为卷积结果。
需要说明的是,由于本发明中仅是过滤了特征向量和权重向量中相与为0且位置相同的元素,而保留了特征向量和权重向量中的其他元素,因此,相对于对过滤前的特征向量以及过滤前的权重向量进行卷积处理来说,对过滤后的特征向量以及过滤后的权重向量在极大地减少计算量的基础上,可以保证进行卷积处理的计算结果不会发生变化,不会影响到卷积处理的准确性。
示例性地,参见图1,过滤前扫描窗口内的至少一个图像向量包括(6,2,0)、(0,3,7)和(7,5,0),过滤前卷积核对应的权重向量包括(2,5,0)、(0,1,1)和(7,0,4),经过上述过滤的过程,过滤后的至少一个图像向量包括(6,2,)、(3,7)和(7),过滤后的至少一个权重向量包括(2,5)、(1,1)和(7),可以计算(6,2,)和(2,5)的数量积=6*2+2*5=22,计算(3,7)和(1,1)的数量积=3*1+7*1=10,计算(7)和(7)的数量积=7*7=49,则累加三个数量积=10+10+49=74,作为该扫描窗口的特征点。由计算结果验证可知,对权重向量和特征向量进行过滤后,卷积处理仅是减少了计算量,而不会影响卷积处理的准确性。
综上所述,通过上述步骤401-步骤404,计算机设备可以得到扫描窗口位于当前所处区域时卷积处理的特征点。之后,卷积核的扫描窗口可以在特征图上滑动一个步长,从而滑动至下一区域,计算机设备可以同理地针对下一区域进行卷积处理,得到下一区域对应的特征点。当扫描窗口在特征图上滑动结束后,计算机设备可以得到多个特征点,可以根据多个特征点得到特征图。
405、计算机设备基于卷积得到的特征点,得到任一个层输出的特征图。
当得到特征图中每个区域卷积处理后的特征点后,可以将得到的多个特征点组成特征图,并输出该层的特征图,以便下一个层接收该特征图,同理地对接收到的特征图进行卷积处理。依次类推,直至最后一个层同理地对接收到的特征图进行卷积处理,输出特征图为止。
可选地,当得到任一个层输出的特征图后,可以先对特征图进行激活操作,再将激活操作后的特征图输入至下一个层中。其中,激活操作是指采用激活函数对特征图进行计算,从而对特征图实现非线性变换的操作。激活函数通常为Relu函数,Relu函数的数学表达式f(x)=max(0,x),会将输入的特征图中小于0的特征点均转化为0,从而导致特征图产生高稀疏性。另外,还可以先对特征图进行池化操作,再将池化操作后的特征图输入至下一个层中,其中池化操作是指对特征图进行降采样,例如可以采用max-pooling方式进行降采样。
需要说明的第一点是,本发明可以应用于深度神经网络的卷积层、全连接层和递归层等各种类型的层,同时可以在线运行,而无需在预先对深度神经网络进行训练的过程中平衡负载。同时,本发明实施例不对特征图中特征元素的稀疏分布做要求,也不对权重矩阵的稀疏分布做要求,灵活性较高。
需要说明的第二点是,当层具有多个卷积核时,多个卷积核的计算顺序可以根据卷积核中0的数量与权重元素的数量之间的比值的大小顺序确定,例如多个卷积核可以根据对应卷积核中0的数量与权重元素的数量之间的比值,按照该比值从大到小的顺序依次计算,或者多个卷积核可以按照该比值从小到大的顺序依次计算。其中,卷积核中0的数量与权重元素的数量之间的比值可以定义为卷积核的权重稀疏度,例如对于图1所示的卷积核来说,权重稀疏度=4/9=44.4%。
以多个卷积核按照权重稀疏度从大到小的顺序依次计算为例,在实施中,对于任一层来说,可以确定该层的多个卷积核,对于每个卷积核,获取该卷积核中0的数量与卷积核中权重元素的数量,计算0的数量与权重元素的数量的比值,得到该卷积核的权重稀疏度。之后将多个卷积核按照权重稀疏度从大到小的顺序的排列,按照每个卷积核的顺序,依次采用每个卷积核进行计算。
通过根据权重稀疏度的顺序确定多个卷积核的计算处理,能够避免计算量产生过大的跳变,具体阐述如下:
卷积核的权重稀疏度会直接影响到卷积处理时的计算量,卷积核的权重稀疏度越大,则基于该卷积核对特征图进行卷积处理时,计算量越少。在基于多个卷积核对特征图进行处理的过程中,如果相邻两次卷积处理的过程中卷积核的权重稀疏度相差过大,将导致计算量陡变。例如,如果某次先是基于某个权重稀疏度很高的卷积核对特征图进行卷积处理,之后又基于某个权重稀疏度很低的卷积核对特征图进行卷积处理,卷积处理的计算量会发生激增。而这种计算量陡变的情况容易影响到设备的运行性能,引发宕机的风险。
而本实施例中,通过权重稀疏度的顺序确定多个卷积核的计算顺序,在基于多个卷积核对特征图进行多次卷积处理的过程中,多次卷积处理过程中卷积核的权重稀疏度均匀变化,则多次卷积处理过程中的计算量也会均匀变化,不会出现计算量忽高忽低、反复跳变的情况,保证设备运行的稳定性。
本发明实施例提供的方法,在基于深度神经网络进行图像识别的过程中,通过将特征向量中冗余的第一目标元素以及权重向量中冗余的第二目标元素过滤掉,基于过滤后的特征向量和过滤后的权重向量进行卷积处理,避免了第一目标元素以及第二目标元素带来的无效运算,极大地减少了卷积处理的计算量,从而加快了图像识别的速度,提高了图像识别的效率。
在上述图4实施例中,对特征图进行卷积处理的过程可以由PE(ProcessingElement,计算单元)执行。处理单元是一种具有计算功能的硬件,可以包括加法器、乘法器、缓存器等多个电路单元,处理单元用于对输入的特征向量和权重向量进行相乘和累加的操作,输出特征点。
具体来说,参见图6,图6是本发明实施例提供的一种处理单元的电路结构图,处理单元可以包括四个缓存器、一个乘法器以及一个加法器,四个缓存器分别为Reg1、Reg2、Reg3、Reg4。其中,Reg1、Reg2和乘法器电性连接,乘法器和Reg3电性连接,Reg3和加法器电性连接,加法器和Reg4电性连接。
Reg1用于缓存过滤后的特征向量,Reg2用于缓存过滤后的权重向量,乘法器用于获取过滤后的特征向量以及过滤后的权重向量的乘积,输出给Reg3。Reg3用于缓存过滤后的特征向量以及过滤后的权重向量的乘积,输出给加法器。加法器用于对Reg3输出的结果进行累加,输出给Reg4,Reg4用于缓存累加的结果,输出特征点。
在上述图4实施例的基础上,本发明实施例还设计了由多个处理单元对特征图并行地进行卷积处理的方法,参见图7,该方法可以包括:
701、当深度神经网络的任一个层接收到特征图时,计算机设备对特征图进行划分,得到多个特征图块。
为了分担对特征图进行卷积处理的计算量,计算机设备可以将特征图划分为多个特征图块,以便将不同特征图块的处理任务分配给不同处理单元,从而由多个处理单元并行运算,充分发挥多个处理单元的性能优势。
具体地,可以根据处理单元的数量对特征图进行划分,将处理单元的数目作为划分的特征图块的数目,有多少个处理单元就将特征图划分为多少个特征图块,以便每个处理单元负责对一个特征图块进行卷积处理。可选地,可以采用均分的方式,将特征图划分为多个等大的特征图块,即划分出的多个特征图块的面积可以相同。示例性地,参见图8,假设处理单元的数量为4,可以将特征图均分为4个特征图块。
针对特征图块的存储方式,在一种可能的实现中,可以设置多个存储器,在划分得到特征图的多个特征图块后,可以对多个特征图块进行存储划分,将每个特征图块存储至对应的存储器中。其中,可以将不同特征图块存储至不同存储器,处理单元可以从不同存储器中读取到不同的特征图块,那么,处理单元只需切换读取数据的存储器,即可切换卷积处理的特征图块,从而灵活、快速、高效地切换卷积处理的特征图块。
示例性地,可以设置4个存储器,并将特征图划分为4个特征图块,将每个特征图块存储至1个存储器中。例如,请参见图9,由1号存储器存储图块①,由2号存储器存储图块②,由3号存储器存储图块③,由4号存储器存储图块④。结合这种存储方式,假设处理单元原先负责对图块①进行卷积处理,从1号存储器读取数据,当处理单元切换为负责对图块②进行卷积处理时,切换为从2号存储器读取数据即可。
关于存储器的具体类型,可选地,可以采用双端口存储器存储特征图块,将每个特征图块存储至对应的双端口存储器中。其中,双端口存储器是指具有两组独立的读写控制电路的存储器,这两组读写控制电路能够向不同对象同时提供存储的数据。通过采用双端口存储器存储特征图块,可以并行出数,即同时向两个处理单元提供特征图块,从而避免稀疏调度时两个处理单元需要访问同一个存储器时可能产生操作冲突的技术问题,提高均衡调度处理单元的稳健性。
具体来说,由于不同图块的稀疏分布不同,对图块中冗余的第一目标元素以及卷积核中冗余的第二目标元素进行过滤后,对不同图块进行卷积处理的计算量会产生差异。示例性地,假设特征图中图块①的特征元素较为稀疏,图块②的特征元素较为稠密,则从图块①过滤出的第一目标元素较多,剩余的要卷积处理的特征元素较少,显然对图块①进行卷积处理的计算量较小,从图块②过滤出的第一目标元素较少,剩余的要卷积处理的特征元素较多,显然对图块②进行卷积处理的计算量较大。
由此可见,各个处理单元采用同一个卷积核对不同特征图块进行卷积处理时,不同处理单元会由于计算量的不同,产生处理速度的差异,从而在完成卷积处理的时间上形成一定的先后顺序。例如,如果图块①的特征元素较为稀疏,图块②的特征元素较为稠密,负责图块①的处理单元会先卷积处理完成,负责图块②的处理单元会后卷积处理完成。
在不同处理单元完成卷积处理的时间不同的情况下,如果先完成卷积处理的处理单元要等待后完成卷积处理的处理单元处理完成,才能继续卷积处理,则会耗费较长的时间,效率较低。
而本实施例中,通过采用双端口存储器存储特征图块,双端口存储器在为通过上一个卷积核进行卷积处理的处理单元提供特征图块的同时,还可以为通过下一个卷积核进行卷积处理的处理单元提供该特征图块,如此,两个处理单元可以同时从双端口存储器读取数据,以便两个处理单元针对同一个特征图块,采用不同的卷积核同时进行卷积处理。例如,假设处理单元1从1号存储器读取图块①,采用卷积核1对图块①进行卷积处理,处理单元2从2号存储器读取图块②,采用卷积核2对图块②进行卷积处理,此时处理单元1处理完成,处理单元2尚未处理完成,此时处理单元1无需等待处理单元2,直接从2号存储器读取图块②即可,2号存储器可以同时为处理单元1和处理单元2提供图块②,保证处理单元1和处理单元2不会产生读取数据的冲突。
702、计算机设备通过多个处理单元分别对多个特征图块进行卷积处理。
计算机设备可以将每个特征图块分配给每个处理单元,通过每个处理单元执行上述图4实施例中的步骤203,对分配的特征图块进行卷积处理。具体地,对于任一处理单元和对应的特征图块来说,可以获取特征图块位于扫描窗口内的至少一个特征向量和卷积核对应的至少一个权重向量,过滤至少一个特征向量和至少一个权重向量中相与为0且位置相同的元素,将过滤后的至少一个特征向量和过滤后的至少一个权重向量输入至处理单元中,由处理单元对过滤后的至少一个特征向量和过滤后的至少一个权重向量继续进行卷积,输出特征点。之后,可以将多个处理单元输出的特征点进行组合,得到特征图。
其中,针对处理单元内部计算的具体过程,参见图6,处理单元可以采用reg1缓存过滤后的特征向量,采用reg2缓存过滤后的权重向量,通过乘法器对过滤后的特征向量和过滤后的权重向量进行相乘,再通过加法器累加相乘得到的至少一个结果,最终输出特征点。可选地,处理单元还可以执行激活操作,即采用激活函数对特征点进行计算,将每个激活的特征点组成激活的特征图。
本实施例中,在采用多个处理单元共同对特征图进行卷积处理的基础上,还提供了一种分配特征图块的设计,能够保证多个处理单元负载均衡。具体地,该设计包括以下(1)和(2):
(1)在多个处理单元进行卷积处理的过程中,当任一处理单元最先处理完成时,将上一次卷积处理的过程中最后处理完成的特征图块分配给处理单元,由处理单元基于下一个卷积核对特征图块进行卷积处理。
在每次分配特征图块的过程中,可以坚持让每次计算最快的处理单元,下一次负责数据最稠密的特征图块。具体地,在多个处理单元基于某个卷积核,对各自分配的特征图块进行卷积处理的过程中,可以监测每个处理单元是否已经对特征图块处理完成,当任一处理单元最先对特征图块处理完成时,会将上一次卷积处理的过程中最后处理完成的特征图块分配给该处理单元,该处理单元会基于下一个卷积核,对上一次卷积处理的过程中最后处理完成的特征图块进行卷积处理。
通过这种分配特征图块的方式,可以避免性能上的木桶效应:
特征图的不同特征图块的稀疏分布情况可能不同,有的特征图块较为稠密,有的特征图块较为稀疏,经过上述过滤过程后,稀疏度不同的特征图块的计算量会产生差异,稀疏度较高的特征图块会由于特征元素被大量过滤,数据量大量减少,则对该特征图块进行卷积处理的计算量会明显少于其他特征图块。
如果固定由同一个处理单元基于至少一个卷积核分别对该特征图块进行卷积处理,该处理单元分担的计算量会显著少于其他处理单元分担的计算量,导致该处理单元会提前其他处理单元完成卷积处理的任务,要空闲下来,等待其他处理单元均卷积处理完成,才能进行下一层的卷积处理,导致产生木桶效应,计算效率很低。
而本实施例中,当任一处理单元最先对特征图块处理完成时,表明该处理单元本次分配的特征图块的特征元素最稀疏,即该特征图块被过滤掉的特征元素最多,则会确定上一次卷积处理的过程中最后处理完成的特征图块,该特征图块为上一次卷积处理的过程中最稠密的特征图块,将该特征图块分配给处理单元后,能够保证处理单元下一次卷积处理时的计算量较大,从而均衡处理单元整体的计算量,保证该处理单元的计算量相对于其他处理单元来说较为均匀。
(2)在多个处理单元进行卷积处理的过程中,当任一处理单元最后处理完成时,将上一次卷积处理的过程中最先处理完成的特征图块分配给处理单元,由处理单元基于下一个卷积核对特征图块进行卷积处理。
在每次分配特征图块的过程中,可以坚持让每次计算最慢的处理单元,下一次负责数据最稀疏的特征图块。具体地,在多个处理单元基于某个卷积核,对各自分配的特征图块进行卷积处理的过程中,可以监测每个处理单元是否已经对特征图块处理完成,当任一处理单元最后对特征图块处理完成时,会将上一次卷积处理的过程中最先处理完成的特征图块分配给该处理单元,该处理单元会基于下一个卷积核,对上一次卷积处理的过程中最先处理完成的特征图块进行卷积处理。
通过这种分配特征图块的方式,能够极大地减少对特征图进行卷积处理的整体计算时长:当任一处理单元最后对特征图块处理完成时,表明该处理单元本次分配的特征图块的特征元素最稠密,即该特征图块被过滤掉的特征元素最少,则会确定上一次卷积处理的过程中最先处理完成的特征图块,该特征图块为上一次卷积处理的过程中最稀疏的特征图块,将该特征图块分配给处理单元后,能够保证处理单元下一次卷积处理时的计算量较小,从而均衡处理单元整体的计算量,保证该处理单元的计算量相对于其他处理单元来说较为均匀。
需要说明的是,在多个处理单元进行卷积处理的过程中,对于非最先处理完成也非最后处理完成的至少一个处理单元来说,可以将至少一个处理单元的特征图块相互调换,以保证处理单元每次卷积处理的特征图块和上一次卷积处理的特征图块不同。那么,在基于多个卷积核进行卷积处理的过程中,会实现每个处理单元轮流卷积处理不同的特征图块的效果,保证每个处理单元总体的计算量一致,实现均衡调度。
通过这种均衡调度机制,在通过去掉0值操作以极大地减少计算量的基础上,保证各个处理单元卷积处理的时长基本相等,避免每个处理单元要等待其他处理单元的情况,提高了运行效率,减少了运算时延。同时,调度各个特征图块的原则非常容易实现,不需要额外的电路逻辑,对于每个处理单元来说,仅是切换为其分配的特征图块,因此开销和能耗较低,实现了接近于零代价的调度切换策略,从而避免深度神经网络稀疏运算后的负载不均衡的情况。
需要说明的是,可以将本发明实施例提供的图像识别方法作为一种通用的深度神经网络的架构,制造专门的处理器以执行本发明实施例提供的图像识别方法。具体地,处理器内部可以集成多个处理单元、移位寄存器、子存储等硬件单元,处理器可以通过驱动各个硬件单元执行上述识别图像的过程,例如通过驱动处理单元执行卷积处理的过程。结合上述图4实施例和图7实施例,处理器内部的逻辑结构可以如图9所示。
图10是本发明实施例提供的一种图像识别装置的结构示意图。参见图10,该装置包括:获取模块1001、过滤模块1002、卷积模块1003和输出模块1004。
获取模块1001,用于在图像识别过程中,当深度神经网络的任一个层接收到特征图时,基于该层内卷积核对应的扫描窗口,获取该特征图位于扫描窗口内的至少一个特征向量,该深度神经网络用于根据输入的图像的特征图进行图像识别;
该获取模块1001,还用于获取该卷积核对应的至少一个权重向量;
过滤模块1002,用于过滤该至少一个特征向量中的第一目标元素以及该至少一个权重向量中的第二目标元素,该第一目标元素和该第二目标元素相与为0,且该第一目标元素在特征向量中的位置与该第二目标元素在权重向量的位置相同;
卷积模块1003,用于基于过滤后的至少一个特征向量和过滤后的至少一个权重向量继续进行卷积;
输出模块1004,用于基于卷积得到的特征点,得到该任一个层输出的特征图。
在一种可能的设计中,该过滤模块1002,包括:
与操作子模块,用于对于任一特征向量以及对应的权重向量,对两个向量中位置相同的特征元素与权重元素进行与操作,得到特征元素和权重元素的与结果;
过滤子模块,用于根据特征元素和权重元素的与结果,从该特征向量中过滤掉该第一目标元素,从该权重向量中过滤掉该第二目标元素,得到过滤后的特征向量以及过滤后的权重向量。
其中,该第一目标元素以及该第二目标元素的与结果均为0。
在一种可能的设计中,该过滤子模块,还用于对于该特征向量中的任一特征元素以及该权重向量中对应位置的权重元素,当该特征元素和该权重元素的与结果为1时,为该特征元素和权重元素添加预设标记;
从该特征向量中获取出该预设标记对应的至少一个特征元素,组成该过滤后的特征向量;
从该权重向量中获取出该预设标记对应的至少一个权重元素,组成该过滤后的权重向量。
在一种可能的设计中,该获取模块1001,包括:
读取子模块,用于对于该扫描窗口内的指定区域,从移位寄存器中读取该特征图位于该指定区域内的特征向量,该指定区域是指该扫描窗口当前所处区域与窗口滑动前所处区域之间的重叠区域,该指定区域内的特征向量在对该窗口滑动前所处区域进行卷积处理时缓存至该移位寄存器中;
加载子模块,用于对于该扫描窗口内的指定区域之后的其余区域,加载该特征图位于该其余区域内的特征向量,并将该其余区域内的特征向量缓存至该移位寄存器中。
在一种可能的设计中,该获取模块1001,包括:
划分子模块,用于当该深度神经网络的任一个层接收到该特征图时,对该特征图进行划分,得到多个特征图块;
分配子模块,用于通过多个处理单元分别对该多个特征图块进行卷积处理。
在一种可能的设计中,该分配子模块,用于:在多个处理单元进行卷积处理的过程中,当任一处理单元最先处理完成时,将上一次卷积处理的过程中最后处理完成的特征图块分配给该处理单元,由该处理单元基于下一个卷积核对该特征图块进行卷积处理;或,在多个处理单元进行卷积处理的过程中,当任一处理单元最后处理完成时,将上一次卷积处理的过程中最先处理完成的特征图块分配给该处理单元,由该处理单元基于下一个卷积核对该特征图块进行卷积处理。
在一种可能的设计中,该装置还包括:存储模块,用于将每个特征图块存储至对应的双端口存储器中,该双端口存储器用于同时为至少两个处理单元提供特征图块。
在一种可能的设计中,深度神经网络中的任一个层包括多个卷积核,且该多个卷积核的计算顺序根据卷积核中0的数量与权重元素的数量之间的比值的大小顺序确定。
需要说明的是:上述实施例提供的图像识别装置在识别图像时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像识别装置与图像识别方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11是本发明实施例提供的一种计算机设备的结构示意图,该计算机设备1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)1101和一个或一个以上的存储器1102,其中,所述存储器1102中存储有至少一条指令,所述至少一条指令由所述处理器1101加载并执行以实现上述各个方法实施例提供的方法。当然,该计算机设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由计算机设备中的处理器执行以完成上述实施例中的图像识别方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种图像识别方法,其特征在于,所述方法包括:
在图像识别过程中,当深度神经网络的任一个层接收到特征图时,基于所述层内卷积核对应的扫描窗口,获取所述特征图位于扫描窗口内的至少一个特征向量,所述深度神经网络用于根据输入的图像的特征图进行图像识别;
获取所述卷积核对应的至少一个权重向量;
过滤所述至少一个特征向量中的第一目标元素以及所述至少一个权重向量中的第二目标元素,所述第一目标元素和所述第二目标元素相与为0,且所述第一目标元素在特征向量中的位置与所述第二目标元素在权重向量的位置相同;
基于过滤后的至少一个特征向量和过滤后的至少一个权重向量继续进行卷积;
基于卷积得到的特征点,得到所述任一个层输出的特征图。
2.根据权利要求1所述的方法,其特征在于,所述过滤所述至少一个特征向量中的第一目标元素以及所述至少一个权重向量中的第二目标元素,包括:
对于任一特征向量以及对应的权重向量,对两个向量中位置相同的特征元素与权重元素进行与操作,得到特征元素和权重元素的与结果;
根据特征元素和权重元素的与结果,从所述特征向量中过滤掉所述第一目标元素,从所述权重向量中过滤掉所述第二目标元素,得到过滤后的特征向量以及过滤后的权重向量;
其中,所述第一目标元素以及所述第二目标元素的与结果均为0。
3.根据权利要求2所述的方法,其特征在于,所述根据特征元素和权重元素的与结果,从所述特征向量中过滤掉所述第一目标元素,从所述权重向量中过滤掉所述第二目标元素,得到过滤后的特征向量以及过滤后的权重向量,包括:
对于所述特征向量中的任一特征元素以及所述权重向量中对应位置的权重元素,当所述特征元素和所述权重元素的与结果为1时,为所述特征元素和权重元素添加预设标记;
从所述特征向量中获取出所述预设标记对应的至少一个特征元素,组成所述过滤后的特征向量;
从所述权重向量中获取出所述预设标记对应的至少一个权重元素,组成所述过滤后的权重向量。
4.根据权利要求1、权利要求2或权利要求3所述的方法,其特征在于,所述基于所述层内卷积核对应的扫描窗口,获取所述特征图中位于扫描窗口内的多个特征向量,包括:
对于所述扫描窗口内的指定区域,从移位寄存器中读取所述特征图位于所述指定区域内的特征向量,所述指定区域是指所述扫描窗口当前所处区域与窗口滑动前所处区域之间的重叠区域,所述指定区域内的特征向量在对所述窗口滑动前所处区域进行卷积处理时缓存至所述移位寄存器中;
对于所述扫描窗口内的指定区域之后的其余区域,加载所述特征图位于所述其余区域内的特征向量,并将所述其余区域内的特征向量缓存至所述移位寄存器中。
5.根据权利要求1、权利要求2或权利要求3所述的方法,其特征在于,所述方法还包括:
当所述深度神经网络的任一个层接收到所述特征图时,对所述特征图进行划分,得到多个特征图块;
通过多个处理单元分别对所述多个特征图块进行卷积处理。
6.根据权利要求5所述的方法,其特征在于,所述通过多个处理单元分别对所述多个特征图块进行卷积处理包括:
在多个处理单元进行卷积处理的过程中,当任一处理单元最先处理完成时,将上一次卷积处理的过程中最后处理完成的特征图块分配给所述处理单元,由所述处理单元基于下一个卷积核对所述特征图块进行卷积处理;或,
在多个处理单元进行卷积处理的过程中,当任一处理单元最后处理完成时,将上一次卷积处理的过程中最先处理完成的特征图块分配给所述处理单元,由所述处理单元基于下一个卷积核对所述特征图块进行卷积处理。
7.根据权利要求5或权利要求6所述的方法,其特征在于,所述对所述特征图进行划分,得到多个特征图块之后,所述方法还包括:
将每个特征图块存储至对应的双端口存储器中,所述双端口存储器用于同时为至少两个处理单元提供特征图块。
8.根据权利要求1、权利要求2或权利要求3所述的方法,其特征在于,所述深度神经网络中的任一个层包括多个卷积核,且所述多个卷积核的计算顺序根据卷积核中0的数量与权重元素的数量之间的比值的大小顺序确定。
9.一种图像识别装置,其特征在于,所述装置包括:
获取模块,用于在图像识别过程中,当深度神经网络的任一个层接收到特征图时,基于所述层内卷积核对应的扫描窗口,获取所述特征图位于扫描窗口内的至少一个特征向量,所述深度神经网络用于根据输入的图像的特征图进行图像识别;
所述获取模块,还用于获取所述卷积核对应的至少一个权重向量;
过滤模块,用于过滤所述至少一个特征向量中的第一目标元素以及所述至少一个权重向量中的第二目标元素,所述第一目标元素和所述第二目标元素相与为0,且所述第一目标元素在特征向量中的位置与所述第二目标元素在权重向量的位置相同;
卷积模块,用于基于过滤后的至少一个特征向量和过滤后的至少一个权重向量继续进行卷积;
输出模块,用于基于卷积得到的特征点,得到所述任一个层输出的特征图。
10.根据权利要求9所述的装置,其特征在于,所述过滤模块,包括:
与操作子模块,用于对于任一特征向量以及对应的权重向量,对两个向量中位置相同的特征元素与权重元素进行与操作,得到特征元素和权重元素的与结果;
过滤子模块,用于根据特征元素和权重元素的与结果,从所述特征向量中过滤掉所述第一目标元素,从所述权重向量中过滤掉所述第二目标元素,得到过滤后的特征向量以及过滤后的权重向量;
其中,所述第一目标元素以及所述第二目标元素的与结果均为0。
11.根据权利要求9或权利要求10所述的装置,其特征在于,所述获取模块,包括:
读取子模块,用于对于所述扫描窗口内的指定区域,从移位寄存器中读取所述特征图位于所述指定区域内的特征向量,所述指定区域是指所述扫描窗口当前所处区域与窗口滑动前所处区域之间的重叠区域,所述指定区域内的特征向量在对所述窗口滑动前所处区域进行卷积处理时缓存至所述移位寄存器中;
加载子模块,用于对于所述扫描窗口内的指定区域之后的其余区域,加载所述特征图位于所述其余区域内的特征向量,并将所述其余区域内的特征向量缓存至所述移位寄存器中。
12.根据权利要求9、权利要求10或权利要求11所述的装置,其特征在于,所述获取模块,包括:
划分子模块,用于当所述深度神经网络的任一个层接收到所述特征图时,对所述特征图进行划分,得到多个特征图块;
分配子模块,用于通过多个处理单元分别对所述多个特征图块进行卷积处理。
13.根据权利要求12所述的装置,其特征在于,所述分配模块,用于在多个处理单元进行卷积处理的过程中,当任一处理单元最先处理完成时,将上一次卷积处理的过程中最后处理完成的特征图块分配给所述处理单元,由所述处理单元基于下一个卷积核对所述特征图块进行卷积处理;或,用于在多个处理单元进行卷积处理的过程中,当任一处理单元最后处理完成时,将上一次卷积处理的过程中最先处理完成的特征图块分配给所述处理单元,由所述处理单元基于下一个卷积核对所述特征图块进行卷积处理。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求8任一项所述的图像识别方法所执行的操作。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求8任一项所述的图像识别方法所执行的操作。
CN201810331869.2A 2018-04-13 2018-04-13 图像识别方法及装置 Active CN110163042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810331869.2A CN110163042B (zh) 2018-04-13 2018-04-13 图像识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810331869.2A CN110163042B (zh) 2018-04-13 2018-04-13 图像识别方法及装置

Publications (2)

Publication Number Publication Date
CN110163042A CN110163042A (zh) 2019-08-23
CN110163042B true CN110163042B (zh) 2023-05-30

Family

ID=67644747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810331869.2A Active CN110163042B (zh) 2018-04-13 2018-04-13 图像识别方法及装置

Country Status (1)

Country Link
CN (1) CN110163042B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110826694B (zh) * 2019-10-30 2021-06-11 瀚博半导体(上海)有限公司 一种基于卷积神经网络的图像处理方法及装置
US11755683B2 (en) 2019-12-23 2023-09-12 Western Digital Technologies, Inc. Flexible accelerator for sparse tensors (FAST) in machine learning
CN111178508B (zh) * 2019-12-27 2024-04-05 珠海亿智电子科技有限公司 用于执行卷积神经网络中全连接层的运算装置及方法
US11797830B2 (en) 2020-03-25 2023-10-24 Western Digital Technologies, Inc. Flexible accelerator for sparse tensors in convolutional neural networks
US11462003B2 (en) * 2020-03-25 2022-10-04 Western Digital Technologies, Inc. Flexible accelerator for sparse tensors in convolutional neural networks
CN113554145B (zh) * 2020-04-26 2024-03-29 伊姆西Ip控股有限责任公司 确定神经网络的输出的方法、电子设备和计算机程序产品
CN111915001B (zh) * 2020-08-18 2024-04-12 腾讯科技(深圳)有限公司 卷积计算引擎、人工智能芯片以及数据处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022982A (zh) * 2014-04-22 2015-11-04 北京邮电大学 手部运动识别方法和装置
CN106599883A (zh) * 2017-03-08 2017-04-26 王华锋 一种基于cnn的多层次图像语义的人脸识别方法
CN107239824A (zh) * 2016-12-05 2017-10-10 北京深鉴智能科技有限公司 用于实现稀疏卷积神经网络加速器的装置和方法
WO2018003212A1 (ja) * 2016-06-30 2018-01-04 クラリオン株式会社 物体検出装置及び物体検出方法
CN107729819A (zh) * 2017-09-22 2018-02-23 华中科技大学 一种基于稀疏全卷积神经网络的人脸标注方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8472718B2 (en) * 2011-04-27 2013-06-25 Sony Corporation Superpixel segmentation methods and systems
US10891538B2 (en) * 2016-08-11 2021-01-12 Nvidia Corporation Sparse convolutional neural network accelerator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022982A (zh) * 2014-04-22 2015-11-04 北京邮电大学 手部运动识别方法和装置
WO2018003212A1 (ja) * 2016-06-30 2018-01-04 クラリオン株式会社 物体検出装置及び物体検出方法
CN107239824A (zh) * 2016-12-05 2017-10-10 北京深鉴智能科技有限公司 用于实现稀疏卷积神经网络加速器的装置和方法
CN106599883A (zh) * 2017-03-08 2017-04-26 王华锋 一种基于cnn的多层次图像语义的人脸识别方法
CN107729819A (zh) * 2017-09-22 2018-02-23 华中科技大学 一种基于稀疏全卷积神经网络的人脸标注方法

Also Published As

Publication number Publication date
CN110163042A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110163042B (zh) 图像识别方法及装置
US11797853B2 (en) Processing for multiple input data sets
CN110050267B (zh) 用于数据管理的系统和方法
US20230325348A1 (en) Performing concurrent operations in a processing element
CN109871936B (zh) 用于处理神经网络中的卷积运算的方法和装置
CN108197532A (zh) 人脸识别的方法、装置及计算机装置
CN108491827B (zh) 一种车辆检测方法、装置及存储介质
US20210182025A1 (en) Accelerating 2d convolutional layer mapping on a dot product architecture
CN109740508B (zh) 一种基于神经网络系统的图像处理方法及神经网络系统
CN111709415B (zh) 目标检测方法、装置、计算机设备和存储介质
CN114626503A (zh) 模型的训练方法、目标检测方法、装置、电子设备及介质
CN112734827A (zh) 一种目标检测方法、装置、电子设备和存储介质
CN114612791A (zh) 一种基于改进注意力机制的目标检测方法及装置
CN111814957A (zh) 神经网络运算方法及相关设备
JP2022137247A (ja) 複数の入力データセットのための処理
US11537090B2 (en) Model calculating unit and control unit for selectively calculating an RBF model, a gaussian process model and an MLP model
CN112749576B (zh) 图像识别方法和装置、计算设备以及计算机存储介质
US11868875B1 (en) Data selection circuit
CN111767243A (zh) 数据处理方法、相关设备及计算机可读介质
US11636569B1 (en) Matrix transpose hardware acceleration
CN117063182A (zh) 一种数据处理方法和装置
CN114724103A (zh) 神经网络处理系统、指令生成方法、装置及电子设备
CN108012191B (zh) 视频数据处理方法及装置、计算设备、介质
CN109451018B (zh) 信息对象的推送方法、计算设备及计算机存储介质
CN114595811A (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