CN112990461B - 构建神经网络模型的方法、装置、计算机设备和存储介质 - Google Patents
构建神经网络模型的方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112990461B CN112990461B CN201911292945.4A CN201911292945A CN112990461B CN 112990461 B CN112990461 B CN 112990461B CN 201911292945 A CN201911292945 A CN 201911292945A CN 112990461 B CN112990461 B CN 112990461B
- Authority
- CN
- China
- Prior art keywords
- network architecture
- determined
- output result
- model
- determining
- 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
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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N3/105—Shells for specifying net layout
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开是关于一种构建神经网络模型的方法、装置、计算机设备和存储介质,属于机器学习模块技术领域。所述方法包括:建立神经网络模型对应的当前待确定的网络架构;基于当前待确定的网络架构,生成神经网络模型对应的中间表示信息;基于中间表示信息和预设的代码优化算法,生成优化运行代码;控制执行优化运行代码,获取优化运行代码的整体运行时长,作为当前待确定的网络架构对应的整体运行时长;如果当前待确定的网络架构对应的整体运行时长能够满足预设的网络架构搜索条件,则将当前待确定的网络架构确定为输出结果。采用本公开,可以提高构建网络架构的效率。
Description
技术领域
本公开是关于机器学习模块技术领域,尤其是关于一种构建神经网络模型的方法、装置、计算机设备和存储介质。
背景技术
随着科技的发展,神经网络模型应用到越来越多的技术领域。在实际应用任何一个神经网络模型之前,需要对神经网络模型的网络架构进行设计,在固定了网络架构之后,可以对神经网络模型进行训练。在设计神经网络模型的网络架构的过程中,可以通过人工的方式进行设计,也可以通过神经网络架构搜索的方式进行自动化设计。对于人工的方式,技术人员可以凭借个人的经验设计神经网络模型的网络架构。对于神经网络架构搜索的方式,计算机设备可以尝试建立各种可能的神经网络模型的网络架构,在建立的所有可能的神经网络模型的网络架构中选择性能最优的网络架构进行输出。由不同网络架构构建的神经网络模型在经过一定的训练之后,能够实现相同的功能。但是由于能实现相同功能的神经网络模型的网络架构不同,由不同网络架构构建的神经网络模型分别对应的整体运行时长不一定相同,有的模型整体运行的比较快,有的模型整体运行的就比较慢,整体运行的快慢与它们的网络架构息息相关。因此,即使由不同网络架构构建的神经网络模型在经过训练之后所能达到的功能相同,但是也希望设计出性能比较好的网络架构,如整体运行时长较短的网络架构。
每进行一次神经网络架构搜索处理,计算机设备会建立神经网络模型对应的一个网络架构W,计算机设备会基于神经网络模型运行库中包括的不同类型的网络层分别对应的运行代码,运行由网络架构W构建的神经网络模型。计算机设备还会预估运行上述神经网络模型所需的整体运行时长,如果预估出的整体运行时长能够满足相应的网络架构搜索条件,则停止再次进行神经网络架构搜索处理,并将网络架构W作为输出结果。
相关技术中,神经网络模型运行库的种类不唯一,同一网络架构能够基于不同的神经网络模型运行库来实现。在不同的神经网络模型运行库中可能会对某一X类型的网络层的运行代码进行优化处理,这样优化处理过的X类型的网络层的运行时长会比较短。进而在进行神经网络架构搜索处理的过程中,计算机设备会偏向于选用优化处理过的X类型的网络层构建网络架构,以最终得到最短的整体运行时长。
在实现本公开的过程中,发明人发现至少存在以下问题:
在基于神经网络模型运行库A进行神经网络架构搜索处理得到的网络架构V中,存在较大的概率会包含一个或者多个神经网络模型运行库A中进行过优化处理的X类型的网络层。然而网络架构V能够基于不同的神经网络模型运行库来实现,如果基于未对X类型的网络层进行过优化处理的神经网络模型运行库B去实现网络架构V,那么不一定能够取得和基于神经网络模型运行库A来实现的网络架构一样的效果,因此就需要重新基于神经网络模型运行库B进行神经网络架构搜索处理,以获得基于神经网络模型运行库B实现的整体运行时长较短的网络架构。相关技术中每次更换神经网络模型运行库时,都要重新进行神经网络架构搜索处理,不能直接替换神经网络模型运行库,操作效率较低。
发明内容
为了克服相关技术中存在的问题,本公开提供了以下技术方案:
根据本公开实施例的第一方面,提供一种构建神经网络模型的方法,所述方法包括:
建立神经网络模型对应的当前待确定的网络架构;
基于所述当前待确定的网络架构,生成所述神经网络模型对应的中间表示信息;
基于所述中间表示信息和预设的代码优化工具,生成优化运行代码;
控制执行所述优化运行代码,获取所述优化运行代码的整体运行时长,作为所述当前待确定的网络架构对应的整体运行时长;
如果所述当前待确定的网络架构对应的整体运行时长能够满足预设的网络架构搜索条件,则将所述当前待确定的网络架构确定为输出结果。
可选地,在将所述当前待确定的网络架构确定为输出结果之前,所述方法还包括:
基于所述当前待确定的网络架构进行模型训练,得到训练后的神经网络模型;
基于所述训练后的神经网络模型,确定所述当前待确定的网络架构对应的模型输出结果准确度;
所述如果所述当前待确定的网络架构对应的整体运行时长能够满足预设的网络架构搜索条件,则将所述当前待确定的网络架构确定为输出结果,包括:
如果所述当前待确定的网络架构对应的整体运行时长和模型输出结果准确度能够满足预设的网络架构搜索条件,则将所述当前待确定的网络架构确定为输出结果。
可选地,所述如果所述当前待确定的网络架构对应的整体运行时长和模型输出结果准确度能够满足预设的网络架构搜索条件,则将所述当前待确定的网络架构确定为输出结果,包括:
如果所述当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值大于或者等于第一预设阈值,则将所述当前待确定的网络架构确定为输出结果;
如果所述当前待确定的网络架构对应的模型输出结果准确度大于或者等于第二预设阈值、且所述当前待确定的网络架构对应的整体运行时长小于或者等于第三预设阈值,则将所述当前待确定的网络架构确定为输出结果;
确定所述当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,分别确定其他所有已建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,如果已建立的网络架构的数目大于或者等于第四预设阈值、且所述当前待确定的网络架构对应的差值小于所述其他所有已建立的网络架构对应的差值,则将所述当前待确定的网络架构确定为输出结果。
可选地,所述建立神经网络模型对应的当前待确定的网络架构,包括:
获取在先建立的网络架构,其中,所述在先建立的网络架构是在建立所述当前待确定的网络架构之前一次建立的网络架构;
确定所述在先建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值;
如果所述在先建立的网络架构对应的差值大于或者等于第五预设阈值,则基于预设的调整方式信息,对所述在先建立的网络架构进行调整,得到所述当前待确定的网络架构。
可选地,所述代码优化工具包括TVM应用程序或者Tensor Comprehensions应用程序。
根据本公开实施例的第二方面,提供一种构建神经网络模型的装置,所述装置包括:
建立模块,用于建立神经网络模型对应的当前待确定的网络架构;
生成模块,用于基于所述当前待确定的网络架构,生成所述神经网络模型对应的中间表示信息;基于所述中间表示信息和预设的代码优化工具,生成优化运行代码;
执行模块,用于控制执行所述优化运行代码,获取所述优化运行代码的整体运行时长,作为所述当前待确定的网络架构对应的整体运行时长;
确定模块,用于当所述当前待确定的网络架构对应的整体运行时长能够满足预设的网络架构搜索条件时,将所述当前待确定的网络架构确定为输出结果。
可选地,所述装置还包括:
训练模块,用于基于所述当前待确定的网络架构进行模型训练,得到训练后的神经网络模型;
所述确定模块,还用于基于所述训练后的神经网络模型,确定所述当前待确定的网络架构对应的模型输出结果准确度;
所述确定模块,用于当所述当前待确定的网络架构对应的整体运行时长和模型输出结果准确度能够满足预设的网络架构搜索条件时,将所述当前待确定的网络架构确定为输出结果。
可选地,所述确定模块,用于:
当所述当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值大于或者等于第一预设阈值时,将所述当前待确定的网络架构确定为输出结果;
当所述当前待确定的网络架构对应的模型输出结果准确度大于或者等于第二预设阈值、且所述当前待确定的网络架构对应的整体运行时长小于或者等于第三预设阈值时,将所述当前待确定的网络架构确定为输出结果;
确定所述当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,分别确定其他所有已建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,当已建立的网络架构的数目大于或者等于第四预设阈值、且所述当前待确定的网络架构对应的差值小于所述其他所有已建立的网络架构对应的差值时,将所述当前待确定的网络架构确定为输出结果。
可选地,所述建立模块,用于:
获取在先建立的网络架构,其中,所述在先建立的网络架构是在建立所述当前待确定的网络架构之前一次建立的网络架构;
确定所述在先建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值;
当所述在先建立的网络架构对应的差值大于或者等于第五预设阈值时,基于预设的调整方式信息,对所述在先建立的网络架构进行调整,得到所述当前待确定的网络架构。
可选地,所述代码优化工具包括TVM应用程序或者Tensor Comprehensions应用程序。
根据本公开实施例的第三方面,提供一种计算机设备,所述计算机设备包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现上述构建神经网络模型的方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述构建神经网络模型的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过本公开实施例,可以基于当前建立的网络架构和预设的代码优化工具,生成优化运行代码,接着可以测试优化运行代码的整体运行时长,基于整体运行时长确定当前建立的网络架构是否符合条件,如果符合条件则将当前建立的网络架构作为输出结果,供用户使用。由于优化运行代码是对神经网络模型整体优化后的结果,因此在搜索网络架构时,避免了偏向于选择包含某种特定类型的网络层的网络架构,然而包含某种特定类型的网络层的网络架构只对某些神经网络模型运行库友好。通过本公开实施例,在更换神经网络模型运行库以实现由作为输出结果的网络架构构建的神经网络模型时,可以预先去除由于网络架构存在先天性缺陷而造成的运行效率低下的问题。采用本公开可以直接更换神经网络模型运行库以实现由作为输出结果的同一网络架构构建的神经网络模型,无需重新进行神经网络架构搜索处理,可以提高构建网络架构的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:
图1是根据一示例性实施例示出的一种计算机设备的结构示意图;
图2是根据一示例性实施例示出的一种构建神经网络模型的方法的流程示意图;
图3是根据一示例性实施例示出的一种构建神经网络模型的方法的流程示意图;
图4是根据一示例性实施例示出的一种计算机设备和终端的结构示意图;
图5是根据一示例性实施例示出的一种构建神经网络模型的方法的流程示意图;
图6是根据一示例性实施例示出的一种构建神经网络模型的装置的结构示意图;
图7是根据一示例性实施例示出的一种计算机设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供了一种构建神经网络模型的方法,该方法可以由计算机设备实现。其中,计算机设备可以是台式计算机等。本公开实施例提供的方法还可以由终端(如手机)配合实现。
如图1所示,在计算机设备中可以设置有网络架构生成器110、运行速度调优器120。其中,运行速度调优器120又可以包括代码生成模块121、优化搜索空间模块122、代码执行模块123。其中,每个器件、模块所能实现的功能不同,各器件、模块具体能够实现的功能将在下文中进行详细介绍。
本公开一示例性实施例提供了一种构建神经网络模型的方法,如图2所示,该方法的处理流程可以包括如下的步骤:
步骤S201,建立神经网络模型对应的当前待确定的网络架构。
在实施中,步骤S201可以由网络架构生成器110实现。可以通过神经网络架构搜索的方式,来建立神经网络模型对应的当前待确定的网络架构。在进行神经网络架构搜索处理之前,用户可以输入相应的搜索条件,计算机设备可以基于用户输入的搜索条件,确定搜索空间。例如,用户输入了网络架构为一个拥有100~150个网络层的架构,则在进行神经网络架构搜索处理的过程中,计算机设备只需建立拥有100~150个网络层的网络架构。用户还可以指定一些其他搜索条件,计算机设备能够基于用户输入的搜索条件,确定搜索空间,随后可以在搜索空间中进行神经网络架构搜索处理。
在每次进行神经网络架构搜索处理时,都可以得到神经网络模型对应的一个当前待确定的网络架构。例如,第一次进行神经网络架构搜索处理时,得到的当前待确定的网络架构依次为输入层、卷积层、输出层,第二次进行神经网络架构搜索处理时,得到的当前待确定的网络架构依次为输入层、卷积层、池化层、卷积层、输出层等。因此每次进行神经网络架构搜索处理时,都可以得到神经网络模型对应的一个当前待确定的网络架构,每次得到的当前待确定的网络架构相互之间不重复。网络架构的架构参数可以包括网络层的数目、网络层之间的连接关系、每个网络层的具体类型、各网络层中权重参数的尺寸等。
步骤S202,基于当前待确定的网络架构,生成神经网络模型对应的中间表示信息。
在实施中,每当进行一次神经网络架构搜索处理之后,可以得到神经网络模型对应的一个当前待确定的网络架构,继而可以基于该当前待确定的网络架构,生成神经网络模型对应的中间表示信息。在神经网络模型逻辑库中存储有不同类型的网络层分别对应的计算逻辑,可以确定当前待确定的网络架构包括的多个目标网络层,从神经网络模型逻辑库中获取各目标网络层分别对应的计算逻辑,基于各目标网络层分别对应的计算逻辑,确定神经网络模型对应的中间表示信息。
步骤S203,基于中间表示信息和预设的代码优化工具,生成优化运行代码。
可选地,代码优化工具可以包括TVM应用程序或者Tensor Comprehensions应用程序。
在实施中,在生成神经网络模型对应的中间表示信息之后,可以基于中间表示信息和预设的代码优化工具,生成优化运行代码。步骤S203可以由运行速度调优器120中的代码生成模块121以及优化搜索空间模块122实现。
在代码生成模块121中,可以进行对神经网络模型的解析处理以获得神经网络模型对应的计算图、对计算图进行优化处理、基于优化处理后的计算图确定中间表示信息、基于优化方式信息对中间表示信息进行优化处理、基于优化处理后的中间表示信息确定优化代码等几个步骤。优化方式信息可以由优化搜索空间模块122提供。
在优化搜索空间模块122中,可以建立针对各类型的网络层(也可以认为是算子)能够进行的优化处理的优化空间,优化空间可以包括对任一类型的网络层的具体优化方式、以及在通过上述优化方式进行优化过程中使用的优化参数。例如,优化方式可以包括:输出张量的数据切分优化、中间过程张量的DMA(Direct Memory Access,直接内存存取)绑定优化、输入输出张量的数据流并行优化、核心计算的平台计算核绑定优化、通用的循环优化等。如果选定采用输出张量的数据切分优化的优化方式,则还需继续确定如何进行输出张量的数据切分优化处理,如到底将输出张量的数据切分为多大尺寸的几个单元数据。
在优化搜索空间模块122中,可以提供一定的策略为当前待确定的网络架构从优化空间中取出一种待评估的优化方式。搜索空间的范围可以由用户进行定义,也可以由优化搜索空间模块122自动生成所有可能的优化方式和优化参数。在从优化空间中取出一种待评估的优化方式时,优化搜索空间模块122可以参考之前评估的优化方式的整体运行时长。优化搜索空间模块122可以根据定义好的优化空间,输出优化方式信息。
代码生成模块121可以基于中间表示信息和优化方式信息,生成优化运行代码,优化运行代码相当于对神经网络模型的每个网络层对应的运行代码都进行过优化处理后得到的代码。代码生成模块121不仅可以参考神经网络模型的每个网络层的具体网络类型对代码进行优化处理,还可以参考每个网络层的具体参数对代码进行优化处理,同时进一步还可以基于终端的硬件特性对代码进行优化处理。代码生成模块121相比神经网络运行库而言,更有针对性地对具体的网络架构进行优化,对网络架构中的各网络层优化的也更加全面。通过本公开实施例提供的方法,解除了进行神经网络架构搜索处理的过程中和神经网络模型运行库的耦合,降低了任一神经网络模型运行库未对几种类型的网络层未进行优化对神经网络架构搜索处理的影响。
在代码执行模块123中,代码执行模块123可以测试代码生成模块121中生成的优化运行代码的整体运行时长。其中,优化运行代码在运行过程中使用的权重参数可以为预设数值,不一定为通过训练处理得到的数值。
步骤S204,控制执行优化运行代码,获取优化运行代码的整体运行时长,作为当前待确定的网络架构对应的整体运行时长。
在实施中,步骤S204可以由代码执行模块123实现。代码生成模块121可以根据优化方式信息生成优化运行代码,代码执行模块123可以对优化运行代码的整体运行时长进行测试。代码生成模块121首先可以通过编译器对优化运行代码进行编译,得到平台可执行文件,代码执行模块123将平台可执行文件下载到终端(如手机)中,控制终端执行平台可执行文件。当终端运行完毕平台可执行文件之后,可以输出一个反馈信息至计算机设备,计算机设备可以统计从开始执行平台可执行文件,到终端输出运行结果所需的整体运行时长。针对同一个算子,可以随机生成其中权重参数的数值,在每次通过不同优化方式生成优化运行代码之后,在测试同一个算子的不同优化运行代码的运行时长时,可以使用上述相同的权重参数的数值进行测试。
在运行速度调优器120中,如图3所示,可以执行以下步骤。步骤S301,基于当前待确定的网络架构,生成中间表示信息。步骤S302,确定中间表示信息的优化方式。步骤S303,基于优化方式,对中间表示信息进行优化处理,得到优化处理后的中间表示信息。步骤S304,基于优化处理后的中间表示信息,生成优化运行代码,对优化运行代码进行编译,得到平台可执行文件。步骤S305,执行平台可执行文件。步骤S306,测试平台可执行文件的整体运行时长。可以将整体运行时长作为运行速度或者进一步计算其他运行速度的指标,如每秒能够运行上述优化运行代码的次数。还可以将整体运行时长作为后续确定优化方式的指导信息。步骤S307,判断是否达到停止在优化空间中进行搜索的停止条件(判断条件后续会进行详细介绍)。如果否,则转至步骤S302,从步骤S302开始继续往后执行。如果是,则执行步骤S308,步骤S308为输出最短的优化运行代码的整体运行时长和优化方式信息。
步骤S205,如果当前待确定的网络架构对应的整体运行时长能够满足预设的网络架构搜索条件,则将当前待确定的网络架构确定为输出结果。
在实施中,如果当前待确定的网络架构对应的整体运行时长能够到达预设阈值,则可以将当前待确定的网络架构确定为输出结果。当然除了这种方式之外,还可以设置其他网络架构搜索条件判断是否找到较优的网络架构。
如果用户需要网络架构,则可以输出较优的网络架构,如果用户需要运行代码,则可以输出较优的网络架构对应的优化运行代码,优化运行代码是在代码生成模块121中生成的。
如果当前待确定的网络架构对应的整体运行时长不能满足预设的网络架构搜索条件,则当前待确定的网络架构不作为输出结果,并转至步骤S201,重新建立一个新的当前待确定的网络架构,基于新的当前待确定的网络架构执行步骤S202-步骤S205。
可选地,在基于当前待确定的网络架构,生成神经网络模型对应的实际运行代码之前,本公开实施例提供的方法还可以包括:基于当前待确定的网络架构进行模型训练,得到训练后的神经网络模型;基于训练后的神经网络模型,确定当前待确定的网络架构对应的模型输出结果准确度;如果当前待确定的网络架构对应的整体运行时长能够满足预设的网络架构搜索条件,则将当前待确定的网络架构确定为输出结果的步骤可以包括:如果当前待确定的网络架构对应的整体运行时长和模型输出结果准确度能够满足预设的网络架构搜索条件,则将当前待确定的网络架构确定为输出结果。
在实施中,由于优化运行代码使用的权重参数是随机设置的,所以模型输出结果较实际结果应该相差的比较大。如果要实际应用神经网络模型,还需要对各网络层中的权重参数进行训练。可以基于当前待确定的网络架构生成神经网络模型对应的运行代码,基于运行代码和训练数据对神经网络模型进行训练,得到各网络层中的权重参数的具体数值。其中,进行的训练次数可以为预设次数数值。进而,如果当前待确定的网络架构对应的整体运行时长能够满足预设的网络架构搜索条件,则可以将当前待确定的网络架构确定为输出结果。如果用户需要各网络层中的权重参数的具体数值,在输出较优的网络架构时,可以将各网络层中的权重参数的具体数值一同提供给用户,如果用户不需要各网络层中的权重参数的具体数值,用户可以基于较优的网络架构自行进行训练。
如图4所示,计算机设备中还可以设置有网络训练器130,外部还可以设置有用于测试整体运行时长的终端140。网络训练器130可以对由当前待确定的网络架构构建的神经网络模型进行训练,以确定其中的权重参数。在确定了权重参数之后,可以确定当前待确定的网络架构对应的模型输出结果准确度。例如,将1000组待分类的数据输入到训练好的由当前待确定的网络架构构建的神经网络模型中,得到1000个分类结果,可以将1000组待分类的数据的1000个分类结果和对应的样本结果进行比较,如其中有789个分类结果和样本结果一致,则当前待确定的网络架构对应的模型输出结果准确度为和对应的样本结果一致的分类结果的数目占分类结果的总数目的比值,即78.9%。
对于某些网络架构来说,当这种网络架构不是很合理时,即使它的整体运行时长还比较短,但是无论如何对由它构建的神经网络模型进行训练,训练后的神经网络模型的输出结果的准确度的上限都比较低。因此可以将当前待确定的网络架构对应的模型输出结果准确度引入作为另一个指标,用于对一个当前待确定的网络架构的优劣进行评判。如果当前待确定的网络架构对应的整体运行时长和模型输出结果准确度能够满足预设的网络架构搜索条件,则可以将当前待确定的网络架构确定为输出结果。
本公开实施例提供的方法包括的流程步骤可以见图5所示。步骤S501,建立神经网络模型对应的当前待确定的网络架构。步骤S502,对由当前待确定的网络架构构建的神经网络模型进行训练。步骤S503,搜索优化方式以获取当前待确定的网络架构对应的最佳整体运行时长。步骤S502和步骤S503可以同步进行。步骤S504,判断是否达到网络架构搜索条件。如果是,则停止搜索。如果否,则转至执行步骤S501,以建立新的神经网络模型对应的当前待确定的网络架构,然后从步骤S501开始继续往后执行。
可选地,如果当前待确定的网络架构对应的整体运行时长和模型输出结果准确度能够满足预设的网络架构搜索条件,则将当前待确定的网络架构确定为输出结果的步骤可以包括:
(1)如果当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值大于或者等于第一预设阈值,则将当前待确定的网络架构确定为输出结果。
(2)如果当前待确定的网络架构对应的模型输出结果准确度大于或者等于第二预设阈值、且当前待确定的网络架构对应的整体运行时长小于或者等于第三预设阈值,则将当前待确定的网络架构确定为输出结果。
(3)确定当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,分别确定其他所有已建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,如果已建立的网络架构的数目大于或者等于第四预设阈值、且当前待确定的网络架构对应的差值小于其他所有已建立的网络架构对应的差值,则将当前待确定的网络架构确定为输出结果。
在实施中,如果满足上述3个条件中的任一个,就可以停止搜索,并将当前待确定的网络架构确定为输出结果。当然除了上述3个条件之外,还可以设置其他判断条件,当满足其他判断条件时,停止搜索,并将当前待确定的网络架构确定为输出结果,对此本公开不作限定。
例如,要搜索适合在一款DSP(Digital Signal Processing,数字信号处理器)上运行的分类神经网络模型,首先可以定义搜索空间。例如,定义网络架构搜索空间为由卷积层、池化层、全连接层、softmax层(神经网络模型中的一种网络层)组成的网络架构,输入数据的尺寸为224×224的三通道彩色图像。同时,还可以定义优化方式搜索空间。例如,定义优化空间为对于卷积层,选择使用gemm(通用矩阵乘法)算法、winograd(快速卷积)算法或直接卷积算法实现卷积层的处理;对于池化层,选择是否使用DMA(Direct Memory Access,直接内存存取)进行数据传输;对于全连接层,选择将各循环拆分为两重循环或者不拆分、将循环顺序任意重新排列、以及将拆分和重新排列进行组合;对于softmax层,不进行任何优化处理。在一种可能的实现方式中,除了DSP之外,还可以在其他硬件运算平台中运行神经网络模型,如ARM CPU(Advanced RISC Machines Central Processing Unit,精简指令集中央处理器)、NN(Neural Network,神经网络)硬核处理器等硬件运算平台。除了可以构建分类神经网络模型之外,还可以构建其他类型的神经网络模型,如目标检测神经网络模型。
可以执行网络架构生成器110的功能,获取一个当前待确定的网络架构。通过神经网络训练算法在终端的GPU(Graphics Processing Unit,图像处理器)上对由当前待确定的网络架构构建的神经网络模型进行训练,确定当前待确定的网络架构对应的模型输出准确度。与此同时,还可以进行当前待确定的网络架构的运行速度调优处理。可以从优化空间中选择一种优化方式,通过优化方式对当前待确定的网络架构对应的中间表示信息进行优化处理,对优化处理后的中间表示信息进行编译,得到平台可执行文件。将平台可执行文件下载到设置有DSP的终端中运行,记录整体运行时长。重复上述过程,直到测试完优化空间中所有的可能的情况,以确定最短整体运行时长对应的优化方式。在测试优化处理后的中间表示信息的过程中,使用的中间表示信息中的权重参数和输入数据可以随机生成,在同一运行速度调优处理过程中使用相同的随机生成的数值。
最后可以确定同一当前待确定的网络架构对应的模型输出准确度和整体运行时长。可以基于同一当前待确定的网络架构对应的模型输出准确度和整体运行时长,对该当前待确定的网络架构进行打分。例如,可以用当前待确定的网络架构对应的模型输出准确度(准确度的取值范围可以是0~1)减去对应的整体运行时长(可以以秒作为整体运行时长的单位)得到的差值,作为当前待确定的网络架构的得分。
通过重复上述操作,可以得到多个当前待确定的网络架构分别对应的得分。用户可以输入得分阈值,如果发现任一当前待确定的网络架构的得分能够达到得分阈值,则可以停止搜索,将该当前待确定的网络架构确定为输出结果。或者,如果当前待确定的网络架构的得分一直达不到得分阈值,但是当检测到已建立的网络架构的数目已经足够多(搜索次数足够多)时,则可以在所有已建立的网络架构中选择得分最高的网络架构作为输出结果。或者,如果当前待确定的网络架构对应的模型输出结果准确度大于或者等于第二预设阈值、且当前待确定的网络架构对应的整体运行时长大于或者等于第三预设阈值,则可以停止搜索,将该当前待确定的网络架构确定为输出结果。
可选地,建立神经网络模型对应的当前待确定的网络架构的步骤可以包括:获取在先建立的网络架构,其中,在先建立的网络架构是在建立当前待确定的网络架构之前一次建立的网络架构;确定在先建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值;如果在先建立的网络架构对应的差值大于或者等于第五预设阈值,则基于预设的调整方式信息,对在先建立的网络架构进行调整,得到当前待确定的网络架构。
在实施中,如果在先建立的网络架构对应的得分大于或者等于第五预设阈值时,则可以基于在先建立的网络架构的架构信息以及一定的搜索策略、规则在搜索空间中搜索一种新的网络架构作为当前待确定的网络架构。例如,对在先建立的网络架构中的一个网络层的类型进行调整,其余网络层的类型保持不变,得到当前待确定的网络架构。
举例说明,如果在先建立的网络架构对应的得分大于或者等于0.9,则本次建立神经网络模型对应的当前待确定的网络架构时,相对于在先建立的网络架构,只修改在先建立的网络架构中的一个网络层的类型,保持其余网络层不变,得到本次建立的当前待确定的网络架构。相应地,如果神经网络模型为目标检测神经网络模型,则模型输出准确度可以为mAP(mean Average Precison,目标检测常用评价指标)信息。
通过本公开实施例,可以基于当前建立的网络架构和预设的代码优化工具,生成优化运行代码,接着可以测试优化运行代码的整体运行时长,基于整体运行时长确定当前建立的网络架构是否符合条件,如果符合条件则将当前建立的网络架构作为输出结果,供用户使用。由于优化运行代码是对神经网络模型整体优化后的结果,因此在搜索网络架构时,避免了偏向于选择包含某种特定类型的网络层的网络架构,然而包含某种特定类型的网络层的网络架构只对某些神经网络模型运行库友好。通过本公开实施例,在更换神经网络模型运行库以实现由作为输出结果的网络架构构建的神经网络模型时,可以预先去除由于网络架构存在先天性缺陷而造成的运行效率低下的问题。采用本公开可以直接更换神经网络模型运行库以实现由作为输出结果的同一网络架构构建的神经网络模型,无需重新进行神经网络架构搜索处理,可以提高构建网络架构的效率。
本公开又一示例性实施例提供了一种构建神经网络模型的装置,如图6所示,该装置包括:
建立模块601,用于建立神经网络模型对应的当前待确定的网络架构;
生成模块602,用于基于所述当前待确定的网络架构,生成所述神经网络模型对应的中间表示信息;基于所述中间表示信息和预设的代码优化工具,生成优化运行代码;
执行模块603,用于控制执行所述优化运行代码,获取所述优化运行代码的整体运行时长,作为所述当前待确定的网络架构对应的整体运行时长;
确定模块604,用于当所述当前待确定的网络架构对应的整体运行时长能够满足预设的网络架构搜索条件时,将所述当前待确定的网络架构确定为输出结果。
可选地,所述装置还包括:
训练模块,用于基于所述当前待确定的网络架构进行模型训练,得到训练后的神经网络模型;
所述确定模块604,还用于基于所述训练后的神经网络模型,确定所述当前待确定的网络架构对应的模型输出结果准确度;
所述确定模块604,用于当所述当前待确定的网络架构对应的整体运行时长和模型输出结果准确度能够满足预设的网络架构搜索条件时,将所述当前待确定的网络架构确定为输出结果。
可选地,所述确定模块604,用于:
当所述当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值大于或者等于第一预设阈值时,将所述当前待确定的网络架构确定为输出结果;
当所述当前待确定的网络架构对应的模型输出结果准确度大于或者等于第二预设阈值、且所述当前待确定的网络架构对应的整体运行时长小于或者等于第三预设阈值时,将所述当前待确定的网络架构确定为输出结果;
确定所述当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,分别确定其他所有已建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,当已建立的网络架构的数目大于或者等于第四预设阈值、且所述当前待确定的网络架构对应的差值小于所述其他所有已建立的网络架构对应的差值时,将所述当前待确定的网络架构确定为输出结果。
可选地,所述建立模块601,用于:
获取在先建立的网络架构,其中,所述在先建立的网络架构是在建立所述当前待确定的网络架构之前一次建立的网络架构;
确定所述在先建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值;
当所述在先建立的网络架构对应的差值大于或者等于第五预设阈值时,基于预设的调整方式信息,对所述在先建立的网络架构进行调整,得到所述当前待确定的网络架构。
可选地,所述代码优化工具包括TVM应用程序或者Tensor Comprehensions应用程序。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过本公开实施例,可以基于当前建立的网络架构和预设的代码优化工具,生成优化运行代码,接着可以测试优化运行代码的整体运行时长,基于整体运行时长确定当前建立的网络架构是否符合条件,如果符合条件则将当前建立的网络架构作为输出结果,供用户使用。由于优化运行代码是对神经网络模型整体优化后的结果,因此在搜索网络架构时,避免了偏向于选择包含某种特定类型的网络层的网络架构,然而包含某种特定类型的网络层的网络架构只对某些神经网络模型运行库友好。通过本公开实施例,在更换神经网络模型运行库以实现由作为输出结果的网络架构构建的神经网络模型时,可以预先去除由于网络架构存在先天性缺陷而造成的运行效率低下的问题。采用本公开可以直接更换神经网络模型运行库以实现由作为输出结果的同一网络架构构建的神经网络模型,无需重新进行神经网络架构搜索处理,可以提高构建网络架构的效率。
需要说明的是:上述实施例提供的构建神经网络模型的装置在构建神经网络模型时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的构建神经网络模型的装置与构建神经网络模型的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7示出了本公开一个示例性实施例提供的计算机设备1900的结构示意图。该计算机设备1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1910和一个或一个以上的存储器1920。其中,所述存储器1920中存储有至少一条指令,所述至少一条指令由所述处理器1910加载并执行以实现上述实施例所述的构建神经网络模型的方法。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种构建神经网络模型的方法,其特征在于,所述方法包括:
建立神经网络模型对应的当前待确定的网络架构;
确定所述当前待确定的网络架构包括的多个目标网络层,从神经网络模型逻辑库中获取所述多个目标网络层分别对应的计算逻辑,基于所述多个目标网络层分别对应的计算逻辑,确定所述神经网络模型对应的中间表示信息,所述神经网络模型逻辑库中存储有不同类型的网络层分别对应的计算逻辑;
按照策略在优化空间中取出所述中间表示信息对应的待评估的优化方式,所述优化空间包括对任一类型的网络层的优化方式以及对应的优化参数;
基于所述优化方式,对所述中间表示信息进行优化处理,得到优化处理后的中间表示信息;
基于所述优化处理后的中间表示信息,生成优化运行代码,对所述优化运行代码进行编译,得到平台可执行文件;
执行所述平台可执行文件,测试所述平台可执行文件的整体运行时长,
判断是否达到停止在所述优化空间中进行搜索的停止条件,如果否,则转至执行所述按照策略在优化空间中取出所述中间表示信息对应的待评估的优化方式,如果是,则为输出达到所述停止条件的优化方式和对应的整体运行时长;
如果所述当前待确定的网络架构对应的整体运行时长能够满足预设的网络架构搜索条件,则将所述当前待确定的网络架构确定为输出结果;
如果所述当前待确定的网络架构对应的整体运行时长不能满足预设的网络架构搜索条件,则重新建立新的当前待确定的网络架构,并转至执行所述确定所述当前待确定的网络架构包括的多个目标网络层。
2.根据权利要求1所述的方法,其特征在于,在将所述当前待确定的网络架构确定为输出结果之前,所述方法还包括:
基于所述当前待确定的网络架构进行模型训练,得到训练后的神经网络模型;
确定所述训练后的神经网络模型对应的模型输出结果准确度,作为所述当前待确定的网络架构对应的模型输出结果准确度;
所述如果所述当前待确定的网络架构对应的整体运行时长能够满足预设的网络架构搜索条件,则将所述当前待确定的网络架构确定为输出结果,包括:
如果所述当前待确定的网络架构对应的整体运行时长和模型输出结果准确度能够满足预设的网络架构搜索条件,则将所述当前待确定的网络架构确定为输出结果。
3.根据权利要求2所述的方法,其特征在于,所述如果所述当前待确定的网络架构对应的整体运行时长和模型输出结果准确度能够满足预设的网络架构搜索条件,则将所述当前待确定的网络架构确定为输出结果,包括:
如果所述当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值大于或者等于第一预设阈值,则将所述当前待确定的网络架构确定为输出结果;
如果所述当前待确定的网络架构对应的模型输出结果准确度大于或者等于第二预设阈值、且所述当前待确定的网络架构对应的整体运行时长小于或者等于第三预设阈值,则将所述当前待确定的网络架构确定为输出结果;
确定所述当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,分别确定其他所有已建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,如果已建立的网络架构的数目等于第四预设阈值、且所述当前待确定的网络架构对应的差值大于所述其他所有已建立的网络架构对应的差值,则将所述当前待确定的网络架构确定为输出结果。
4.根据权利要求1所述的方法,其特征在于,所述建立神经网络模型对应的当前待确定的网络架构,包括:
获取在先建立的网络架构,其中,所述在先建立的网络架构是在建立所述当前待确定的网络架构之前一次建立的网络架构;
确定所述在先建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值;
如果所述在先建立的网络架构对应的差值大于或者等于第五预设阈值,则基于预设的调整方式信息,对所述在先建立的网络架构进行调整,得到所述当前待确定的网络架构。
5.一种构建神经网络模型的装置,其特征在于,所述装置包括:
建立模块,用于建立神经网络模型对应的当前待确定的网络架构;
生成模块,用于确定所述当前待确定的网络架构包括的多个目标网络层,从神经网络模型逻辑库中获取所述多个目标网络层分别对应的计算逻辑,基于所述多个目标网络层分别对应的计算逻辑,确定所述神经网络模型对应的中间表示信息,所述神经网络模型逻辑库中存储有不同类型的网络层分别对应的计算逻辑;按照策略在优化空间中取出所述中间表示信息对应的待评估的优化方式,所述优化空间包括对任一类型的网络层的优化方式以及对应的优化参数;基于所述优化方式,对所述中间表示信息进行优化处理,得到优化处理后的中间表示信息;基于所述优化处理后的中间表示信息,生成优化运行代码,对所述优化运行代码进行编译,得到平台可执行文件;
执行模块,用于执行所述平台可执行文件,测试所述平台可执行文件的整体运行时长,判断是否达到停止在所述优化空间中进行搜索的停止条件,如果否,则转至执行所述按照策略在优化空间中取出所述中间表示信息对应的待评估的优化方式,如果是,则为输出达到所述停止条件的优化方式和对应的整体运行时长;
确定模块,用于如果所述当前待确定的网络架构对应的整体运行时长能够满足预设的网络架构搜索条件,则将所述当前待确定的网络架构确定为输出结果;如果所述当前待确定的网络架构对应的整体运行时长不能满足预设的网络架构搜索条件,则重新建立新的当前待确定的网络架构,并转至执行所述确定所述当前待确定的网络架构包括的多个目标网络层。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
训练模块,用于基于所述当前待确定的网络架构进行模型训练,得到训练后的神经网络模型;
所述确定模块,还用于基于所述训练后的神经网络模型,确定所述当前待确定的网络架构对应的模型输出结果准确度;
所述确定模块,用于当所述当前待确定的网络架构对应的整体运行时长和模型输出结果准确度能够满足预设的网络架构搜索条件时,将所述当前待确定的网络架构确定为输出结果。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,用于:
当所述当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值大于或者等于第一预设阈值时,将所述当前待确定的网络架构确定为输出结果;
当所述当前待确定的网络架构对应的模型输出结果准确度大于或者等于第二预设阈值、且所述当前待确定的网络架构对应的整体运行时长小于或者等于第三预设阈值时,将所述当前待确定的网络架构确定为输出结果;
确定所述当前待确定的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,分别确定其他所有已建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值,当已建立的网络架构的数目等于第四预设阈值、且所述当前待确定的网络架构对应的差值大于所述其他所有已建立的网络架构对应的差值时,将所述当前待确定的网络架构确定为输出结果。
8.根据权利要求5所述的装置,其特征在于,所述建立模块,用于:
获取在先建立的网络架构,其中,所述在先建立的网络架构是在建立所述当前待确定的网络架构之前一次建立的网络架构;
确定所述在先建立的网络架构对应的模型输出结果准确度减去对应的整体运行时长得到的差值;
当所述在先建立的网络架构对应的差值大于或者等于第五预设阈值时,基于预设的调整方式信息,对所述在先建立的网络架构进行调整,得到所述当前待确定的网络架构。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911292945.4A CN112990461B (zh) | 2019-12-16 | 2019-12-16 | 构建神经网络模型的方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911292945.4A CN112990461B (zh) | 2019-12-16 | 2019-12-16 | 构建神经网络模型的方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112990461A CN112990461A (zh) | 2021-06-18 |
CN112990461B true CN112990461B (zh) | 2023-09-19 |
Family
ID=76343048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911292945.4A Active CN112990461B (zh) | 2019-12-16 | 2019-12-16 | 构建神经网络模型的方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112990461B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116070675B (zh) * | 2023-03-06 | 2023-06-09 | 西南交通大学 | 边坡神经网络模型选取方法、装置、设备及可读存储介质 |
CN116741182B (zh) * | 2023-08-15 | 2023-10-20 | 中国电信股份有限公司 | 声纹识别方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE202017106532U1 (de) * | 2016-10-28 | 2018-02-05 | Google Llc | Suche nach einer neuronalen Architektur |
CN108229647A (zh) * | 2017-08-18 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络结构的生成方法和装置、电子设备、存储介质 |
CN109714308A (zh) * | 2018-08-20 | 2019-05-03 | 平安普惠企业管理有限公司 | 网络架构中数据的监控方法、装置、设备及可读存储介质 |
CN110276442A (zh) * | 2019-05-24 | 2019-09-24 | 西安电子科技大学 | 一种神经网络架构的搜索方法及装置 |
CN110363810A (zh) * | 2019-06-14 | 2019-10-22 | 北京百度网讯科技有限公司 | 建立图像检测模型的方法、装置、设备和计算机存储介质 |
CN110378413A (zh) * | 2019-07-17 | 2019-10-25 | Oppo广东移动通信有限公司 | 神经网络模型处理方法、装置以及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132027A1 (en) * | 2003-12-16 | 2005-06-16 | Vicente John B. | Method, apparatus and system for formal planning and implementation of network strategies and architecture |
US10140980B2 (en) * | 2016-12-21 | 2018-11-27 | Google LCC | Complex linear projection for acoustic modeling |
US11741342B2 (en) * | 2018-05-18 | 2023-08-29 | Baidu Usa Llc | Resource-efficient neural architects |
-
2019
- 2019-12-16 CN CN201911292945.4A patent/CN112990461B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE202017106532U1 (de) * | 2016-10-28 | 2018-02-05 | Google Llc | Suche nach einer neuronalen Architektur |
CN108229647A (zh) * | 2017-08-18 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络结构的生成方法和装置、电子设备、存储介质 |
CN109714308A (zh) * | 2018-08-20 | 2019-05-03 | 平安普惠企业管理有限公司 | 网络架构中数据的监控方法、装置、设备及可读存储介质 |
CN110276442A (zh) * | 2019-05-24 | 2019-09-24 | 西安电子科技大学 | 一种神经网络架构的搜索方法及装置 |
CN110363810A (zh) * | 2019-06-14 | 2019-10-22 | 北京百度网讯科技有限公司 | 建立图像检测模型的方法、装置、设备和计算机存储介质 |
CN110378413A (zh) * | 2019-07-17 | 2019-10-25 | Oppo广东移动通信有限公司 | 神经网络模型处理方法、装置以及电子设备 |
Non-Patent Citations (3)
Title |
---|
Progressive Neural Architecture Search;Chenxi Liu,et al.;Computer Vision and Pattern Recognition;1-7 * |
基于NN-GA的优化设计方法;杨欣欣;满春涛;;哈尔滨理工大学学报(01);108-110 * |
用于EBG优化设计的基于粗网格的KBNN;陈艺;田雨波;强哲;许兰;;计算机仿真(07);295-299 * |
Also Published As
Publication number | Publication date |
---|---|
CN112990461A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110168578B (zh) | 具有任务特定路径的多任务神经网络 | |
CN111242321B (zh) | 一种数据处理方法及相关产品 | |
EP3779802A1 (en) | Methods, systems, articles of manufacture and apparatus to map workloads | |
JP7078758B2 (ja) | 機械学習モデルを改良して局所性を改善させること | |
CN113703775B (zh) | 一种编译方法、装置、设备及存储介质 | |
WO2021057807A1 (zh) | 深度学习模型生成方法、装置、设备及存储介质 | |
CN112101525A (zh) | 一种通过nas设计神经网络的方法、装置和系统 | |
EP3855362A1 (en) | Convolution processing method, apparatus, and storage medium of convolutional neural network | |
CN114154641A (zh) | Ai模型的训练方法、装置、计算设备和存储介质 | |
CN112990461B (zh) | 构建神经网络模型的方法、装置、计算机设备和存储介质 | |
WO2020164644A2 (zh) | 神经网络模型拆分方法、装置、计算机设备和存储介质 | |
CN115860066A (zh) | 一种基于批处理的神经网络推理流水线复用的方法 | |
CN105988855B (zh) | 即时编译参数优化方法及装置 | |
US20210397948A1 (en) | Learning method and information processing apparatus | |
WO2020169182A1 (en) | Method and apparatus for allocating tasks | |
KR20220032861A (ko) | 하드웨어에서의 성능을 고려한 뉴럴 아키텍처 서치 방법 빛 장치 | |
KR102255470B1 (ko) | 인공신경망 모델의 검증 방법 및 장치 | |
Arunadevi et al. | Comparison of feature selection strategies for classification using rapid miner | |
CN111581101A (zh) | 软件模型的测试方法、装置、设备和介质 | |
CN112633516B (zh) | 性能预测和机器学习编译优化方法及装置 | |
CN113485848A (zh) | 深度神经网络部署方法、装置、计算机设备和存储介质 | |
US20210312281A1 (en) | Apparatus for instruction generation for artificial intelligence processor and optimization method thereof | |
CN116361138A (zh) | 测试方法及设备 | |
US20240184551A1 (en) | Model specialization for machine learning based compiler optimization | |
CN118674051A (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 |