WO2022001014A1 - 神经网络模型的编译方法、装置、存储介质及电子设备 - Google Patents

神经网络模型的编译方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
WO2022001014A1
WO2022001014A1 PCT/CN2020/135681 CN2020135681W WO2022001014A1 WO 2022001014 A1 WO2022001014 A1 WO 2022001014A1 CN 2020135681 W CN2020135681 W CN 2020135681W WO 2022001014 A1 WO2022001014 A1 WO 2022001014A1
Authority
WO
WIPO (PCT)
Prior art keywords
feature map
feasible
convolutional layer
neural network
network model
Prior art date
Application number
PCT/CN2020/135681
Other languages
English (en)
French (fr)
Inventor
唐荔
Original Assignee
湖南国科微电子股份有限公司
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 湖南国科微电子股份有限公司 filed Critical 湖南国科微电子股份有限公司
Publication of WO2022001014A1 publication Critical patent/WO2022001014A1/zh

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

Definitions

  • FIG. 1 is a structural block diagram of an electronic device provided by an embodiment of the present disclosure
  • the original feature map parameters of each convolutional layer in the neural network model may also be pre-stored in the storage medium of the electronic device 100.
  • the present disclosure provides information on how to obtain the original feature map parameters of each convolutional layer in the neural network model. method is not limited.

Landscapes

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

Abstract

一种神经网络模型的编译方法、装置、存储介质及电子设备,涉及深度学习领域。该方法包括:获取神经网络模型中每个卷积层的原始特征图参数(S100);根据输入输出参数关系式和/或存储器容量对原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合(S110);从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的数据搬运效率最高的目标特征图参数;根据每个卷积层对应的目标特征图参数为神经网络模型生成可执行文件(S130)。通过为每个卷积层找到一个对应的数据搬运效率最高的参数,提高神经网络模型整体的数据复用率,减少运行时的运算量,能够减少神经网络模型对应的可执行文件在运行时的运算量,提高其运行效率。

Description

神经网络模型的编译方法、装置、存储介质及电子设备
相关申请的交叉引用
本公开要求于2020年06月28日提交中国专利局的申请号为202010601610.2、名称为“神经网络模型的编译方法、装置、存储介质及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开涉及深度学习领域,具体而言,涉及一种神经网络模型的编译方法、装置、存储介质及电子设备。
背景技术
深度学习能够使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,其在自然语言处理、图像识别、语音识别、数据挖掘以及个性化推荐等多个技术领域取得了非常大的进展。
如何构造神经网络模型以及对构造好的神经网络模型进行编译是深度学习的核心环节。目前,在将构造好的神经网络模型编译为可执行文件时,由于神经网络模型中参数量大,导致编译出的可执行文件在运行时运算量大,运行效率低。因此,需要对神经网络模型的编译过程进行优化,才能提高编译出的可执行文件的执行效率,但是,目前的优化方法较为简单,编译出的可执行文件的运行效率仍十分低下。
发明内容
本公开的目的包括,例如,提供了一种神经网络模型的编译方法、装置、存储介质及电子设备,其能够将神经网络模型编译为可执行文件,并减少该可执行文件在运行时的运算量,提高该可执行文件的运行效率。
本公开的实施例可以这样实现:
第一方面,实施例提供一种神经网络模型的编译方法,所述方法包括:获取神经网络模型中每个卷积层的原始特征图参数;根据输入输出参数关系式和/或存储器容量对所述原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合;从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数;所述目标特征图参数对应的数据搬运效率最高;根据每个卷积层对应的目标特征图参数为所述神经网络模型生成可执行文件。
在可选的实施方式中,所述原始特征图参数包括原始输出特征图参数;所述根据输入输出参数关系式和/或存储器容量对所述原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合的步骤包括: 根据输入输出参数关系式和/或存储器容量对所述原始输出特征图参数进行拆分,得到每个卷积层的可行输出特征图参数集合;根据每个卷积层的可行输出特征图参数集合以及所述输入输出参数关系式,确定出每个卷积层的可行输入特征图参数集合;根据每个卷积层的可行输出特征图参数集合以及所述可行输入特征图参数集合,确定每个卷积层的可行特征图参数集合。
在可选的实施方式中,所述从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数的步骤包括:根据每个卷积层的可行特征图参数集合中每个可行特征图参数的值,确定出每个所述可行特征图参数对应的数据重复加载量;将每个卷积层的可行特征图参数集合中数据重复加载量最小的可行特征图参数作为每个卷积层对应的目标特征图参数。
在可选的实施方式中,所述神经网络模型包括多个卷积层,所述从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数的步骤包括:根据目标卷积层的可行特征图参数集合中每个可行特征图参数的值,确定出每个所述可行特征图参数对应的数据重复加载量;根据预设的处理核心个数以及所述数据重复加载量,从目标卷积层的可行特征图参数集合中确定出一个最优特征图参数;所述目标卷积层为所述多个卷积层中的任一层,所述最优特征图参数为所述目标卷积层的可行特征图参数集合中数据搬运效率最高的可行特征图参数;将所述最优特征图参数作为所述目标卷积层对应的目标特征图参数。
在可选的实施方式中,所述根据每个卷积层对应的目标特征图参数为所述神经网络模型生成可执行文件的步骤包括:根据每个卷积层对应的目标特征图参数生成三维直接内存存取DMA数据搬运指令,并根据所述三维DMA数据搬运指令生成所述神经网络模型的可执行文件。
在可选的实施方式中,所述方法还包括:执行所述可执行文件以实现所述神经网络模型的数据处理功能。
第二方面,实施例提供一种神经网络模型的编译装置,包括:获取模块,配置成获取神经网络模型中每个卷积层的原始特征图参数;拆分模块,配置成根据输入输出参数关系式和/或存储器容量对所述原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合;所述拆分模块,还配置成从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数;所述目标特征图参数对应的数据搬运效率最高;生成模块,配置成根据每个卷积层对应的目标特征图参数为所述神经网络模型生成可执行文件。
在可选的实施方式中,所述原始特征图参数包括原始输出特征图参数;所述拆分模块配置成根据输入输出参数关系式和/或存储器容量对所述原始输出特征图参数进行拆分,得到每个卷积层的可行输出特征图参数集合;所述拆分模块还配置成根据每个卷积层的可行输出特征图参数集合以及所述输入输出参数关系式,确定出每个卷积层的可行输入特征图参数集合;所述拆分模块还配置成根据每个卷积层的可行输出特征图参数集合以及所述可行输入特征图参数集合,确定每个卷积层的可行特征图参数集合。
在可选的实施方式中,所述拆分模块配置成根据每个卷积层的可行特征图参数集合中每个可行特征图参数的值,确定出每个所述可行特征图参数对应的数据重复加载量;所述拆分模块还配置成将每个卷积层的可行特征图参数集合中数据重复加载量最小的可行特征图参数作为每个卷积层对应的目标特征图参数。
在可选的实施方式中,所述神经网络模型包括多个卷积层,所述拆分模块配置成根据目标卷积层的可行特征图参数集合中每个可行特征图参数的值,确定出每个所述可行特征图参数对应的数据重复加载量;所述拆分模块还配置成根据预设的处理核心个数以及所述数据重复加载量,从目标卷积层的可行特征图参数集合中确定出一个最优特征图参数;所述目标卷积层为所述多个卷积层中的任一层,所述最优特征图参数为所述目标卷积层的可行特征图参数集合中数据搬运效率最高的可行特征图参数;所述拆分模块还配置成将所述最优特征图参数作为所述目标卷积层对应的目标特征图参数。
在可选的实施方式中,所述生成模块配置成根据每个卷积层对应的目标特征图参数生成三维直接内存存取DMA数据搬运指令,并根据所述三维DMA数据搬运指令生成所述神经网络模型的可执行文件。
在可选的实施方式中,所述装置还包括运行模块,所述运行模块配置成执行所述可执行文件以实现所述神经网络模型的数据处理功能。
第三方面,实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的神经网络模型的编译方法。
第四方面,实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有机器可读指令,所述处理器配置成执行所述机器可读指令,以实现如前述实施方式中任一项所述的神经网络模型的编译方法。
本公开实施例的有益效果包括,例如:通过本公开提供的神经网络模型的编译方法,可以对神经网络模型中每个卷积层的原始特征图参数进行拆分,为每个卷积层找到一个对应的数据搬运效率最高的目标特征图参数,进而提高神经网络模型整体的数据复用率,减少神经网络模型对应的可执行文件在运行时的运算量,并提高可执行文件的运算效率,即,本公开能够将神经网络模型编译为可执行文件,并减少该可执行文件在运行时的运算量,提高该可执行文件的运行效率。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本公开实施例所提供的电子设备的一种结构框图;
图2为本公开实施例所提供的神经网络模型的编译方法的一种流程图;
图3为本公开实施例所提供的神经网络模型的编译方法中S110的一种流程图;
图4为本公开实施例所提供的神经网络模型的编译方法中S120的一种流程图;
图5为本公开实施例所提供的神经网络模型的编译方法中S120的另一种流程图;
图6为本公开实施例所提供的神经网络模型的编译方法的另一种流程图;
图7为本公开实施例所提供的神经网络模型的编译装置的一种功能模块图。
图标:100-电子设备;110-存储器;120-处理器;130-总线;140-通信接口;200-神经网络模型的编译装置;210-获取模块;220-拆分模块;230-生成模块;240-运行模块。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在不冲突的情况下,本公开的实施例中的特征可以相互结合。
在实现本公开实施例的技术方案的过程中,本公开发明人发现:
目前,通常通过编译器将构造好的神经网络模型编译为可执行文件,而在将构造好的神经网络模型编译为可执行文件时,由于神经网络模型中卷积层参数量较大,若不进行优化就直接进行编译,则会导致编译出的可执行文件在运行时运算量大,运行效率低。因此,编译器往往需要通过特征图拆分的方式(将卷积层中的一个运算拆分成多个子运算,这些多个子运算由处理器分别进行独立计算),并复用权重或特征图(数据复用方式),进而实现卷积运算的优化。
但是,当前特征图拆分的方式通常仅在硬件层面实现,硬件的拆分及数据复用方式是固定的。对于一个包括多个卷积层的神经网络模型,现有技术只能对这个神经网络模型的多个卷积层只进行权重的复用,或是对这个神经网络模型的多个卷积层只进行特征图的复用。然而,对于不同卷积层的卷积运算,不同的特征图拆分方式及不同的数据复用方式对卷积层的运算量的影响各不相同。当特征图数据量较大而权重数据量较小时,复用特征图并反复加载权重的方法能够减少整体数据加载量,减少卷积层的卷积运算量;当特征图较小而权重数据量较大时,复用权重并反复加载特征图的方法减少整体数据加载量, 减少卷积层的卷积运算量。
在常见的神经网络模型中,特征图会随着卷积层的执行过程而逐渐变小,因此,上诉这两种情况都会存在,如果只对这个神经网络模型的多个卷积层只进行权重的复用,或是对这个神经网络模型的多个卷积层只进行特征图的复用,都无法将神经网络模型中的多个卷积层的整体数据加载量降到最低。也即是说,目前的优化方法较为简单,编译出的可执行文件的运行效率仍十分低下。
因此,为了改善上述缺陷,本公开实施例提出一种神经网络模型的编译方法、装置、存储介质及电子设备,其能够将神经网络模型编译为可执行文件,并减少该可执行文件在运行时的运算量,提高该可执行文件的运行效率。需要说明的是,以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开实施例针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
请参照图1,为本公开实施例所提供的电子设备100的一种结构框图。该电子设备100可以包括存储器110、处理器120、总线130和通信接口140,该存储器110、处理器120和通信接口140相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条总线130或信号线实现电性连接。处理器120可以处理与神经网络模型的编译有关的信息和/或数据,以执行本公开中描述的一个或多个功能。例如,处理器120可以获取神经网络模型中每个卷积层的原始特征图参数,并根据上述数据进行神经网络模型的编译,进而实现本公开提供的神经网络模型的编译方法。
其中,存储器110可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器120可以是一种集成电路芯片,具有信号处理能力。该处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图1所示的结构仅为示意,该电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。例如,上述的电子设备100可以是神经网络加速器、服务器、计算机、手机、平板或云平台等,因此,本公开对于电子设备100的具体类型不作限定。
下面,为了便于理解,本公开以下实施例将以图1所示的电子设备100为例,结合附图,对本公开实施例提供的神经网络模型的编译方法进行具体阐述。请参照图2,图2示出了本公开实施例提供的神 经网络模型的编译方法的一种流程图。该神经网络模型的编译方法可以应用于上述的电子设备100,该神经网络模型的编译方法可以包括以下步骤:
S100,获取神经网络模型中每个卷积层的原始特征图参数。
在一些可能的实施例中,电子设备100可以从其他设备(例如,后台服务器、云服务器等设备)的存储介质处获取到预先建立的神经网络模型,或者也可以从自身的存储介质处获取到预先建立的神经网络模型,因此,本公开对于神经网络模型的获取方式不作限定。
在获取到神经网络模型后,电子设备100可以根据该神经网络模型的全局输入特征图尺寸及算子计算参数(例如,stride参数、kernel size参数等)推算出该神经网络模型中每个卷积层的原始特征图参数(例如,卷积层的输入特征图参数和输出特征图参数)。
此外,神经网络模型中每个卷积层的原始特征图参数也可以是预先存储在电子设备100的存储介质中的,在“获取神经网络模型中每个卷积层的原始特征图参数”时,仅需要从存储介质中获取到该预先存储的神经网络模型中每个卷积层的原始特征图参数即可,因此本公开对于如何获取神经网络模型中每个卷积层的原始特征图参数的方式不做限定。
S110,根据输入输出参数关系式、存储器容量对原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合。
在一些可能的实施例中,由于在将神经网络模型编译为可执行文件时,该可执行文件的输入、输出和/或权重子块都需要加载到SRAM(Static Random-Access Memory,静态随机存取存储器)空间中存放,因此上述的存储器容量可以为电子设备100的SRAM的存储容量。当然,在另一些可能的实施例中,上述的存储器容量也可以是预设容量或者是SRAM存储容量中的部分容量,本公开对此不做限定。
由于根据卷积计算的基本原理,神经网络模型的每个卷积层的输入特征图参数和输出特征图参数之间存在固定的对应关系,因此,上述的输入输出参数关系式可以与该固定的对应关系一致,或者说,该固定的对应关系可以为上述的输入输出参数关系式。进而,在获取到神经网络模型中每个卷积层的原始特征图参数后,电子设备100可以根据输入输出参数关系式和/或存储器容量对原始特征图参数进行拆分,可以得到每个卷积层的可行特征图参数集合。
其中,上述的原始特征图参数可以包括原始输入特征图参数和原始输出特征图参数。在“根据输入输出参数关系式和/或存储器容量对原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合”时,可以基于原始输入特征图参数对原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合;也可以基于原始输出特征图参数对原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合;还可以同时基于原始输入特征图参数和原始输出特征图参数对原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合,因此,本公开对于拆分的具体方式不作限定。
为了进一步提高本公开提供的方法的运行效率,在一些可能的实施例中,本公开中的原始特征图参 数可以包括原始输出特征图参数,对于如何“根据输入输出参数关系式和/或存储器容量对原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合”,在图2的基础上,请参照图3,S110可以包括:
S110A,根据输入输出参数关系式和/或存储器容量对原始输出特征图参数进行拆分,得到每个卷积层的可行输出特征图参数集合。
在一些可能的实施例中,原始特征图参数所包括的原始输入特征图参数可以包括:输入特征图的通道维度参数inf_c、高度维度参数inf_h以及宽度维度参数inf_w;原始特征图参数所包括的原始输出特征图参数可以包括:输出特征图的通道维度参数ouf_c、高度维度参数ouf_h以及宽度维度参数ouf_w,原始特征图参数中还可以包括权重参数:权重通道参数wt_c、权重维度参数wt_n、权重高度参数wt_h以及权重宽度参数wt_w。
而在卷积计算的基本原理中,输出特征图的通道维度参数ouf_c与权重参数的权重维度参数wt_n存在对应的固定关系,输出特征图的高度维度参数ouf_h和宽度维度参数ouf_w与输入特征图的高度维度参数inf_h以及宽度维度参数inf_w分别存在对应的固定关系。根据这些固定关系可以得到如下公式1:
Figure PCTCN2020135681-appb-000001
其中,pad为卷积运算补零个数,s为卷积步进参数,pad与s均为根据神经网络模型解析出的参数值,也即是说,pad与s可以认为是预设参数值;
并且,由于编译生成的可执行文件的输入、输出和权重子块都需要加载到SRAM空间中存放,因此各个子块的最大尺寸都必须小于SRAM最大容量,假设加速器的输入特征图、权重和输出特征图的SRAM容量大小分别为inf_L、wt_L和ouf_L,则上述尺寸需满足如下公式2:
inf_c*inf_h*inf_w<inf_L
ouf_c*ouf_h*ouf_w<ouf_L     (公式2);
wt_n*wt_c*wt_h*wt_w<wt_L
特别地,当输入特征图、权重和输出特征图共享加速器SRAM容量时,假设加速器SRAM容量为L,则上述公式2可以为:
inf_c*inf_h*inf_w+ouf_c*ouf_h*ouf_w+wt_n*wt_c*wt_h*wt_w<L;
而对于卷积计算,卷积输入特征图宽高尺寸必须大于权重宽高尺寸,并且输出特征图子块尺寸必须小于原始尺寸。因此,假设输出特征图原始尺寸为s_ouf_c*s_ouf_h*s_ouf_w(即输出特征图的原始尺寸分别为s_ouf_c、s_ouf_h和s_ouf_w),可以得到如下公式3:
inf_w≥wt_w
inf_h≥wt_h
ouf_c≤s_ouf_c   (公式3);
ouf_h≤s_ouf_h
ouf_w≤s_ouf_w
进而联立上述公式1、公式2以及公式3,则可以得到输入输出参数关系式,该输入输出参数关系式如下:
(1+2*pad/s)≤ouf_w≤s_ouf_w
(1+2*pad/s)≤ouf_h≤s_ouf_h
1≤ouf_c≤s_ouf_c
inf_c*[(ouf_w-1)*s-2*pad]*[(ouf_h-1)*s-2*pad]≤inf_L;
ouf_c*ouf_h*ouf_w≤ouf_L
ouf_c*inf_c*wt_h*wt_w≤wt_L
为了确保计算一个输出点的累加完整性,避免将计算一个输出点的累加过程拆分成几次计算,增加中间数据缓存,上述公式中的未知量inf_c、wt_h和wt_w可以全部使用原始值(即inf_c、wt_h和wt_w为已知量),由此可知,上述公式中仅有ouf_c、ouf_h和ouf_w为未知量,并且其上下限都是固定的。根据上述的输入输出参数关系式和/或存储器容量L的大小并通过将ouf_c、ouf_h和ouf_w设为未知量,遍历这些未知量的可能值,即可得到输出特征图的各种拆分尺寸组合(即,得到每个卷积层的可行特征图参数集合)。
应理解,S110A可以理解为“基于原始输出特征图参数对原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合”的第一步,由于基于原始输出特征图参数对原始特征图参数进行拆分可以避免将计算一个输出点的累加过程拆分成几次计算,增加中间数据缓存(即SS110A可以有效地避免缓存中间结果),进而提高了本公开提供的方法的运行效率。
S110B,根据每个卷积层的可行输出特征图参数集合以及输入输出参数关系式,确定出每个卷积层的可行输入特征图参数集合。
在得到每个卷积层的可行输出特征图参数集合后,根据每个卷积层的可行输出特征图参数集合并结合上述的公式1,可推算出每种拆分尺寸组合下对应的可行输入特征图参数和/或可行权重参数(即确定出每个卷积层的可行输入特征图参数集合)。
S110C,根据每个卷积层的可行输出特征图参数集合以及可行输入特征图参数集合,确定每个卷积层的可行特征图参数集合。
在确定出每个卷积层的可行输出特征图参数集合以及可行输入特征图参数集合后,分别将每个卷积层的可行输出特征图参数集合以及可行输入特征图参数集合进行合并,即可确定出每个卷积层的可行特征图参数集合。
请再参照图2,S120,从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数;目标特征图参数对应的数据搬运效率最高。
在本实施例中,在执行完S100至S110后,每个卷积层对应一个可行特征图参数集合,每个可行特征图参数集合中可能包括多个可行特征图参数。为了减少由神经网络模新所编译出的可执行文件在运行时的运算量,提高该可执行文件的运行效率,对于某一个可行特征图参数集合,可以计算出其所包括的多个可行特征图参数中数据搬运效率最高的可行特征图参数,作为该可行特征图参数集合对应的目标特征图参数。以此类推,可以对每个可行特征图参数集合进行上述操作,最后实现从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数。
应理解,由于本公开可以为每个卷积层找到一个对应的数据搬运效率最高的目标特征图参数,进而对于一个包括多个卷积层的神经网络模型,本公开可以实现对该神经网络模型的每个卷积层找到一个数据搬运效率(即数据复用率)最高的权重复用或特征图复用方式。也即是说,本公开能够为神经网络模型的每个卷积层找到一个最好的数据复用方式以提高神经网络模型整体的数据复用率,减少神经网络模型对应的可执行文件在运行时的运算量,并提高可执行文件的运算效率(即不同尺寸的卷积计算都可以找到最佳的拆分组合及数据复用方式,提高网络整体数据复用率,提高推理效率)。即,通过寻找任意尺寸卷积计算的最佳拆分尺寸,实现同一个网络中不同类型卷积计算的灵活拆分,从而提高网络整体数据复用率,间接提高网络推理效率。
因此,本公开提供的方法能够减少由神经网络模新所编译出的可执行文件在运行时的运算量,提高该可执行文件的运行效率。此外,本公开提供的方法实现灵活,支持的卷积计算尺寸不受硬件支持尺寸制约,可支持大尺寸的卷积运算。
在一些可能的实施例中,对于如何“从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数”,在图2的基础上,请参照图4,S120可以包括:
S120A,根据每个卷积层的可行特征图参数集合中每个可行特征图参数的值,确定出每个可行特征图参数对应的数据重复加载量。
在一些可能的实施例中,在得到可行输出特征图参数集合、可行输入特征图参数集合和/或可行权重参数的各种拆分尺寸组合后(即得到每个卷积层的可行特征图参数集合后),当不做任何拆分时,输入特征图、权重和输出特征图都仅会经历一次DDR(Double Data Rate SDRAM,双倍速率SDRAM)到SRAM(或SRAM到DDR)的数据传输过程,如果数据整体部分加载次数大于一次则纳入统计。当进行拆分时,根据拆分尺寸组合的不同,存在不同的数据重复加载量的计算方式,如下:
计算方式1,当只对输出通道进行拆分时(也即是,对权重通道参数wt_c、权重维度参数wt_n、权重高度参数wt_h以及权重宽度参数wt_w进行拆分,而输入特征图的通道维度参数inf_c、高度维度参数inf_h、宽度维度参数inf_w、输出特征图的通道维度参数ouf_c、高度维度参数ouf_h以及宽度维度参 数ouf_w保持不变),对这个神经网络模型的多个卷积层进行特征图的复用更优。此时,权重虽然需要加载多次,但多次加载的权重相互之间独立,不存在重复。进而在复用特征图的情况下,所有数据都只需要加载一次。因此,只对输出通道进行拆分时,数据重复加载量F 1为零。
计算方式2,当对输出宽度和高度均进行拆分时(也即是,对输入特征图的通道维度参数inf_c、高度维度参数inf_h、宽度维度参数inf_w、输出特征图的通道维度参数ouf_c、高度维度参数ouf_h以及宽度维度参数ouf_w进行拆分,而权重通道参数wt_c、权重维度参数wt_n、权重高度参数wt_h以及权重宽度参数wt_w保持不变),对这个神经网络模型的多个卷积层进行权重的复用更优。与计算方式1类似,此时特征图需要加载多次,权重只需加载一次。但由于对宽度和高度进行了分割,根据卷积的扫描特性,输入特征图会引入固定的重复数据,进而这种情况下重复数据量F 2可使用如下公式计算得到:
Figure PCTCN2020135681-appb-000002
其中,s为卷积步进参数,h_num为在输入特征图的高度(H)维度上分割的子块个数,w_num为在输入特征图宽度(W)维度上分割的子块个数。
计算方式3,当对输出宽度、高度和通道同时进行拆分时(也即是,对输入特征图的通道维度参数inf_c、高度维度参数inf_h、宽度维度参数inf_w、输出特征图的通道维度参数ouf_c、高度维度参数ouf_h、宽度维度参数ouf_w、权重通道参数wt_c、权重维度参数wt_n、权重高度参数wt_h以及权重宽度参数wt_w进行拆分),一个子特征图需要与多个权重子块进行卷积,一个权重子块也需要与多个子特征图进行卷积。此时,若复用特征图,则特征图只加载一次,还需计算因拆分导致的特征图重复加载量,并且权重需整体重复加载h_num*w_num-1次,故数据重复量计算公式为:
F 3=(h_num*w_num-1)*ouf_c*inf_c*wt_h*wt_w+F 2
若复用权重,则权重只加载一次,特征图需整体重复加载(wt_num-1)次,此时数据重复量计算公式为:
F′ 3=(wt_num-1)*inf_c*inf_h*inf_w+wt_num*F 2
其中,wt_num为权重在N维度上拆分的子块个数,为拆分输入特征图W维度和H维度产生的重复数据。
S120B,将每个卷积层的可行特征图参数集合中数据重复加载量最小的可行特征图参数作为每个卷积层对应的目标特征图参数。
在另一些可能的实施例中,为了进一步提高本公开提供的方法的运行效率,神经网络模型包括多个卷积层,对于如何“从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图 参数”,在图2的基础上,请参照图5,S120可以包括:
S120a,根据目标卷积层的可行特征图参数集合中每个可行特征图参数的值,确定出每个可行特征图参数对应的数据重复加载量。
在本实施例中,对于如何“根据目标卷积层的可行特征图参数集合中每个可行特征图参数的值,确定出每个可行特征图参数对应的数据重复加载量”可以参照上述S120A,在此不再赘述。
S120b,根据预设的处理核心个数以及数据重复加载量,从目标卷积层的可行特征图参数集合中确定出一个最优特征图参数;目标卷积层为多个卷积层中的任一层,最优特征图参数为目标卷积层的可行特征图参数集合中数据搬运效率最高的可行特征图参数。
在一些可能的实施例中,在统计完各种拆分尺寸组合的数据重复加载量F后,可以综合考虑数据重复加载量以及MAC资源利用率来确定数据搬运效率最高的可行特征图参数,即以数据重复加载量更少,MAC资源利用率更高为标准寻找最佳拆分组合。
硬件MAC资源利用率与特定的硬件布局相关,在硬件设计中,假设硬件的MAC资源被划分为N pe个组,每一组称为一个PE(逻辑核心),并且每一个PE计算一个输出通道的数据,因此当输出通道为N pe的倍数时效率最高,此时可以通过以下公式比较目标卷积层的可行特征图参数集合中任意两个可行特征图参数的数据搬运效率:
Figure PCTCN2020135681-appb-000003
其中,假设目标卷积层的可行特征图参数集合中任意两个可行特征图参数分别为gourp1和group2,公式中的T s为搬运单位数据耗时,T p为计算单个通道特定尺寸卷积耗时,T s和T p均可通过事先测试得到;s_ouf_c为原始输出通道个数;ouf_c group1和ouf_c group2分别为gourp1和group2的最大输出通道个数;ouf_clast group1和ouf_clast group2分别为分割产生的最后一个子块输出通道个数。运算
Figure PCTCN2020135681-appb-000004
Figure PCTCN2020135681-appb-000005
分别为向下和向上取整。当公式的计算结果w大于零时,表示gourp2更优;反之,则gourp1更优。
进而,根据上述公式遍历比较目标卷积层的可行特征图参数集合中的任意两个可行特征图参数,即可从目标卷积层的可行特征图参数集合中确定出一个最优特征图参数。
S120c,将最优特征图参数作为目标卷积层对应的目标特征图参数。
由于目标卷积层为多个卷积层中的任一层,为每个卷积层的可行特征图参数集合均进行S120a、S120b和S120c的处理,即可为每个卷积层确定出一个对应的数据搬运效率最高的目标特征图参数。
请再参考图2,S130,根据每个卷积层对应的目标特征图参数为神经网络模型生成可执行文件。
在一些可能的实施例中,对于如何“根据每个卷积层对应的目标特征图参数为神经网络模型生成可执行文件”,S130可以包括:根据每个卷积层对应的目标特征图参数生成三维直接内存存取DMA(Direct Memory Access,直接存储器访问,也即是直接内存存取)数据搬运指令,并根据三维DMA数据搬运指令生成神经网络模型的可执行文件。其中,三维直接内存存取DMA数据搬运指令可以理解为三维DMA数据搬运指令。
可以理解,利用三维DMA进行特征图的搬运,可直接在输出子特征图过程中就实现各个子块在三维逻辑尺寸上的无缝拼接,无需额外的slice/concate操作。
可选的,为了实现神经网络模型的数据处理功能,在图2的基础上,请参照图6,在S130之后,方法还可以包括:
S140,执行可执行文件以实现神经网络模型的数据处理功能。
在本实施例中,神经网络模型的数据处理功能可以是自然语言处理、图像识别、语音识别、数据挖掘以及个性化推荐等功能。进而本公开可以在编译器中进行离线特征图拆分,可减少运行时的处理逻辑,降低硬件逻辑复杂度,降低实现成本。
应理解,通过本公开提供的神经网络模型的编译方法,可以对神经网络模型中每个卷积层的原始特征图参数进行拆分,为每个卷积层找到一个对应的数据搬运效率最高的目标特征图参数,进而提高神经网络模型整体的数据复用率,减少神经网络模型对应的可执行文件在运行时的运算量,并提高可执行文件的运算效率,即,本公开能够将神经网络模型编译为可执行文件,并减少该可执行文件在运行时的运算量,提高该可执行文件的运行效率。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种神经网络模型的编译装置的实现方式,请参阅图7,图7示出了本公开实施例提供的神经网络模型的编译装置的一种功能模块图。需要说明的是,本实施例所提供的神经网络模型的编译装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该神经网络模型的编译装置200包括:获取模块210、拆分模块220、生成模块230和/或运行模块240。
可选地,上述模块可以软件或固件(Firmware)的形式存储于存储器中或固化于本公开提供的电子设备100的操作系统(Operating System,OS)中,并可由电子设备100中的处理器执行。同时,执行上述模块所需的数据和/或程序的代码等可以存储在存储器中。
获取模块210可以配置成获取神经网络模型中每个卷积层的原始特征图参数。
可以理解的是,获取模块210可以配置成支持电子设备100执行上述S100等,和/或配置成本文所描述的技术的其他过程。
拆分模块220可以配置成根据输入输出参数关系式和/或存储器容量对所述原始特征图参数进行拆 分,得到每个卷积层的可行特征图参数集合。
可以理解的是,拆分模块220可以配置成支持电子设备100执行上述S110等,和/或配置成本文所描述的技术的其他过程。
拆分模块220还可以配置成从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数;所述目标特征图参数对应的数据搬运效率最高。
可以理解的是,拆分模块220可以配置成支持电子设备100执行上述S120等,和/或配置成本文所描述的技术的其他过程。
生成模块230可以配置成根据每个卷积层对应的目标特征图参数为所述神经网络模型生成可执行文件。
可以理解的是,生成模块230可以配置成支持电子设备100执行上述S130等,和/或配置成本文所描述的技术的其他过程。
运行模块240可以配置成执行可执行文件以实现神经网络模型的数据处理功能。
可以理解的是,运行模块240可以配置成支持电子设备100执行上述S140等,和/或配置成本文所描述的技术的其他过程。
在一些可能的实施例中,本公开中的原始特征图参数可以包括原始输出特征图参数,对于如何“根据输入输出参数关系式和/或存储器容量对原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合”,拆分模块220可以配置成根据输入输出参数关系式和/或存储器容量对原始输出特征图参数进行拆分,得到每个卷积层的可行输出特征图参数集合;拆分模块220还可以配置成根据每个卷积层的可行输出特征图参数集合以及输入输出参数关系式,确定出每个卷积层的可行输入特征图参数集合;拆分模块220还可以配置成根据每个卷积层的可行输出特征图参数集合以及可行输入特征图参数集合,确定每个卷积层的可行特征图参数集合。
可以理解的是,拆分模块220可以配置成支持电子设备100执行上述S110A、S110B和/或S110C等,和/或配置成本文所描述的技术的其他过程。
在一些可能的实施例中,对于如何“从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数”,拆分模块220可以配置成根据每个卷积层的可行特征图参数集合中每个可行特征图参数的值,确定出每个所述可行特征图参数对应的数据重复加载量;拆分模块220还可以配置成将每个卷积层的可行特征图参数集合中数据重复加载量最小的可行特征图参数作为每个卷积层对应的目标特征图参数。
可以理解的是,拆分模块220可以配置成支持电子设备100执行上述S120A和/或S120B等,和/或配置成本文所描述的技术的其他过程。
在另一些可能的实施例中,为了进一步提高本公开提供的方法的运行效率,神经网络模型包括多个 卷积层,对于如何“从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数”,拆分模块220可以配置成根据目标卷积层的可行特征图参数集合中每个可行特征图参数的值,确定出每个可行特征图参数对应的数据重复加载量;拆分模块220还可以配置成根据预设的处理核心个数以及数据重复加载量,从目标卷积层的可行特征图参数集合中确定出一个最优特征图参数;目标卷积层为多个卷积层中的任一层,最优特征图参数为目标卷积层的可行特征图参数集合中数据搬运效率最高的可行特征图参数;拆分模块220还可以配置成将最优特征图参数作为目标卷积层对应的目标特征图参数。
可以理解的是,拆分模块220可以配置成支持电子设备100执行上述S120a、S120b和/或S120c等,和/或配置成本文所描述的技术的其他过程。
基于上述方法实施例,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述神经网络模型的编译方法的步骤。
具体地,该存储介质可以为通用的存储介质,如移动磁盘或硬盘等,该存储介质上的计算机程序被运行时,能够执行上述神经网络模型的编译方法,从而解决目前的优化方法较为简单,编译出的可执行文件的运行效率仍十分低下的问题,实现能够将神经网络模型编译为可执行文件,并减少该可执行文件在运行时的运算量,提高该可执行文件的运行效率的目的。
综上,本公开实施例提供了一种神经网络模型的编译方法、装置、存储介质及电子设备,该方法包括:获取神经网络模型中每个卷积层的原始特征图参数;根据输入输出参数关系式和/或存储器容量对原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合;从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数;目标特征图参数对应的数据搬运效率最高;根据每个卷积层对应的目标特征图参数为神经网络模型生成可执行文件。通过本公开提供的神经网络模型的编译方法,可以对神经网络模型中每个卷积层的原始特征图参数进行拆分,为每个卷积层找到一个对应的数据搬运效率最高的目标特征图参数,进而提高神经网络模型整体的数据复用率,减少神经网络模型对应的可执行文件在运行时的运算量,并提高可执行文件的运算效率,即,本公开能够将神经网络模型编译为可执行文件,并减少该可执行文件在运行时的运算量,提高该可执行文件的运行效率。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (10)

  1. 一种神经网络模型的编译方法,其特征在于,所述方法包括:
    获取神经网络模型中每个卷积层的原始特征图参数;
    根据输入输出参数关系式和/或存储器容量对所述原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合;
    从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数;所述目标特征图参数对应的数据搬运效率最高;
    根据每个卷积层对应的目标特征图参数为所述神经网络模型生成可执行文件。
  2. 根据权利要求1所述的方法,其特征在于,所述原始特征图参数包括原始输出特征图参数;
    所述根据输入输出参数关系式和/或存储器容量对所述原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合的步骤包括:
    根据输入输出参数关系式和/或存储器容量对所述原始输出特征图参数进行拆分,得到每个卷积层的可行输出特征图参数集合;
    根据每个卷积层的可行输出特征图参数集合以及所述输入输出参数关系式,确定出每个卷积层的可行输入特征图参数集合;
    根据每个卷积层的可行输出特征图参数集合以及所述可行输入特征图参数集合,确定每个卷积层的可行特征图参数集合。
  3. 根据权利要求2所述的方法,其特征在于,所述从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数的步骤包括:
    根据每个卷积层的可行特征图参数集合中每个可行特征图参数的值,确定出每个所述可行特征图参数对应的数据重复加载量;
    将每个卷积层的可行特征图参数集合中数据重复加载量最小的可行特征图参数作为每个卷积层对应的目标特征图参数。
  4. 根据权利要求2所述的方法,其特征在于,所述神经网络模型包括多个卷积层,所述从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数的步骤包括:
    根据目标卷积层的可行特征图参数集合中每个可行特征图参数的值,确定出每个所述可行特征图参数对应的数据重复加载量;
    根据预设的处理核心个数以及所述数据重复加载量,从目标卷积层的可行特征图参数集合中确定出一个最优特征图参数;所述目标卷积层为所述多个卷积层中的任一层,所述最优特征图参数为所述目标卷积层的可行特征图参数集合中数据搬运效率最高的可行特征图参数;
    将所述最优特征图参数作为所述目标卷积层对应的目标特征图参数。
  5. 根据权利要求1所述的方法,其特征在于,所述根据每个卷积层对应的目标特征图参数为所述神经网络模型生成可执行文件的步骤包括:
    根据每个卷积层对应的目标特征图参数生成三维直接内存存取DMA数据搬运指令,并根据所述三维DMA数据搬运指令生成所述神经网络模型的可执行文件。
  6. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    执行所述可执行文件以实现所述神经网络模型的数据处理功能。
  7. 一种神经网络模型的编译装置,其特征在于,包括:
    获取模块,配置成获取神经网络模型中每个卷积层的原始特征图参数;
    拆分模块,配置成根据输入输出参数关系式和/或存储器容量对所述原始特征图参数进行拆分,得到每个卷积层的可行特征图参数集合;
    所述拆分模块,还配置成从每个卷积层的可行特征图参数集合中为每个卷积层确定出一个对应的目标特征图参数;所述目标特征图参数对应的数据搬运效率最高;
    生成模块,配置成根据每个卷积层对应的目标特征图参数为所述神经网络模型生成可执行文件。
  8. 根据权利要求7所述的装置,其特征在于,所述原始特征图参数包括原始输出特征图参数;
    所述拆分模块配置成根据输入输出参数关系式和/或存储器容量对所述原始输出特征图参数进行拆分,得到每个卷积层的可行输出特征图参数集合;
    所述拆分模块还配置成根据每个卷积层的可行输出特征图参数集合以及所述输入输出参数关系式,确定出每个卷积层的可行输入特征图参数集合;
    所述拆分模块还配置成根据每个卷积层的可行输出特征图参数集合以及所述可行输入特征图参数集合,确定每个卷积层的可行特征图参数集合。
  9. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的神经网络模型的编译方法。
  10. 一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有机器可读指令,所述处理器配置成执行所述机器可读指令,以实现如权利要求1-6中任一项所述的神经网络模型的编译方法。
PCT/CN2020/135681 2020-06-28 2020-12-11 神经网络模型的编译方法、装置、存储介质及电子设备 WO2022001014A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010601610.2 2020-06-28
CN202010601610.2A CN111738423A (zh) 2020-06-28 2020-06-28 神经网络模型的编译方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
WO2022001014A1 true WO2022001014A1 (zh) 2022-01-06

Family

ID=72651518

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/135681 WO2022001014A1 (zh) 2020-06-28 2020-12-11 神经网络模型的编译方法、装置、存储介质及电子设备

Country Status (2)

Country Link
CN (1) CN111738423A (zh)
WO (1) WO2022001014A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115982110A (zh) * 2023-03-21 2023-04-18 北京探境科技有限公司 文件运行方法、装置、计算机设备及可读存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111738423A (zh) * 2020-06-28 2020-10-02 湖南国科微电子股份有限公司 神经网络模型的编译方法、装置、存储介质及电子设备
CN116415103B (zh) * 2023-06-09 2023-09-05 之江实验室 一种数据处理的方法、装置、存储介质以及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650922A (zh) * 2016-09-29 2017-05-10 清华大学 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统
US20190251424A1 (en) * 2018-02-13 2019-08-15 Beijing Kuangshi Technology Co., Ltd. Operation apparatus, operation execution device and operation execution method
CN110555516A (zh) * 2019-08-27 2019-12-10 上海交通大学 基于FPGA的YOLOv2-tiny神经网络低延时硬件加速器实现方法
CN110929860A (zh) * 2019-11-07 2020-03-27 深圳云天励飞技术有限公司 一种卷积加速运算方法、装置、存储介质及终端设备
CN111738423A (zh) * 2020-06-28 2020-10-02 湖南国科微电子股份有限公司 神经网络模型的编译方法、装置、存储介质及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650922A (zh) * 2016-09-29 2017-05-10 清华大学 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统
US20190251424A1 (en) * 2018-02-13 2019-08-15 Beijing Kuangshi Technology Co., Ltd. Operation apparatus, operation execution device and operation execution method
CN110555516A (zh) * 2019-08-27 2019-12-10 上海交通大学 基于FPGA的YOLOv2-tiny神经网络低延时硬件加速器实现方法
CN110929860A (zh) * 2019-11-07 2020-03-27 深圳云天励飞技术有限公司 一种卷积加速运算方法、装置、存储介质及终端设备
CN111738423A (zh) * 2020-06-28 2020-10-02 湖南国科微电子股份有限公司 神经网络模型的编译方法、装置、存储介质及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115982110A (zh) * 2023-03-21 2023-04-18 北京探境科技有限公司 文件运行方法、装置、计算机设备及可读存储介质
CN115982110B (zh) * 2023-03-21 2023-08-29 北京探境科技有限公司 文件运行方法、装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
CN111738423A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
WO2022001014A1 (zh) 神经网络模型的编译方法、装置、存储介质及电子设备
US11468301B2 (en) Method and apparatus for performing operation of convolutional layer in convolutional neural network
CN109086031B (zh) 一种基于规则引擎的业务决策方法和装置
CN105022670B (zh) 一种云计算平台中的异构分布式任务处理系统及其处理方法
US10656962B2 (en) Accelerate deep neural network in an FPGA
WO2017116924A1 (en) Neural network training performance optimization framework
WO2020199476A1 (zh) 基于脉动阵列的神经网络加速方法、装置、计算机设备及存储介质
CN110443357B (zh) 卷积神经网络计算优化方法、装置、计算机设备及介质
Bottleson et al. clcaffe: Opencl accelerated caffe for convolutional neural networks
WO2021011914A1 (en) Scheduling operations on a computation graph
WO2020253117A1 (zh) 一种数据处理方法及装置
US20220058450A1 (en) Tabular convolution and acceleration
CN111738424B (zh) 神经网络处理方法、装置、电子设备及存储介质
CN115481732A (zh) 通过人工智能加速器处理特征图的方法和装置
CN113655986B9 (zh) 一种基于numa亲和性的fft卷积算法并行实现方法及系统
CN111461302A (zh) 一种基于卷积神经网络的数据处理方法、设备及存储介质
CN114492730A (zh) 神经网络模型的编译方法和装置、电子设备和存储介质
US10268798B2 (en) Condition analysis
US8984475B2 (en) Apparatus and method for generating code overlay
CN115130672B (zh) 一种软硬件协同优化卷积神经网络计算的方法及装置
CN116090518A (zh) 基于脉动运算阵列的特征图处理方法、装置以及存储介质
Kim et al. Optimizing seam carving on multi-GPU systems for real-time content-aware image resizing
US11762721B2 (en) Method for realizing nGraph framework supporting FPGA rear-end device
CN111832714A (zh) 运算方法及装置
CN111340215B (zh) 一种网络模型推理加速方法、装置、存储介质和智能设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20942981

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20942981

Country of ref document: EP

Kind code of ref document: A1