CN117422108A - 一种卷积核的确定方法、装置、设备及存储介质 - Google Patents
一种卷积核的确定方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117422108A CN117422108A CN202210796356.5A CN202210796356A CN117422108A CN 117422108 A CN117422108 A CN 117422108A CN 202210796356 A CN202210796356 A CN 202210796356A CN 117422108 A CN117422108 A CN 117422108A
- Authority
- CN
- China
- Prior art keywords
- convolution
- parameter
- target
- parameters
- convolution structure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000006399 behavior Effects 0.000 claims description 103
- 238000012216 screening Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
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)
- Complex Calculations (AREA)
Abstract
本发明公开了一种卷积核的确定方法、装置、设备及存储介质,包括:获取待处理的目标卷积结构参数;将目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与目标卷积结构参数对应的至少一条备选卷积结构参数;根据各备选卷积结构参数分别对应的备选卷积核,确定与目标卷积结构参数对应的目标卷积核。本发明实施例的技术方案可以提高卷积核确定过程的性能,以及卷积核确定结果的准确性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种卷积核的确定方法、装置、设备及存储介质。
背景技术
随着卷积神经网络的兴起,涌现出了各种各样的经典网络,无论网络结构如何变化,网络的核心基本都是卷积,因此,为每条卷积结构参数选择对应的最优卷积核kernel是非常有必要的。
现有技术中在确定最优卷积核时,通常有以下几种方式:第一,对当前卷积结构参数下的每个卷积核试运行一遍,根据运行结果确定最优卷积核;第二,预先对多个卷积核进行分组,针对当前卷积结构参数,首先遍历各个分组,在各分组内查找适用的卷积核,然后比较各个分组下卷积核的性能,最终得到最优卷积核;第三,建立卷积核时间计算模型,通过所述模型预测当前卷积结构参数下,每个卷积核的运行时间,根据时间预测结果确定最优卷积核。
但是,第一种方式和第二种方式仅擅长处理卷积结构参数固定的情况,对于卷积结构参数不确定的情况,需要较长的推理过程,导致性能较差,耗时较久,计算资源浪费严重;其次,由于硬件环境以及参数的多样性,第三种方式中模型构建的难度较大,并且由于卷积核的实际运行时间取决于多种不确定因素(例如访存速度波动因素等),导致时间预测结果准确性较差,最优卷积核确定结果有效性较低。
发明内容
本发明提供了一种卷积核的确定方法、装置、设备及存储介质,可以提高卷积核确定过程的性能,以及卷积核确定结果的准确性。
根据本发明的一方面,提供了一种卷积核的确定方法,包括:
获取待处理的目标卷积结构参数;
将所述目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数;
其中,所述卷积核查询表中预先存储了大量卷积结构参数,以及各卷积结构参数适用的卷积核;
根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核。
可选的,在获取待处理的目标卷积结构参数之前,还包括:
获取大量卷积结构参数,将各所述卷积结构参数划分为行为描述参数,以及数据描述参数;
采用卷积神经网络中的Warmup训练模式,得到各卷积结构参数适用的卷积核;
根据各卷积结构参数中行为描述参数对应的参数值、数据描述参数对应的参数值,以及所述卷积结构参数适用的卷积核,构建得到所述卷积核查询表。
可选的,将所述目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数,包括:
将所述目标卷积结构参数划分为目标行为描述参数,以及目标数据描述参数;
将所述目标行为描述参数的参数值,与卷积核查询表中各行为描述参数的参数值进行匹配,得到与所述目标卷积结构参数对应的至少一条初筛卷积结构参数;
将所述目标数据描述参数的参数值,与各初筛卷积结构参数中数据描述参数的参数值进行循环匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数。
可选的,根据各卷积结构参数中行为描述参数对应的参数值、数据描述参数对应的参数值,以及所述卷积结构参数适用的卷积核,构建得到所述卷积核查询表,包括:
将各卷积结构参数中行为描述参数对应的参数值进行组合,得到行为描述字符串;
根据各卷积结构参数中数据描述参数对应的参数值、行为描述字符串,以及所述卷积结构参数适用的卷积核,构建得到所述卷积核查询表。
可选的,将所述目标行为描述参数的参数值,与卷积核查询表中各行为描述参数的参数值进行匹配,包括:
将所述目标行为描述参数的参数值进行组合,得到目标行为描述字符串;
将所述目标行为描述字符串,与卷积核查询表中的各行为描述字符串进行匹配。
可选的,根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核,包括:
在全部备选卷积结构参数对应的全部备选卷积核中,统计每个备选卷积核的出现次数;
判断每个备选卷积核的出现次数是否一致;
若否,则将出现次数最大时对应的备选卷积核作为与所述目标卷积结构参数对应的目标卷积核。
可选的,在判断每个备选卷积核的出现次数是否一致之后,还包括:
若是,则统计每个备选卷积核在历史运行过程中对应的卷积结构参数的条数;
根据条数统计结果,确定与所述目标卷积结构参数对应的目标卷积核。
根据本发明的另一方面,提供了一种卷积核的确定装置,所述装置包括:
参数获取模块,用于获取待处理的目标卷积结构参数;
参数匹配模块,用于将所述目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数;
其中,所述卷积核查询表中预先存储了大量卷积结构参数,以及各卷积结构参数适用的卷积核;
目标卷积核确定模块,用于根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的卷积核的确定方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的卷积核的确定方法。
根据本发明的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现本发明任一实施例所述的卷积核的确定方法。
本发明实施例提供的技术方案,通过获取待处理的目标卷积结构参数,将所述目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数,根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核的技术手段,可以提高卷积核确定过程的性能,节省卷积核确定过程所消耗的时间,提高卷积核的确定效率,可以节省卷积核查询表的存储空间,便于目标行为描述参数与查询表中的行为描述参数进行快速匹配,提高目标卷积核确定结果的可靠性和有效性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的一种卷积核的确定方法的流程图;
图2是根据本发明实施例提供的另一种卷积核的确定方法的流程图;
图3是根据本发明实施例提供的另一种卷积核的确定方法的流程图;
图4是根据本发明实施例提供的一种卷积核的确定装置的结构示意图;
图5是实现本发明实施例的卷积核的确定方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例提供的一种卷积核的确定方法的流程图,本实施例可适用于为卷积结构参数选择最优卷积核的情况,该方法可以由卷积核的确定装置来执行,该卷积核的确定装置可以采用硬件和/或软件的形式实现,该卷积核的确定装置可配置于具备数据处理功能的电子设备(例如终端或者服务器)中。如图1所示,该方法包括:
步骤110、获取待处理的目标卷积结构参数。
在本实施例中,所述目标卷积结构参数可以为等待进行卷积核选择的卷积结构参数。具体的,所述卷积结构参数可以理解为卷积网络中的模型参数。
在实际应用中,针对一条卷积结构参数,通常存在多个卷积核可以完成卷积结构参数所指定的卷积操作,但是每个卷积核的性能各不相同,因此,为卷积结构参数选择最优的卷积核是非常有必要的。
步骤120、将所述目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数。
在本实施例中,在获取目标卷积结构参数之前,预先构建了卷积核查询表,所述卷积核查询表中存储了大量卷积结构参数,以及各卷积结构参数适用的卷积核。
在一个具体的实施例中,在获取目标卷积结构参数之前,可以先获取大量的卷积网络中常用的卷积结构参数,然后对每个卷积结构参数下的卷积核依次运行一遍,根据运行结果确定每个卷积结构参数适用的卷积核(也即最优卷积核),最后将各卷积结构参数以及最优卷积核之间的映射关系,存储至所述卷积核查询表中。
具体的,针对某一卷积结构参数所指定的卷积操作,可以将运行速度最快的卷积核作为该卷积结构参数对应的最优卷积核。
在此步骤中,获取到目标卷积结构参数之后,可以将所述目标卷积结构参数与卷积核查询表中的各卷积结构参数进行匹配,并将匹配程度大于预设匹配度的卷积结构参数作为备选卷积结构参数。
步骤130、根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核。
在本实施例中,得到与目标卷积结构参数对应的备选卷积结构参数之后,可以在卷积核查询表中依次获取各备选卷积结构参数对应的最优卷积核(也即备选卷积核),然后根据各备选卷积核确定与目标卷积结构参数对应的最优卷积核(也即目标卷积核)。
在一个可选的实施方式中,获取到各备选卷积核之后,可以将任意备选卷积核直接作为目标卷积核;或者可以在各备选卷积核中随机获取一个备选卷积核作为目标卷积核,本实施例对此并不进行限定。
在本实施例中,通过预先构建卷积核查询表,可以避免在线处理卷积结构参数时,逐个运行卷积核所造成的计算资源浪费以及时间浪费;其次,由于卷积核查询表中存储了大量的常用卷积结构参数,可以实现最大程度获取与目标卷积结构参数匹配的备选卷积结构参数,进而可以避免卷积结构参数不确定时,导致卷积核确定过程性能较差的问题;最后,相比于建立卷积核时间计算模型的方式而言,本实施例通过查表的方式可以降低卷积核确定过程的难度,并且由于备选卷积结构参数与目标卷积结构参数的匹配程度较高,由此可以提高目标卷积核确定结果的可靠性和有效性。
在本实施例中,通过获取待处理的目标卷积结构参数,将所述目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数,根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核的技术手段,可以提高卷积核确定过程的性能,以及卷积核确定结果的准确性。
图2为本发明实施例提供的另一种卷积核的确定方法的流程图,如图2所示,该方法包括:
步骤210、获取大量卷积结构参数,将各所述卷积结构参数划分为行为描述参数,以及数据描述参数。
在此步骤中,可以获取大量的卷积网络中常用的卷积结构参数,然后根据每条卷积结构参数中各个参数的变动范围,将每条卷积结构参数划分为行为描述参数和数据描述参数。具体的,可以将每条卷积结构参数中变动范围有限的、用于描述卷积行为的参数划分为行为描述参数,并将变动范围较大的、用于描述卷积过程中数据信息的参数划分为数据描述参数。
在一个具体的实施例中,可以每条卷积结构参数中的以下参数划分为行为描述参数:权重矩阵宽度fil_w、权重矩阵高度fil_h、权重矩阵深度fil_d、宽度方向填充大小pad_w、高度方向填充大小pad_h、深度方向填充大小pad_d、宽度方向步长stride_w、高度方向步长stride_h、深度方向步长stride_d、宽度方向空洞大小dilation_w、高度方向空洞大小dilation_h、深度方向空洞大小dilation_d、偏置值bias、卷积分组数group、卷积数据类型data_type、数据排布方式layout以及卷积方向direction;
然后将每条卷积结构参数中的以下参数划分为数据描述参数:输入矩阵宽度in_w、输入矩阵高度in_h、输入矩阵通道数in_c、输入矩阵深度in_d、输入矩阵的批量大小batch_sz以及卷积核数量fil_k。
在本实施例中,一共收集了64047条常用的卷积结构参数,但是不同的行为描述参数只有423条,也就是说,行为描述参数相对来说数量较少,导致卷积结构参数数量巨大的原因是数据描述参数的组合数量太多。
步骤220、采用卷积神经网络中的Warmup训练模式,得到各卷积结构参数适用的卷积核。
在此步骤中,可以在特定硬件条件下,对收集到的各卷积结构参数,采用Warmup模式试运行法得到每条卷积结构参数适用的卷积核(也即最优卷积核)。其中,所述特定硬件条件可以为,特定的图形处理器(Graphics Processing Unit,GPU)下对应的具体指令集架构。
步骤230、根据各卷积结构参数中行为描述参数对应的参数值、数据描述参数对应的参数值,以及所述卷积结构参数适用的卷积核,构建得到所述卷积核查询表。
在本实施例中,可以根据每条卷积结构参数中行为描述参数对应的参数值、数据描述参数对应的参数值、以及适用的卷积核之间的映射关系,构建得到卷积核查询表。
步骤240、获取待处理的目标卷积结构参数。
步骤250、将所述目标卷积结构参数划分为目标行为描述参数,以及目标数据描述参数。
在此步骤中,可以采用与步骤210相同的方式,将目标卷积结构参数划分为目标行为描述参数,以及目标数据描述参数。
步骤260、将所述目标行为描述参数的参数值,与卷积核查询表中各行为描述参数的参数值进行匹配,得到与所述目标卷积结构参数对应的至少一条初筛卷积结构参数。
在此步骤中,可以将目标行为描述参数的参数值,与卷积核查询表中各行为描述参数的参数值进行精准匹配,并将匹配结果一致的行为描述参数所属的卷积结构参数,作为初筛卷积结构参数。
在一个具体的实施例中,假设卷积核查询表中包括卷积结构参数A、卷积结构参数B以及卷积结构参数C,目标卷积结构参数中目标行为描述参数的参数值为a,如果卷积结构参数A中的行为描述参数的参数值为a,卷积结构参数B中的行为描述参数的参数值为a,卷积结构参数C中的行为描述参数的参数值为b,则可以将卷积结构参数A和卷积结构参数B,作为与该目标卷积结构参数对应的初筛卷积结构参数。
步骤270、将所述目标数据描述参数的参数值,与各初筛卷积结构参数中数据描述参数的参数值进行循环匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数。
在此步骤中,可以将目标数据描述参数的参数值,与各初筛卷积结构参数中数据描述参数的参数值进行循环匹配,并将匹配程度大于预设匹配度的初筛卷积结构参数作为备选卷积结构参数。
这样设置的好处在于,通过按照参数的变动范围将卷积结构参数进行划分,可以在大量的卷积结构参数中快速获取目标卷积结构参数匹配的备选卷积结构参数,由此可以节省卷积核确定过程所消耗的时间,提高卷积核的确定效率。
步骤280、根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核。
本发明实施例提供的技术方案,通过获取大量卷积结构参数,将各卷积结构参数划分为行为描述参数以及数据描述参数,采用Warmup训练模式得到各卷积结构参数适用的卷积核,根据各卷积结构参数中行为描述参数对应的参数值、数据描述参数对应的参数值,以及卷积结构参数适用的卷积核构建得到卷积核查询表,获取待处理的目标卷积结构参数,将目标卷积结构参数划分为目标行为描述参数以及目标数据描述参数,将目标行为描述参数的参数值与卷积核查询表中各行为描述参数的参数值进行匹配,得到至少一条初筛卷积结构参数,将目标数据描述参数的参数值与各初筛卷积结构参数中数据描述参数的参数值进行循环匹配,得到至少一条备选卷积结构参数,根据各备选卷积结构参数分别对应的备选卷积核,确定目标卷积核的技术手段,可以提高卷积核确定过程的性能,以及卷积核确定结果的准确性。
图3为本发明实施例提供的另一种卷积核的确定方法的流程图,如图3所示,该方法包括:
步骤301、获取大量卷积结构参数,将各所述卷积结构参数划分为行为描述参数,以及数据描述参数。
步骤302、采用卷积神经网络中的Warmup训练模式,得到各卷积结构参数适用的卷积核。
步骤303、将各卷积结构参数中行为描述参数对应的参数值进行组合,得到行为描述字符串。
在此步骤中,由于行为描述参数的组合数量较少,因此可以将每条卷积结构参数中行为描述参数的参数值进行组合,得到每条卷积结构参数对应的行为描述字符串。
步骤304、根据各卷积结构参数中数据描述参数对应的参数值、行为描述字符串,以及所述卷积结构参数适用的卷积核,构建得到所述卷积核查询表。
在此步骤中,可以根据每条卷积结构参数中数据描述参数的参数值、行为描述字符串,以及适用的卷积核之间的映射关系,构建得到卷积核查询表。
这样设置的好处在于,通过将各卷积结构参数中行为描述参数对应的参数值进行组合,得到行为描述字符串,一方面可以节省卷积核查询表的存储空间,另一方面便于目标行为描述参数进行匹配,提高卷积核的确定效率。
在一个具体的实施例中,以一条行为描述字符串为例,构建的卷积核查询表可以如表1所示:
表1
如表1所示,所述卷积核查询表中行为描述字符串可以作为单独一列,数据描述参数(例如batch_sz、in_c、in_d、in_h、in_w以及fil_k)中的每一项参数值作为单独一列,每条卷积结构参数适用的最优卷积核作为单独一列。
步骤305、获取待处理的目标卷积结构参数。
步骤306、将所述目标卷积结构参数划分为目标行为描述参数,以及目标数据描述参数。
步骤307、将所述目标行为描述参数的参数值进行组合,得到目标行为描述字符串。
步骤308、将所述目标行为描述字符串,与卷积核查询表中的各行为描述字符串进行匹配,得到与所述目标卷积结构参数对应的至少一条初筛卷积结构参数。
在一个具体的实施例中,假设目标行为描述字符串为f32x1x1-p32x0x0-s32x1x1-d32x1x1-b0-g1-tconv-F1-LNCHWxNCHWxNCHW,通过将该目标行为描述字符串与查询表进行匹配,得到的初筛卷积结构参数可以如表2所示:
表2
如表2所示,所述目标行为描述字符串与初筛卷积结构参数中的行为描述字符串完全一致。
步骤309、将所述目标数据描述参数的参数值,与各初筛卷积结构参数中数据描述参数的参数值进行循环匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数。
在此步骤中,确定出初筛卷积结构参数之后,可以将目标数据描述参数的参数值,与初筛卷积结构参数中的各数据描述参数的参数值(例如batch_sz、in_c、in_d、in_h、in_w以及fil_k)进行循环匹配,得到备选卷积结构参数。
在本实施例的一个实施方式中,可以按照数据描述参数中各参数权重由大到小的顺序,将目标数据描述参数的参数值,与数据描述参数的各参数值进行循环匹配。具体的,在循环匹配过程中,可以先将目标数据描述参数中权重最大的一个或多个参数值,与数据描述参数中对应的参数值进行单独匹配,然后根据目标数据描述参数中剩余参数值的权重,生成与剩余参数值对应的多个匹配顺序,并按照各匹配顺序将目标数据描述参数中的剩余参数值,与数据描述参数中对应的参数值依次进行匹配。
在一个具体的实施例中,假设目标数据描述参数中各参数权重由大到小排列为:batch_sz、in_d、fil_k、in_w、in_h和in_c,则可以先将目标数据描述参数中的batch_sz对应的数据值,与初筛卷积结构参数中的各batch_sz对应的数据值进行匹配,然后将目标数据描述参数中的in_d对应的数据值,与初筛卷积结构参数中的各in_d对应的数据值进行匹配;最后根据剩余参数值(即fil_k、in_w、in_h和in_c)的权重,生成以下多个匹配顺序:(fil_k,in_w,in_h,in_c)、(in_w,in_h,in_c,fil_k),(in_h,in_c,fil_k,in_w)、(in_c,fil_k,in_w,in_h),并按照各匹配顺序对剩余的参数值进行匹配。
在一个具体的实施例中,以表2中的初筛卷积结构参数为例,假设目标数据描述参数中的batch_sz为128,in_d为32,in_c为64,in_h为64,in_w为64,fil_k为256,则与目标卷积结构参数对应的备选卷积结构参数可以如表3所示。
步骤310、根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核。
在本实施例中,以表3中的备选卷积结构参数为例,各备选卷积结构参数对应的备选卷积核分别为ConvHipImplicitGemmV4R4Fwd、ConvHipImplicitGemmV4R4Fwd和ConvAsmImplicitGemmDynamicFwdNchwKcrsNkhwF1P0S1Wh64K64NC16。
表3
在本实施例的一个实施方式中,根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核,包括:在全部备选卷积结构参数对应的全部备选卷积核中,统计每个备选卷积核的出现次数;判断每个备选卷积核的出现次数是否一致;若是,则统计每个备选卷积核在历史运行过程中对应的卷积结构参数的条数;根据条数统计结果,确定与所述目标卷积结构参数对应的目标卷积核;若否,则将出现次数最大时对应的备选卷积核作为与所述目标卷积结构参数对应的目标卷积核。
在一个具体的实施例中,以表3中的备选卷积核为例,其中,ConvHipImplicitGemmV4R4Fwd的出现次数为2次,ConvAsmImplicitGemmDynamicFwdNchwKcrsNkhwF1P0S1Wh64K64NC16的出现次数为1次,则可以将备选卷积核ConvHipImplicitGemmV4R4Fwd作为目标卷积核。
在另一个具体的实施例中,如果各备选卷积核的出现次数一致,则可以统计各备选卷积核在历史运行过程中处理的卷积结构参数的条数,如果备选卷积核处理过的卷积结构参数条数较多,则可以将该备选卷积核作为目标卷积核。
在本实施例中,可选的,在将目标行为描述字符串与卷积核查询表中的各行为描述字符串进行匹配之后,如果查询表中不存在与目标行为描述字符串一致的行为描述字符串,则可以认为所述目标卷积结构参数为新颖的卷积结构参数,然后采用卷积神经网络中的Warmup训练模式,得到与所述目标卷积结构参数对应的最优卷积核,最后将该目标卷积结构参数以及对应的最优卷积核存储至查询表中,以对查询表进行扩充。
本发明实施例提供的技术方案,通过获取大量卷积结构参数,将各卷积结构参数划分为行为描述参数以及数据描述参数,采用Warmup训练模式得到各卷积结构参数适用的卷积核,将各卷积结构参数中行为描述参数对应的参数值进行组合得到行为描述字符串,根据各数据描述参数对应的参数值、行为描述字符串,以及卷积结构参数适用的卷积核构建得到卷积核查询表,获取目标卷积结构参数并将目标卷积结构参数划分为目标行为描述参数以及目标数据描述参数,将目标行为描述字符串与卷积核查询表中的各行为描述字符串进行匹配得到初筛卷积结构参数,将目标数据描述参数的参数值与初筛卷积结构参数中数据描述参数的参数值进行循环匹配,得到至少一条备选卷积结构参数,根据各备选卷积结构参数分别对应的备选卷积核确定目标卷积核的技术手段,可以提高卷积核确定过程的性能,以及卷积核确定结果的准确性。
图4为本发明实施例提供的一种卷积核的确定装置的结构示意图,如图4所示,该装置包括:参数获取模块410、参数匹配模块420和目标卷积核确定模块430。
其中,参数获取模块410,用于获取待处理的目标卷积结构参数;
参数匹配模块420,用于将所述目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数;
其中,所述卷积核查询表中预先存储了大量卷积结构参数,以及各卷积结构参数适用的卷积核;
目标卷积核确定模块430,用于根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核。
本发明实施例提供的技术方案,通过获取待处理的目标卷积结构参数,将所述目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数,根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核的技术手段,可以提高卷积核确定过程的性能,以及卷积核确定结果的准确性。
在上述实施例的基础上,所述装置还包括:
卷积结构参数获取模块,用于获取大量卷积结构参数,将各所述卷积结构参数划分为行为描述参数,以及数据描述参数;
训练模块,用于采用卷积神经网络中的Warmup训练模式,得到各卷积结构参数适用的卷积核;
查询表构建模块,用于根据各卷积结构参数中行为描述参数对应的参数值、数据描述参数对应的参数值,以及所述卷积结构参数适用的卷积核,构建得到所述卷积核查询表;
所述查询表构建模块,包括:
行为参数组合单元,用于将各卷积结构参数中行为描述参数对应的参数值进行组合,得到行为描述字符串;
卷积核查询表构建单元,用于根据各卷积结构参数中数据描述参数对应的参数值、行为描述字符串,以及所述卷积结构参数适用的卷积核,构建得到所述卷积核查询表。
所述参数匹配模块420包括:
目标参数划分单元,用于将所述目标卷积结构参数划分为目标行为描述参数,以及目标数据描述参数;
行为参数匹配单元,用于将所述目标行为描述参数的参数值,与卷积核查询表中各行为描述参数的参数值进行匹配,得到与所述目标卷积结构参数对应的至少一条初筛卷积结构参数;
数据参数匹配单元,用于将所述目标数据描述参数的参数值,与各初筛卷积结构参数中数据描述参数的参数值进行循环匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数;
目标参数组合单元,用于将所述目标行为描述参数的参数值进行组合,得到目标行为描述字符串;
目标字符串匹配单元,用于将所述目标行为描述字符串,与卷积核查询表中的各行为描述字符串进行匹配。
所述目标卷积核确定模块430包括:
次数统计单元,用于在全部备选卷积结构参数对应的全部备选卷积核中,统计每个备选卷积核的出现次数;
判断单元,用于判断每个备选卷积核的出现次数是否一致,若是,则统计每个备选卷积核在历史运行过程中对应的卷积结构参数的条数;根据条数统计结果,确定与所述目标卷积结构参数对应的目标卷积核;若否,则将出现次数最大时对应的备选卷积核作为与所述目标卷积结构参数对应的目标卷积核。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
图5示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如卷积核的确定方法。
在一些实施例中,卷积核的确定方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的卷积核的确定方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行卷积核的确定方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种卷积核的确定方法,其特征在于,包括:
获取待处理的目标卷积结构参数;
将所述目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数;
其中,所述卷积核查询表中预先存储了大量卷积结构参数,以及各卷积结构参数适用的卷积核;
根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核。
2.根据权利要求1所述的方法,其特征在于,在获取待处理的目标卷积结构参数之前,还包括:
获取大量卷积结构参数,将各所述卷积结构参数划分为行为描述参数,以及数据描述参数;
采用卷积神经网络中的Warmup训练模式,得到各卷积结构参数适用的卷积核;
根据各卷积结构参数中行为描述参数对应的参数值、数据描述参数对应的参数值,以及所述卷积结构参数适用的卷积核,构建得到所述卷积核查询表。
3.根据权利要求2所述的方法,其特征在于,将所述目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数,包括:
将所述目标卷积结构参数划分为目标行为描述参数,以及目标数据描述参数;
将所述目标行为描述参数的参数值,与卷积核查询表中各行为描述参数的参数值进行匹配,得到与所述目标卷积结构参数对应的至少一条初筛卷积结构参数;
将所述目标数据描述参数的参数值,与各初筛卷积结构参数中数据描述参数的参数值进行循环匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数。
4.根据权利要求3所述的方法,其特征在于,根据各卷积结构参数中行为描述参数对应的参数值、数据描述参数对应的参数值,以及所述卷积结构参数适用的卷积核,构建得到所述卷积核查询表,包括:
将各卷积结构参数中行为描述参数对应的参数值进行组合,得到行为描述字符串;
根据各卷积结构参数中数据描述参数对应的参数值、行为描述字符串,以及所述卷积结构参数适用的卷积核,构建得到所述卷积核查询表。
5.根据权利要求4所述的方法,其特征在于,将所述目标行为描述参数的参数值,与卷积核查询表中各行为描述参数的参数值进行匹配,包括:
将所述目标行为描述参数的参数值进行组合,得到目标行为描述字符串;
将所述目标行为描述字符串,与卷积核查询表中的各行为描述字符串进行匹配。
6.根据权利要求1所述的方法,其特征在于,根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核,包括:
在全部备选卷积结构参数对应的全部备选卷积核中,统计每个备选卷积核的出现次数;
判断每个备选卷积核的出现次数是否一致;
若否,则将出现次数最大时对应的备选卷积核作为与所述目标卷积结构参数对应的目标卷积核。
7.根据权利要求6所述的方法,其特征在于,在判断每个备选卷积核的出现次数是否一致之后,还包括:
若是,则统计每个备选卷积核在历史运行过程中对应的卷积结构参数的条数;
根据条数统计结果,确定与所述目标卷积结构参数对应的目标卷积核。
8.一种卷积核的确定装置,其特征在于,包括:
参数获取模块,用于获取待处理的目标卷积结构参数;
参数匹配模块,用于将所述目标卷积结构参数与预先构建的卷积核查询表中的各卷积结构参数进行匹配,得到与所述目标卷积结构参数对应的至少一条备选卷积结构参数;
其中,所述卷积核查询表中预先存储了大量卷积结构参数,以及各卷积结构参数适用的卷积核;
目标卷积核确定模块,用于根据各备选卷积结构参数分别对应的备选卷积核,确定与所述目标卷积结构参数对应的目标卷积核。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的卷积核的确定方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的卷积核的确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210796356.5A CN117422108A (zh) | 2022-07-06 | 2022-07-06 | 一种卷积核的确定方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210796356.5A CN117422108A (zh) | 2022-07-06 | 2022-07-06 | 一种卷积核的确定方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117422108A true CN117422108A (zh) | 2024-01-19 |
Family
ID=89530712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210796356.5A Pending CN117422108A (zh) | 2022-07-06 | 2022-07-06 | 一种卷积核的确定方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117422108A (zh) |
-
2022
- 2022-07-06 CN CN202210796356.5A patent/CN117422108A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112801164A (zh) | 目标检测模型的训练方法、装置、设备及存储介质 | |
CN116167352B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113516185B (zh) | 模型训练的方法、装置、电子设备及存储介质 | |
CN114494814A (zh) | 基于注意力的模型训练方法、装置及电子设备 | |
CN117201340A (zh) | 一种报文特征识别方法、装置、设备及存储介质 | |
CN116126719A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN117422108A (zh) | 一种卷积核的确定方法、装置、设备及存储介质 | |
CN113012682A (zh) | 误唤醒率确定方法、装置、设备、存储介质和程序产品 | |
CN105468603A (zh) | 数据选择方法及装置 | |
CN115034388B (zh) | 排序模型的量化参数的确定方法、装置及电子设备 | |
CN117827710B (zh) | 基于ai芯片的dma带宽确定方法、装置、设备及介质 | |
CN113343064B (zh) | 数据处理方法、装置、设备、存储介质以及计算机程序产品 | |
CN114037057B (zh) | 预训练模型的生成方法、装置、电子设备以及存储介质 | |
CN115292662B (zh) | 一种卷积加速运算方法、装置、电子设备及存储介质 | |
CN115860055B (zh) | 性能确定方法、性能优化方法、装置、电子设备以及介质 | |
CN112800315B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN116240714A (zh) | 一种烘干方法、装置、电子设备及存储介质 | |
CN117610512A (zh) | 一种页眉页脚的去除方法、装置、设备及存储介质 | |
CN117591576A (zh) | 基于结点相似度的重叠社区划分方法、装置、设备及介质 | |
CN116777943A (zh) | 一种图像处理网络模型参数裁剪的应用方法、装置及介质 | |
CN114037061A (zh) | 预训练模型的生成方法、装置、电子设备以及存储介质 | |
CN115578583A (zh) | 图像处理方法、装置、电子设备和存储介质 | |
CN116455999A (zh) | 一种应用状态管理方法、装置、电子设备及存储介质 | |
CN116304796A (zh) | 一种数据分类方法、装置、设备及介质 | |
CN116931083A (zh) | 一种方位角道集划分方案的确定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |