CN114780910B - 用于稀疏化卷积计算的硬件系统和计算方法 - Google Patents
用于稀疏化卷积计算的硬件系统和计算方法 Download PDFInfo
- Publication number
- CN114780910B CN114780910B CN202210678136.2A CN202210678136A CN114780910B CN 114780910 B CN114780910 B CN 114780910B CN 202210678136 A CN202210678136 A CN 202210678136A CN 114780910 B CN114780910 B CN 114780910B
- Authority
- CN
- China
- Prior art keywords
- data
- convolution calculation
- module
- convolution
- unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种用于稀疏化卷积计算的硬件系统和计算方法,硬件系统包括数据获取模块、监测模块和卷积计算模块,数据获取模块分别与监测模块和卷积计算模块连接,用于获取权重数据和目标数据,并将获取的权重数据输入至监测模块,以及将获取的目标数据输入至卷积计算模块;监测模块与卷积计算模块连接,用于基于预设阈值对数据获取模块输入的权重数据进行筛选,将筛选得到的关键影响数据输入至卷积计算模块;卷积计算模块,用于根据监测模块输入的关键影响数据对数据获取模块输入的目标数据进行卷积计算,以获得目标数据对应的卷积输出结果。本发明整体架构额外开销较小,可以降低卷积计算模块的计算功耗,提高整体运算速度以及流水线计算效率。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种用于稀疏化卷积计算的硬件系统和计算方法。
背景技术
卷积神经网络作为人工智能技术,被广泛地应用于各个领域,为人们的生活带来了便利。卷积神经网络经过多年的发展,从最初较为简单的手写字符识别应用,逐渐扩展到一些更为复杂的领域,比如:行人检测、行为识别、人体姿势识别、图像识别等。
卷积计算作为卷积神经网络模型中的主要组成部分,通过将输入数据与卷积核相乘并进行累加,以得到该数据对应的识别结果,从而便于后续根据需求对该识别结果进行相应处理。
在卷积核中,存在较多为0或极小值的权重,其相对于最终识别结果的影响较小甚至毫无影响,而这些权重数量较多,会占用较多的计算资源,增加模型的计算时间和功耗。
发明内容
本发明提供一种用于稀疏化卷积计算的硬件系统和计算方法,用以解决现有技术中目标识别过程中存在大量非关键影响权重占用计算资源且增加模型的目标识别时间和功耗的缺陷,实现稀疏化卷积计算,避免对非关键影响数据进行识别,减少占用的计算资源,降低模型的计算时间和功耗。
本发明提供一种用于稀疏化卷积计算的硬件系统,包括数据获取模块、监测模块和卷积计算模块,其中:所述数据获取模块分别与所述监测模块和所述卷积计算模块连接,用于获取权重数据和目标数据,并将获取的权重数据输入至所述监测模块,以及将获取的目标数据输入至所述卷积计算模块;所述监测模块与所述卷积计算模块连接,用于基于预设阈值对所述数据获取模块输入的权重数据进行筛选,并将筛选得到的关键影响数据输入至所述卷积计算模块;所述卷积计算模块,用于根据所述监测模块输入的关键影响数据对所述数据获取模块输入的目标数据进行卷积计算,以获得目标数据对应的卷积输出结果。
根据本发明提供一种用于稀疏化卷积计算的硬件系统,所述监测模块包括标记单元和计数单元,其中:所述标记单元的输入端与所述数据获取模块的输出端连接,所述标记单元的输出端分别与所述计数单元的输入端和所述卷积计算模块的输入端连接,所述标记单元用于基于预设阈值对所述数据获取模块输入的权重数据进行筛选,并将筛选得到关键影响数据分别输入至所述卷积计算模块和所述计数单元;所述计数单元的输出端与所述卷积计算模块的输入端连接,所述计数单元用于对所述标记单元筛选得到的关键影响数据进行循环计数,并将所述循环计数结果输入至所述卷积计算模块。
根据本发明提供的一种用于稀疏化卷积计算的硬件系统,所述标记单元,包括:阈值定义子单元,用于定义阈值;译码子单元,所述译码子单元的输入端与所述数据获取模块的输出端连接,用于对所述数据获取模块输入的权重数据进行数据转换,得到输出信号;逻辑运算子单元,所述逻辑运算子单元分别与所述阈值定义子单元和所述译码子单元连接,用于基于所述译码子单元得到的输出信号和所述阈值定义子单元得到的预设阈值进行逻辑运算,得到逻辑运算结果;标记子单元,所述标记子单元的输入端与所述逻辑运算子单元的输出端相连,用于基于所述逻辑运算子单元得到的逻辑运算结果对所述权重数据进行标记,得到关键影响数据和非关键影响数据。
根据本发明提供的一种用于稀疏化卷积计算的硬件系统,所述监测模块还包括缓存单元,所述缓存单元的输入端分别与所述计数单元的输出端和所述标记单元的输出端连接,所述缓存单元的输出端与所述卷积计算模块的输入端连接,所述缓存单元用于缓存至少一组经所述标记单元和所述计数单元输出的权重数据。
根据本发明提供的一种用于稀疏化卷积计算的硬件系统,所述卷积计算模块,包括:卷积计算单元,所述卷积计算单元分别与所述监测模块和所述数据获取模块连接,用于将所述监测模块输入的各所述关键影响数据分别结合所述数据获取模块输入的目标数据进行卷积计算,得到各所述关键影响数据对应的卷积计算结果;累加单元,所述累加单元与所述卷积计算单元连接,用于将所述卷积计算单元得到的各所述关键影响数据对应的卷积计算结果进行累加,得到卷积输出结果。
根据本发明提供的一种用于稀疏化卷积计算的硬件系统,所述卷积计算单元,包括:乘法器阵列,所述乘法器阵列的输入端分别与所述数据获取模块的输出端和所述监测模块的输出端连接,用于将所述监测模块输入的各关键影响数据分别与所述数据获取模块输入的目标数据内的当前子阵列相乘,得到对应各关键影响数据的卷积计算结果;寄存器阵列,所述寄存器阵列的输入端与所述乘法器阵列的输出端连接,所述寄存器阵列的输出端与所述累加单元的输入端相连,所述寄存器阵列用于平移所述乘法器阵列输出的卷积计算结果,并将平移后的所述卷积计算结果输入至累加单元。
根据本发明提供的一种用于稀疏化卷积计算的硬件系统,所述用于稀疏化卷积计算的硬件系统,还包括:分别对所述数据获取模块、所述监测模块、所述乘法器阵列、所述寄存器阵列和所述累加单元分别设置一级流水线,且使各级流水线同步工作。
根据本发明提供的一种用于稀疏化卷积计算的硬件系统,所述寄存器阵列长为所述乘法器阵列长与预设长度之和,所述寄存器阵列宽为所述乘法器阵列宽与预设宽度之和;
所述乘法器阵列包括多个乘法器,分别用于针对单个权重数据进行卷积计算,其中:若所述权重数据为关键影响数据,则所述乘法器基于所述关键影响数据对所述目标数据进行卷积计算;否则所述乘法器跳过对权重数据的卷积计算。
根据本发明提供的一种用于稀疏化卷积计算的硬件系统,所述乘法器,包括:平移子单元,基于预设卷积核按预设步长沿所述目标数据平移k次,得到k+1个子阵列;累乘子单元,所述累乘子单元分别与所述平移子单元和所述监测模块连接,用于将所述监测模块输入的各关键影响数据分别与所述k+1个子阵列相乘。
本发明还提供一种用于稀疏化卷积计算的硬件系统的计算方法,包括:获取权重数据和目标数据;基于预设阈值对所述权重数据进行筛选,得到关键影响数据;基于所述关键影响数据对所述目标数据进行卷积计算,以获得所述目标数据对应的卷积输出结果。
本发明还提供一种用于稀疏化卷积计算的硬件系统的硬件架构,包括如上任一项所述的用于稀疏化卷积计算的硬件系统。
本发明提供的用于稀疏化卷积计算的硬件系统和计算方法,通过监控模块基于预设阈值对权重数据进行筛选,以忽略指定范围的较小权重数据,自适应计算数据的稀疏性,忽略权重数据中的非关键影响数据,避免卷积计算模块对筛选得到的非关键影响数据进行卷积计算,从而减少占用的计算资源,提高计算速度,降低能耗;另外,硬件系统的整体架构额外开销较小,可以降低卷积计算模块的计算功耗,并提高整体运算速度,且其不受卷积核大小的限制,具有一定的通用性和可重构性;通过在监测模块增加缓存单元,以便于先基于需求缓存相应权重数据后再开启流水线,从而避免一级处理速度较慢以致流水线计算被打断造成工作卡滞的情形,提升流水线的计算效率;通过对数据获取模块、监测模块、乘法器阵列、寄存器阵列和累加单元分别设置一级流水线,使得各流水线同步工作,以实现整体流水工作。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的用于稀疏化卷积计算的硬件系统的结构示意图;
图2是本发明提供的监测模块的结构示意图;
图3是本发明提供的标记单元筛选关键影响数据的流程示意图;
图4是本发明提供的用于稀疏化卷积计算的硬件系统的架构示意图;
图5是本发明提供的流水线工作流程示意图;
图6是本发明提供的用于稀疏化卷积计算的硬件系统的计算方法的流程示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了一种用于稀疏化卷积计算的硬件系统的结构示意图,该用于稀疏化卷积计算的硬件系统,包括数据获取模块11、监测模块12和卷积计算模块13,其中:
数据获取模块11分别与监测模块12和卷积计算模块13连接,用于获取权重数据和目标数据,并将获取的权重数据输入至监测模块12,以及将获取的目标数据输入至卷积计算模块13;
监测模块12与卷积计算模块13连接,用于基于预设阈值对数据获取模块11输入的权重数据进行筛选,并将筛选得到的关键影响数据输入至卷积计算模块13;
卷积计算模块13,用于根据监测模块12输入的关键影响数据对数据获取模块11输入的目标数据进行卷积计算,以获得目标数据对应的卷积输出结果。
具体地,本发明实施例提供的用于稀疏化卷积计算的硬件系统是一种硬件架构,其中数据获取模块11可通过具备数据传输的硬件逻辑电路结构实现,监测模块12可通过具备数据监测、数据筛选的硬件逻辑电路实现,卷积计算模块13用于进行稀疏化卷积计算,可以通过适应于稀疏化卷积计算的逻辑电路实现。相较于软件层面上的稀疏化卷积计算方式,硬件层面上的稀疏化卷积计算,因其结构和具体计算任务简单,计算效率更高,运算过程也更加可靠,同时不受卷积核大小限制,具有一定的通用性与可重构性。
需要说明的是,本发明实施例提供的用于稀疏化卷积计算的硬件系统,可用于实现任意稀疏化卷积计算计算。任意稀疏化卷积计算均可以基于预设阈值筛选关键影响数据,以利用关键影响数据进行卷积计算,并跳过非关键影响数据的计算,从而将常规卷积计算转换为稀疏化卷积计算,节省计算单元。应当注意的是,非关键影响数据为对模型的最终输出结果影响甚微甚至毫无影响的权重数据,关键影响数据为除非关键影响数据以外的权重数据。
另外,权重数据和目标数据可以预先存储或缓存在存储设备中,数据获取模块11通过数据搬运的方式获取权重数据和目标数据,比如,数据获取模块11可以利用直接存储器访问(DMA)将SRAM等存储器中的数据搬运至监测模块12和卷积计算模块13中;或者,权重数据和目标数据也可以基于输入设备即时输入。
在一个可选实施例中,当权重数据和目标数据预先存储或缓存在存储设备中时,数据获取模块11可以包括:读取单元,用于读取预先存储的数据,得到权重数据和目标数据;数据输出单元,用于将读取单元读取的权重数据输入至监测模块12,以及将读取单元读取的目标数据输入至计算模块13。
在另一个可选实施例中,当权重数据和目标数据基于输入设备即时输入时,数据获取模块11可以包括接收单元、读取单元和数据输出单元,接收单元用于接收输入的权重数据和目标数据;读取单元用于读取结束单元接收的数据,得到权重数据和目标数据;数据输出单元,用于将读取单元读取的权重数据输入至监测模块12,以及将读取单元读取的目标数据输入至计算模块13。
应当说明的是,本申请中的数据获取模块11可根据权重数据和目标数据的存储方式确定,具体视实际情况而定。另外,目标数据包括但不限于图像数据、音频数据、视频数据和文本数据等,比如目标数据为图像数据时,则目标数据为像素值;再比如目标数据为音频数据,则目标数据为目标音频的MEL特征或FBANK特征,此处对于目标数据不做进一步地限定。
由于部分权重数据的计算结果对模型最终的输出结果影响甚微,因此为避免占用计算资源,减少模型的计算时间和功耗,需要利用监测模块12先对权重数据进行筛选,以在后续卷积计算模块13进行卷积计算时,避免对非关键影响数据进行卷积计算,进而节省计算资源,非关键影响数据为对模型最终的输出结果影响甚微甚至毫无影响的权重数据。
在本实施例中,参考图2,监测模块12,包括标记单元121和计数单元122,其中:标记单元121的输入端与数据获取模块的输出端连接,标记单元121的输出端分别与计数单元122的输入端和卷积计算模块的输入端连接,标记单元用于基于预设阈值对数据获取模块输入的权重数据进行筛选,并将筛选得到关键影响数据分别输入至卷积计算模块和计数单元122;计数单元122的输出端与卷积计算模块的输入端连接,计数单元122用于对标记单元筛选得到的关键影响数据进行循环计数,并将循环计数结果输入至卷积计算模块。通过计数单元122对输入的关键影响数据进行循环计数,以便于后续卷积计算模块13基于对各关键影响数据的计数进行卷积计算,以跳过对非关键影响数据的计算,从而提高计算速度。
更进一步地说,标记单元121,包括:阈值定义子单元,用于定义阈值;译码子单元,译码子单元的输入端与数据获取模块的输出端连接,用于对数据获取模块输入的权重数据进行数据转换,得到输出信号;逻辑运算子单元,逻辑运算子单元分别与阈值定义子单元和译码子单元连接,用于基于译码子单元得到的输出信号和阈值定义子单元得到的预设阈值进行逻辑运算,得到逻辑运算结果;标记子单元,标记子单元的输入端与逻辑运算子单元的输出端相连,用于基于逻辑运算子单元得到的逻辑运算结果对权重数据进行标记,得到关键影响数据和非关键影响数据。
需要说明的是,当权重数据为关键影响数据时,其对应的逻辑运算结果为1,则将关键影响数据标记为1;当权重数据为非关键影响数据时,其对应的逻辑运算结果为0,则将非关键影响数据标记为0。通过标记子单元根据逻辑运算子单元输入的逻辑运算结果进行标记,以便于后续进行卷积计算时,基于标记跳过对非关键影响数据的卷积计算。
另外,本实施例中,可通过译码器对权重数据进行转换,以将输出信号由数据信号转换成电路信号,从而便于后续进行与门运算和或门运算,进而对关键影响数据和非关键影响数据进行标记。通过阈值定义单元自定义阈值,以便于根据实际使用需求设置阈值,从而动态调整阈值,以进一步提高对权重数据标记的准确度。应当注意,预设阈值的格式可参考译码器输出信号的格式进行设定。另外,逻辑运算包括与门运算和或门运算,先基于输出信号和预设阈值进行与门运算,再对经与门运算结果进行或门运算,直至逻辑运算结果为1或0。与门运算次数可根据实际权重数据包含的二进制数决定,在进行一次与门运算之后,对其计算结果进行至少一次或门运算,直至逻辑运算结果为0或1。
举例而言,参考图3,以8bit数据为例,假设当权重数据小于或者等于00000010时,该权重数据为非关键影响数据,当权重数据大于00000010时,该权重数据为关键影响数据,则预设阈值为Q2Q1Q0=011,经过译码器转换为11111100。随后,对权重数据进行标记,包括:
首先,利用译码器对权重数据进行数据转换,得到输出信号,比如一权重数据对应的输出信号为abcdefgh,其中,a、b、c、d、e、f、g和h的取值为0或1。
随后,将abcdefgh与11111100的每一位数对应做与门运算,即将a与1、b与1、c与1、d与1、e与1、f与1、g与0、h与0分别做与门运算,得到与门运算结果n1、n2、n3、n4、n5、n6、n7和n8,其中n1、n2、n3、n4、n5和n6的取值为0或1,其具体数值根据具体与门运算确定,n7=0,n8=0。
需要说明的是,基于与门运算,不论g、h为0或1,由于与g、h对应做与门运算的数为0,因此g、h对应的与门运算结果为0。另外,由于与a、b、c、d、e和f分别对应做与门运算的均为1,因此需要根据a、b、c、d、e和f的数值,判断其对应的与门运算结果。比如,若a=1,则a与1做与门运算得到n1=1;否则为n1=0;同样的,若b、c、d、e和/或f为1,则相应的与门运算结果ni=1,若b、c、d、e和/或f为0,则相应的与门运算结果ni=0,其中i=2,3,…,6。
其次,将与门运算结果进行或门运算,得到逻辑运算结果。
需要说明的是,与门运算结果为n1、n2、n3、n4、n5、n6、n7和n8,将n1与n2、n3与n4、n5与n6、以及n7与n8分别做或门运算,若n1与n2中至少一个为1,则其或门运算结果m11=1,否则,m11=0。同样的,若n3与n4中至少一个为1,则其或门运算结果m12=1,否则,m12=0。同样的,若n5与n6中至少一个为1,则其或门运算结果m13=1,否则,m13=0。应当注意,由于n7=0,n8=0,因此n7与n8对应的或门运算结果m14=0。
再对或门运算结果m11、m12、m13和m14继续做或门运算,若m11与m12中至少一个为1,则其或门运算结果m21=1,否则,m21=0;由于m14=0,因此仅当m13=1时,其或门运算结果m22=1,否则,m22=0。
随后,继续对或门运算结果m21和m22做或门运算,得到逻辑运算结果0或1,从而便于根据逻辑运算结果判断该权重数据a、b、c、d、e、f、g和h是否为非关键影响数据。需要说明的是,若m21和m22中至少一个为1,则逻辑运算结果为1,否则,逻辑运算结果为0。若逻辑运算结果为1,则将关键影响数据标记为1;若逻辑运算结果为0,则将非关键影响数据标记为0。
在一个可选实施例中,监测模块12还包括缓存单元,缓存单元的输入端分别与计数单元的输出端和标记单元的输出端连接,缓存单元的输出端与卷积计算模块的输入端连接,缓存单元用于缓存至少一组经标记单元和计数单元输出的权重数据。需要说明的是,在基于预设阈值筛选关键影响数据值之后,通过缓存单元将筛选后的权重数据进行缓存,再开启流水线,从而避免一级处理速度较慢以致流水线计算被打断造成工作卡滞的情形,提升流水线的计算效率。
参考图4,在本实施例中,卷积计算模块13,包括:卷积计算单131,卷积计算单元131分别与监测模块12和数据获取模块11连接,用于将监测模块12输入的各关键影响数据分别结合数据获取模块11输入的目标数据进行卷积计算,得到各关键影响数据对应的卷积计算结果;累加单元132,累加单元132与卷积计算单元131连接,用于将卷积计算单元131得到的各关键影响数据对应的卷积计算结果进行累加,得到卷积输出结果。需要说明的是,在卷积计算单元基于关键影响数据对目标数据进行卷积计算过程中,需要基于关键影响数据的标记分配目标数据,并利用关键影响数据对分配的目标数据进行卷积计算,得到卷积计算结果。另外,在将各所述关键影响数据对应的卷积计算结果进行累加,得到卷积输出结果时,还需要基于预先对关键影响数据的计数,确保进行累加时的卷积计算结果的数量,避免数据遗漏造成累加结果不准确的情况。
在一个可选实施例中,卷积计算单元131,包括:乘法器阵列1311,乘法器阵列1311的输入端分别与数据获取模块11的输出端和监测模块12的输出端连接,用于将监测模块12输入的各关键影响数据分别与数据获取模块11输入的目标数据内的当前子阵列相乘,得到对应各关键影响数据的卷积计算结果;寄存器阵列1312,寄存器阵列1312的输入端与乘法器阵列1311的输出端连接,寄存器阵列1312的输出端与累加单元132的输入端相连,寄存器阵列1312用于平移乘法器阵列1311输出的卷积计算结果,并将平移后的卷积计算结果输入至累加单元132。需要说明的是,乘法器阵列采用mul array阵列,其包括多个卷积计算的PE基本单元,且其内部主要结构为乘法器。可通过寄存器阵列reg array实现卷积核的平移。另外,累加单元可采用自适应巡航控制ACC。
应当注意,参考图5,对数据获取模块、监测模块、乘法器阵列、寄存器阵列和累加单元分别设置一级流水线,使得各流水线同步工作,即在数据获取模块获取下一权重数据的同时,监测模块对当前获取的权重数据进行筛选,得到当前筛选结果;乘法器阵列基于监测模块在先筛选得到的筛选结果,得到当前卷积计算结果;寄存器阵列将乘法器阵列在先得到的卷积计算结果作为当前卷积计算结果进行平移并输入至累加单元;累加单元对寄存器阵列在先输入至累加单元的卷积计算结果进行累加,得到卷积输出结果,从而实现流水线工作。
在一个可选实施例中,寄存器阵列长为乘法器阵列长与预设长度之和,寄存器阵列宽为乘法器阵列宽与预设宽度之和。本实施例中,预测长度和预设宽度相等,以便于进行平移操作时保存数据。
在一个可选实施例中,预设长度和预设宽度均设置为2。
具体而言,乘法器阵列1311包括多个乘法器,分别用于针对单个权重数据进行卷积计算,其中:若权重数据为关键影响数据,则乘法器基于关键影响数据对目标数据进行卷积计算;否则乘法器跳过对权重数据的卷积计算。
需要说明的是,针对单个关键影响数据,将其与获取的目标数据内的所有子阵列相乘,乘法器,包括:平移子单元,基于预设卷积核按预设步长沿目标数据平移k次,得到k+1个子阵列;累乘子单元,累乘子单元分别与平移子单元和监测模块连接,用于将监测模块输入的各关键影响数据分别与k+1个子阵列相乘。应当注意,在平移子单元每一次平移得到对应的子阵列之后,累乘子单元将单个关键影响数据与当前平移一次得到的子阵列相乘。
举例而言,假设卷积核为m×n,目标数据为{x,y}大小的矩阵,其中,x表示为行数,
y表示为列数,预设步长为h,则基于卷积核可从目标数据中框选出k+1个子阵列,其中,。需要说明的是,子阵列为{m-h+1,n-h+1}的矩阵,其中,m表示
为行数,n表示为列数。
对于任一关键影响数据,首先,累乘子单元将该关键影响数据与卷积核每次基于框选得到的子阵列相乘;其次,在相乘后,平移子单元将卷积核按预设步长h平移,框选出下一子阵列,并利用累乘子单元将框选出的下一子阵列与关键影响数据相乘,并重复卷积核的平移操作,直至该关键影响数据与k+1个子阵列均相乘,卷积核停止平移。应当注意,将其他关键影响数据分别按前述步骤进行卷积计算,以得到与其对应的卷积计算结果。另外,对于任一非关键影响数据,直接跳过非关键影响数据的卷积计算。
在卷积计算过程中,需要根据权重数据的标记,判断是否跳过卷积计算,若权重数据的标记为1,则该权重数据为关键影响数据,利用该关键影响数据进行卷积计算,若权重数据标记为0,则该权重数据为非关键影响数据,跳过该非关键影响数据的卷积计算。
举例而言,卷积核为3×3,步长为1,目标数据为{5,6}大小的矩阵,卷积输出结果为大小3×4的矩阵,子阵列的大小根据卷积输出结果的大小确定,为3×4,子阵列的数量根据权重数据的数量确定,假设权重数据为9个,则对应子阵列数量为9个。假设存在9个权重数据,第5和第8个权重数据为非关键影响数据,其余权重数据为关键影响数据,将7个关键影响数据分别与9个子阵列相乘,并将其乘积累加,以得到该关键影响数据对应目标数据的卷积计算结果ki,其中i=1,2,…,12,且i≠5和8,则对应各关键影响数据的卷积计算结果为[k1,k2,k3,k4,k6,k7,k9],再将各卷积计算结果进行累加,得到卷积输出结果。
综上所述,本发明实施例通过监控模块基于预设阈值对权重数据进行筛选,以忽略指定范围的较小权重数据,自适应计算数据的稀疏性,忽略权重数据中的非关键影响数据,避免卷积计算模块对筛选得到的非关键影响数据进行卷积计算,从而减少占用的计算资源,提高计算速度,降低能耗;另外,硬件系统的整体架构额外开销较小,可以降低卷积计算模块的计算功耗,并提高整体运算速度,且其不受卷积核大小的限制,具有一定的通用性和可重构性;通过对筛选结果进行标记,便于在进行卷积计算时区分关键影响数据和非关键影响数据,以确保只对关键影响数据进行卷积计算;通过在监测模块增加缓存单元,以便于先基于需求缓存相应权重数据后再开启流水线,从而避免一级处理速度较慢以致流水线计算被打断造成工作卡滞的情形,提升流水线的计算效率;通过对数据获取模块、监测模块、乘法器阵列、寄存器阵列和累加单元分别设置一级流水线,使得各流水线同步工作,以实现整体流水工作。
下面对本发明提供的用于稀疏化卷积计算的硬件系统的计算方法进行描述,下文描述的用于稀疏化卷积计算的硬件系统的计算方法与上文描述的用于稀疏化卷积计算的硬件系统可相互对应参照。
图6示出了一种用于稀疏化卷积计算的硬件系统的计算方法的流程示意图,该方法,包括:
S61,获取权重数据和目标数据;
S62,基于预设阈值对权重数据进行筛选,得到关键影响数据;
S63,利用关键影响数据对目标数据进行卷积计算,以获得目标数据对应的卷积输出结果。
需要说明的是,本说明书中的S6N不代表用于稀疏化卷积计算的硬件系统的计算方法的先后顺序,下面具体描述本发明的用于稀疏化卷积计算的硬件系统的计算方法。
步骤S61,获取权重数据和目标数据。
需要说明的是,权重数据和目标数据可以预先存储或缓存在存储设备中,通过读取的方式获取权重数据和目标数据。另外,权重数据和目标数据也可以基于输入设备即时输入。当权重数据和目标数据预先存储或缓存在存储设备中时,获取目标的权重数据和目标数据可以包括:用于读取预先存储的数据,得到权重数据和目标数据;当权重数据和目标数据基于输入设备即时输入时,获取目标的权重数据和目标数据可以包括:接收输入的权重数据和目标数据;读取结束单元接收的数据,得到权重数据和目标数据。本申请中的数据获取方式可根据权重数据和目标数据的具体存储方式确定,具体视实际情况而定。另外,目标数据包括但不限于图像数据、音频数据、视频数据和文本数据等,比如目标数据为图像数据时,则目标数据为像素值;再比如目标数据为音频数据,则目标数据为目标音频的MEL特征或FBANK特征,此处对于目标数据不做进一步地限定。
步骤S62,基于预设阈值对权重数据进行筛选,得到关键影响数据。
由于部分权重数据的计算结果对模型最终的输出结果影响甚微,因此为避免占用计算资源,减少模型的计算时间和功耗,需要先对权重数据进行筛选,以在后续进行卷积计算时,避免对非关键影响数据进行卷积计算,进而节省计算资源,非关键影响数据为对模型最终的输出结果影响甚微的权重数据。
在本实施例中,基于预设阈值对权重数据进行筛选,包括:基于预设阈值对数据获取模块输入的权重数据进行筛选;对筛选得到的关键影响数据进行循环计数。通过对输入的关键影响数据进行循环计数,以便于后续基于对各关键影响数据的计数进行卷积计算,以跳过对非关键影响数据的计算,从而提高计算速度。
更进一步地说,基于预设阈值对数据获取模块输入的权重数据进行筛选,包括:定义预设阈值;对获取的权重数据进行数据转换,得到输出信号;基于输出信号和预设阈值进行逻辑运算,得到逻辑运算结果;基于逻辑运算结果对权重数据进行标记,得到关键影响数据和非关键影响数据。需要说明的是,非关键影响数据为对模型的最终输出结果影响甚微甚至毫无影响的权重数据,关键影响数据为除非关键影响数据以外的权重数据。应当注意,当逻辑运算结果为1时,将关键影响数据标记为1;逻辑运算结果为0时,将非关键影响数据标记为0。其具体筛选和标记可参考上述结构实施例,此处不做赘述。
在一个可选实施例中,在基于预设阈值对权重数据进行筛选之后,还包括:缓存至少一组经筛选后的权重数据。需要说明的是,在基于预设阈值筛选关键影响数据值之后,通过缓存单元将筛选后的权重数据进行缓存,再开启流水线,从而避免一级处理速度较慢以致流水线计算被打断造成工作卡滞的情形,提升流水线的计算效率。
步骤S63,利用关键影响数据对目标数据进行卷积计算,以获得目标数据对应的卷积输出结果。
在本实施例中,利用关键影响数据对目标数据进行卷积计算,包括:将各关键影响数据分别结合目标数据进行卷积计算,得到各关键影响数据对应的卷积计算结果;将各关键影响数据对应的卷积计算结果进行累加,得到卷积输出结果。需要说明的是,在基于关键影响数据对目标数据进行卷积计算过程中,需要基于关键影响数据的标记分配目标数据,并利用关键影响数据对分配的目标数据进行卷积计算,得到卷积计算结果。另外,在将各所述关键影响数据对应的卷积计算结果进行累加,得到卷积输出结果时,还需要基于预先对关键影响数据的计数,确保进行累加时的卷积计算结果的数量,避免数据遗漏造成累加结果不准确的情况。
具体而言,将各关键影响数据分别结合目标数据进行卷积计算,包括:将各关键影响数据分别与获取的目标数据内的当前子阵列相乘,得到对应各关键影响数据的卷积计算结果;平移卷积计算结果并保存。需要说明的是,若权重数据为关键影响数据,则乘法器基于关键影响数据对目标数据进行卷积计算;否则乘法器跳过对权重数据的卷积计算。
更进一步地说,将各关键影响数据分别与获取的目标数据内的当前子阵列相乘,包括:基于预设卷积核按预设步长沿目标数据平移k次,得到k+1个子阵列;将监测模块输入的各关键影响数据分别与k+1个子阵列相乘。应当注意,在每一次平移得到对应的子阵列之后,将单个关键影响数据与当前平移一次得到的子阵列相乘。
具体而言,在将单个关键影响数据与获取的目标数据内的所有子阵列相乘时,需要预先选取卷积核以及预先设定步长,随后,将卷积核对应目标数据,框选目标数据中的子阵列,并将该关键影响数据与子阵列相乘;随后,将卷积核按预设步长沿目标数据平移,以框选出下一子阵列,并将该关键影响数据与该子阵列相乘,循环平移卷积核,直至平移k次之后,得到第k+1个子阵列时,将第k+1个子阵列与该关键影响数据相乘;最后,将所有乘积累加起来,形成对应该关键影响数据的卷积计算结果。应当注意,子阵列的大小基于步长和卷积输出结果的大小确定。比如目标数据为5×6的矩阵,卷积核为3×3,步长为1,则为确保卷积计算结果为3×4的矩阵,则对应子阵列的大小为3×4。
基于上述任一实施例,图7为本发明提供的用于稀疏化卷积计算的硬件系统的硬件架构,如图7所示,用于稀疏化卷积计算的硬件系统的硬件架构包括如上述任一实施例所述的用于稀疏化卷积计算的硬件系统70。
因此,包含上述任一实施例的用于稀疏化卷积计算的硬件系统的硬件架构,也具有上述用于稀疏化卷积计算的硬件系统70的所有优点。其中,可以将上述用于稀疏化卷积计算的硬件系统进行封装,得到用于稀疏化卷积计算的硬件系统的硬件架构,由此得到的硬件架构,通过数据获取模块将获取的数据分别输入至监测模块和卷积计算模块,以便于监测模块对数据获取模块输入的权重数据进行筛选,并将筛选结果输入至卷积计算模块中,使得卷积计算模块根据筛选结果对数据获取模块输入的目标数据进行卷积计算,从而避免卷积计算模块对筛选得到的非关键影响数据进行卷积计算,以进一步减少占用的计算资源,提高计算速度,降低能耗。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种用于稀疏化卷积计算的硬件系统,其特征在于,包括数据获取模块、监测模块和卷积计算模块,其中:
所述数据获取模块分别与所述监测模块和所述卷积计算模块连接,用于获取权重数据和目标数据,并将获取的权重数据输入至所述监测模块,以及将获取的目标数据输入至所述卷积计算模块;
所述监测模块与所述卷积计算模块连接,用于基于预设阈值对所述数据获取模块输入的权重数据进行筛选,并将筛选得到的关键影响数据输入至所述卷积计算模块;
所述卷积计算模块,用于根据所述监测模块输入的关键影响数据对所述数据获取模块输入的目标数据进行卷积计算,以获得目标数据对应的卷积输出结果;
所述监测模块包括标记单元,所述标记单元,包括:
阈值定义子单元,用于定义阈值;
译码子单元,所述译码子单元的输入端与所述数据获取模块的输出端连接,用于对所述数据获取模块输入的权重数据进行数据转换,得到输出信号;
逻辑运算子单元,所述逻辑运算子单元分别与所述阈值定义子单元和所述译码子单元连接,用于基于所述译码子单元得到的输出信号和所述阈值定义子单元得到的预设阈值进行逻辑运算,得到逻辑运算结果;
标记子单元,所述标记子单元的输入端与所述逻辑运算子单元的输出端相连,用于基于所述逻辑运算子单元得到的逻辑运算结果对所述权重数据进行标记,得到关键影响数据和非关键影响数据。
2.根据权利要求1所述的用于稀疏化卷积计算的硬件系统,其特征在于,所述监测模块包括计数单元,其中:
所述标记单元的输入端与所述数据获取模块的输出端连接,所述标记单元的输出端分别与所述计数单元的输入端和所述卷积计算模块的输入端连接,所述标记单元用于基于预设阈值对所述数据获取模块输入的权重数据进行筛选,并将筛选得到关键影响数据分别输入至所述卷积计算模块和所述计数单元;
所述计数单元的输出端与所述卷积计算模块的输入端连接,所述计数单元用于对所述标记单元筛选得到的关键影响数据进行循环计数,并将所述循环计数结果输入至所述卷积计算模块。
3.根据权利要求2所述的用于稀疏化卷积计算的硬件系统,其特征在于,所述监测模块还包括缓存单元,所述缓存单元的输入端分别与所述计数单元的输出端和所述标记单元的输出端连接,所述缓存单元的输出端与所述卷积计算模块的输入端连接,所述缓存单元用于缓存至少一组经所述标记单元和所述计数单元输出的权重数据。
4.根据权利要求1所述的用于稀疏化卷积计算的硬件系统,其特征在于,所述卷积计算模块,包括:
卷积计算单元,所述卷积计算单元分别与所述监测模块和所述数据获取模块连接,用于将所述监测模块输入的各所述关键影响数据分别结合所述数据获取模块输入的目标数据进行卷积计算,得到各所述关键影响数据对应的卷积计算结果;
累加单元,所述累加单元与所述卷积计算单元连接,用于将所述卷积计算单元得到的各所述关键影响数据对应的卷积计算结果进行累加,得到卷积输出结果。
5.根据权利要求4所述的用于稀疏化卷积计算的硬件系统,其特征在于,所述卷积计算单元,包括:
乘法器阵列,所述乘法器阵列的输入端分别与所述数据获取模块的输出端和所述监测模块的输出端连接,用于将所述监测模块输入的各关键影响数据分别与所述数据获取模块输入的目标数据内的当前子阵列相乘,得到对应各关键影响数据的卷积计算结果;
寄存器阵列,所述寄存器阵列的输入端与所述乘法器阵列的输出端连接,所述寄存器阵列的输出端与所述累加单元的输入端相连,所述寄存器阵列用于平移所述乘法器阵列输出的卷积计算结果,并将平移后的所述卷积计算结果输入至累加单元。
6.根据权利要求5所述的用于稀疏化卷积计算的硬件系统,其特征在于,所述用于稀疏化卷积计算的硬件系统,还包括:分别对所述数据获取模块、所述监测模块、所述乘法器阵列、所述寄存器阵列和所述累加单元分别设置一级流水线,且使各级流水线同步工作。
7.根据权利要求5所述的用于稀疏化卷积计算的硬件系统,其特征在于,所述寄存器阵列长为所述乘法器阵列长与预设长度之和,所述寄存器阵列宽为所述乘法器阵列宽与预设宽度之和;
所述乘法器阵列包括多个乘法器,分别用于针对单个权重数据进行卷积计算,其中:
若所述权重数据为关键影响数据,则所述乘法器基于所述关键影响数据对所述目标数据进行卷积计算;
否则所述乘法器跳过对权重数据的卷积计算。
8.根据权利要求7所述的用于稀疏化卷积计算的硬件系统,其特征在于,所述乘法器,包括:
平移子单元,基于预设卷积核按预设步长沿所述目标数据平移k次,得到k+1个子阵列;
累乘子单元,所述累乘子单元分别与所述平移子单元和所述监测模块连接,用于将所述监测模块输入的各关键影响数据分别与所述k+1个子阵列相乘。
9.一种基于如权利要求1-8中任一项所述的用于稀疏化卷积计算的硬件系统的计算方法,其特征在于,包括:
获取权重数据和目标数据;
基于预设阈值对所述权重数据进行筛选,得到关键影响数据;
基于所述关键影响数据对所述目标数据进行卷积计算,以获得所述目标数据对应的卷积输出结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210678136.2A CN114780910B (zh) | 2022-06-16 | 2022-06-16 | 用于稀疏化卷积计算的硬件系统和计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210678136.2A CN114780910B (zh) | 2022-06-16 | 2022-06-16 | 用于稀疏化卷积计算的硬件系统和计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114780910A CN114780910A (zh) | 2022-07-22 |
CN114780910B true CN114780910B (zh) | 2022-09-06 |
Family
ID=82420874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210678136.2A Active CN114780910B (zh) | 2022-06-16 | 2022-06-16 | 用于稀疏化卷积计算的硬件系统和计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780910B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756472B (zh) * | 2023-08-17 | 2024-03-29 | 深圳云天励飞技术股份有限公司 | 卷积算子计算装置及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250103A (zh) * | 2016-08-04 | 2016-12-21 | 东南大学 | 一种卷积神经网络循环卷积计算数据重用的系统 |
CN107341544A (zh) * | 2017-06-30 | 2017-11-10 | 清华大学 | 一种基于可分割阵列的可重构加速器及其实现方法 |
CN111445012A (zh) * | 2020-04-28 | 2020-07-24 | 南京大学 | 一种基于fpga的分组卷积硬件加速器及其方法 |
CN111915001A (zh) * | 2020-08-18 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 卷积计算引擎、人工智能芯片以及数据处理方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019202593A1 (en) * | 2018-04-15 | 2019-10-24 | Technion Research & Development Foundation Limited | Sparse convolutional beamforming for ultrasound imaging |
CN109598338B (zh) * | 2018-12-07 | 2023-05-19 | 东南大学 | 一种基于fpga的计算优化的卷积神经网络加速器 |
CN109993297A (zh) * | 2019-04-02 | 2019-07-09 | 南京吉相传感成像技术研究院有限公司 | 一种负载均衡的稀疏卷积神经网络加速器及其加速方法 |
CN112633484A (zh) * | 2019-09-24 | 2021-04-09 | 中兴通讯股份有限公司 | 神经网络加速器、卷积运算实现方法、装置及存储介质 |
CN111126569B (zh) * | 2019-12-18 | 2022-11-11 | 中国电子科技集团公司第五十二研究所 | 一种支持剪枝稀疏化压缩的卷积神经网络装置和计算方法 |
CN112529165B (zh) * | 2020-12-22 | 2024-02-02 | 上海有个机器人有限公司 | 深度神经网络剪枝方法、装置、终端及存储介质 |
CN113435570B (zh) * | 2021-05-07 | 2024-05-31 | 西安电子科技大学 | 可编程卷积神经网络处理器、方法、设备、介质、终端 |
-
2022
- 2022-06-16 CN CN202210678136.2A patent/CN114780910B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250103A (zh) * | 2016-08-04 | 2016-12-21 | 东南大学 | 一种卷积神经网络循环卷积计算数据重用的系统 |
CN107341544A (zh) * | 2017-06-30 | 2017-11-10 | 清华大学 | 一种基于可分割阵列的可重构加速器及其实现方法 |
CN111445012A (zh) * | 2020-04-28 | 2020-07-24 | 南京大学 | 一种基于fpga的分组卷积硬件加速器及其方法 |
CN111915001A (zh) * | 2020-08-18 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 卷积计算引擎、人工智能芯片以及数据处理方法 |
Non-Patent Citations (1)
Title |
---|
稀疏卷积神经网络加速器设计;李永博等;《微电子学与计算机》;20200605(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114780910A (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593658B2 (en) | Processing method and device | |
US10936941B2 (en) | Efficient data access control device for neural network hardware acceleration system | |
US10140522B2 (en) | Fully convolutional pyramid networks for pedestrian detection | |
EP3637272A1 (en) | Data sharing system and data sharing method therefor | |
JP2020017274A (ja) | ニューラルネットワークを使用するエンドツーエンド手書きテキスト認識のためのシステムおよび方法 | |
US20160093343A1 (en) | Low power computation architecture | |
WO2019157812A1 (zh) | 一种计算装置及方法 | |
US20190370642A1 (en) | Processing method and device, operation method and device | |
WO2020052266A1 (en) | System and method for cascaded max pooling in neural networks | |
CN114780910B (zh) | 用于稀疏化卷积计算的硬件系统和计算方法 | |
CN114207605A (zh) | 一种文本分类方法、装置、电子设备及存储介质 | |
US20230401825A1 (en) | Method and System for Multi-Scale Vision Transformer Architecture | |
CN110874627B (zh) | 数据处理方法、数据处理装置及计算机可读介质 | |
CN110738317A (zh) | 基于fpga的可变形卷积网络运算方法、装置和系统 | |
CN115437778A (zh) | 内核调度方法及装置、电子设备、计算机可读存储介质 | |
WO2021081854A1 (zh) | 一种卷积运算电路和卷积运算方法 | |
WO2020052265A1 (en) | System and method for cascaded dynamic max pooling in neural networks | |
US11748100B2 (en) | Processing in memory methods for convolutional operations | |
CN116703944A (zh) | 图像分割方法、图像分割装置、电子设备及存储介质 | |
WO2023115814A1 (zh) | Fpga硬件架构及其数据处理方法、存储介质 | |
WO2020041934A1 (zh) | 一种数据处理设备以及一种数据处理方法 | |
WO2019076095A1 (zh) | 处理方法及装置 | |
Wang et al. | Acceleration and implementation of convolutional neural network based on FPGA | |
CN114581682A (zh) | 基于自注意力机制的图像特征提取方法、装置及设备 | |
CN114463580A (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 |