CN111162946A - 构建模型推理网络的方法、数据处理方法、装置和存储介质 - Google Patents
构建模型推理网络的方法、数据处理方法、装置和存储介质 Download PDFInfo
- Publication number
- CN111162946A CN111162946A CN201911400411.9A CN201911400411A CN111162946A CN 111162946 A CN111162946 A CN 111162946A CN 201911400411 A CN201911400411 A CN 201911400411A CN 111162946 A CN111162946 A CN 111162946A
- Authority
- CN
- China
- Prior art keywords
- network
- network layer
- configuration strategy
- layer
- result
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
Abstract
本申请涉及一种构建模型推理网络的方法、数据处理方法、装置、计算机设备和存储介质。所述方法包括:获取深度学习网络,深度学习网络包括多个网络层;获取测试数据;根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,按照各个网络层的资源配置策略构建模型推理网络,获取待处理数据;输入待处理数据至模型推理网络,通过模型推理网络中的资源配置策略为优化配置策略的网络层对待处理数据进行处理,通过模型推理网络中的资源配置策略为原始配置策略的网络层对待处理数据进行处理,得到待处理数据的处理结果,提高了整个网络的数据处理效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种构建模型推理网络的方法、数据处理方法、装置、设备和存储介质。
背景技术
目前深度学习网络结构愈趋复杂,网络动辄包含几千层计算层,但由于前端AI开发框架的分散性以及计算层的多样性,主流推理加速框架无论从网络优化编译器端还是模型加速器端都存在一定的局限性。如网络优化编译器经常遇到不支持的AI计算层而引起编译失败,进而导致整体模型不能优化。此外,即便编译成功,有时模型加速器也会出现因某些计算层优化后的计算误差过大导致结果不可用,进而无法使用加速模型。
发明内容
为了解决上述技术问题,本申请提供了一种构建模型推理网络的方法、数据处理方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种构建模型推理网络的方法,包括:
获取深度学习网络,深度学习网络包括多个网络层;
获取测试数据;
根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,其中,网络层的编译结果为成功且检测结果的误差小于预设误差,网络层的资源配置策略为优化配置策略,网络层的编译结果为失败,或网络层的测结果的误差大于或等于预设误差的网络层的资源配置策略为原始配置策略;
按照各个网络层的资源配置策略构建模型推理网络,模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。
第二方面,本申请提供了一种构建模型推理网络的装置,包括:
数据获取模块,用于获取深度学习网络,深度学习网络包括多个网络层,获取测试数据;
网络层检测模块,用于根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,其中,网络层的编译结果为成功且检测结果的误差小于预设误差,网络层的资源配置策略为优化配置策略,网络层的编译结果为失败,或网络层的测结果的误差大于或等于预设误差的网络层的资源配置策略为原始配置策略;
网络构建模块,用于按照各个网络层的资源配置策略构建模型推理网络,模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取深度学习网络,深度学习网络包括多个网络层;
获取测试数据;
根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,其中,网络层的编译结果为成功且检测结果的误差小于预设误差,网络层的资源配置策略为优化配置策略,网络层的编译结果为失败,或网络层的测结果的误差大于或等于预设误差的网络层的资源配置策略为原始配置策略;
按照各个网络层的资源配置策略构建模型推理网络,模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取深度学习网络,深度学习网络包括多个网络层;
获取测试数据;
根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,其中,网络层的编译结果为成功且检测结果的误差小于预设误差,网络层的资源配置策略为优化配置策略,网络层的编译结果为失败,或网络层的测结果的误差大于或等于预设误差的网络层的资源配置策略为原始配置策略;
按照各个网络层的资源配置策略构建模型推理网络,模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。
上述构建模型推理网络的方法、装置、计算机设备和存储介质,所述方法包括:获取深度学习网络,深度学习网络包括多个网络层;获取测试数据;根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,其中,网络层的编译结果为成功且检测结果的误差小于预设误差,网络层的资源配置策略为优化配置策略,网络层的编译结果为失败,或网络层的测结果的误差大于或等于预设误差的网络层的资源配置策略为原始配置策略;按照各个网络层的资源配置策略构建模型推理网络,模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。对深度学习网络进行网络层检测,按照优化配置策略和原始配置策略重新构建模型推理网络,重新构建的网络对数据进行推理时,采用优化配置策略对应的网络层对数据进行推理提高了数据处理效率,从而加快整个模型的数据处理效率。
在其中一个实施例中,提供了一种数据处理方法,包括:
获取待处理数据;
输入待处理数据至模型推理网络,当模型推理网络中的各个网络层接收到待处理数据时,获取各个网络层的资源配置策略,采用与资源配置策略关联的优化模型推理框架或原生模型推理框架对待处理数据进行处理,得到待处理数据的处理结果,其中模型推理网络为构建模型推理网络的方法中构建的网络。
在其中一个实施例中,提供了一种数据处理装置,包括:
数据获取模块,用于获取待处理数据;
数据处理模块,用于输入待处理数据至模型推理网络,当模型推理网络中的各个网络层接收到待处理数据时,获取各个网络层的资源配置策略,采用与资源配置策略关联的优化模型推理框架或原生模型推理框架对待处理数据进行处理,得到待处理数据的处理结果,其中模型推理网络为构建模型推理网络的方法中构建的网络。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待处理数据;
输入待处理数据至模型推理网络,当模型推理网络中的各个网络层接收到待处理数据时,获取各个网络层的资源配置策略,采用与资源配置策略关联的优化模型推理框架或原生模型推理框架对待处理数据进行处理,得到待处理数据的处理结果,其中模型推理网络为构建模型推理网络的方法中构建的网络。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如下步骤:
获取待处理数据;
输入待处理数据至模型推理网络,当模型推理网络中的各个网络层接收到待处理数据时,获取各个网络层的资源配置策略,采用与资源配置策略关联的优化模型推理框架或原生模型推理框架对待处理数据进行处理,得到待处理数据的处理结果,其中模型推理网络为构建模型推理网络的方法中构建的网络。
上述数据处理方法、装置、计算机设备和存储介质,所述方法包括:获取待处理数据;输入待处理数据至模型推理网络,当模型推理网络中的各个网络层接收到待处理数据时,获取各个网络层的资源配置策略,采用与资源配置策略关联的优化模型推理框架或原生模型推理框架对待处理数据进行处理,得到待处理数据的处理结果,其中模型推理网络为构建模型推理网络的方法中构建的网络。采用构建模型推理网络的方法构建的模型推理网络执行数据处理,提升了数据处理效率,从而提高了整个模型的数据处理效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中构建模型推理网络的方法或数据处理方法的应用环境图;
图2为一个实施例中构建模型推理网络的方法的流程示意图;
图3为一个实施例中数据处理方法的流程示意图;
图4为一个具体的实施例中数据处理方法的流程示意图;
图5为一个实施例中构建网络的装置的结构框图;
图6为一个实施例中数据处理装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中构建模型推理网络的方法或数据处理方法的应用环境图。参照图1,该构建模型推理网络的方法或数据处理方法应用于数据处理系统。该数据处理系统包括终端110和服务器120。终端110和服务器120通过网络连接。
终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种数据处理方法。本实施例主要以该方法应用于上述图1中的终端110(或服务器120)来举例说明。参照图2,该数据处理方法具体包括如下步骤:
步骤S201,获取深度学习网络,获取测试数据。
在本具体实施例中,深度学习网络包括多个网络层。
具体地,深度学习网络为常见的网络模型,深度学习网络模型包括但不限于前端AI开发框架TensorFlow、Pytorch和caffe等等。网络层为常见的卷积层Conv、批处理层BN和激活层Relu等网络基本层。其中深度学习模型包括但不限于语音识别模型、图像评价模型、目标跟踪模型、目标识别模型、目标检测模型和风控模型等等。
测试数据是用于测试深度学习网络的数据,测试化数据可以为音视频数据、文档数据等等。将待处理数据输入模型推理网络,按照模型推理网络中各个网络层的连接关系,对待处理数据进行处理。
步骤S202,根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略。
在本具体实施例中,网络层的编译结果为成功且检测结果的误差小于预设误差,网络层的资源配置策略为优化配置策略,网络层的编译结果为失败,或网络层的测结果的误差大于或等于预设误差的网络层的资源配置策略为原始配置策略。
步骤S203,按照各个网络层的资源配置策略构建模型推理网络。
在本具体实施例中,模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。
具体地,编译网络时采用网络优化编译器进行编译。网络优化编译器对深度学习网络进行编译,得到深度学习网络的各个网络层的编译结果和中间表达文件,编译结果包括编译通过和编译两种编译结果。编译成功是指网络层支持编译,编译失败是指网络层不支持编译。其中每个网络层的编译结果可以单个网络层逐一编译得到的编译结果,与可以是按照一定的规则对深度学习网络的网络层进行组合后编译得到的编译结果,如编译10个网络层的编译成功了,则对应的10个网络层的编译结果为成功。检测结果是指网络层执行对测试数据的推理后的结果,检测结果的误差是指采用编译后的网络层执行检测后,与深度学习网络中对应的网络层执行该测试数据之后的结果之间的误差。预设误差是指预先定义的误差,该误差为判断网络层的资源配置策略为优化配置策略还是原始配置策略的临界值。对于编译结果为失败的网络层,直接将该网络层的资源配置策略作为原始资源配置策略,当网络层的编译结果为成功时,采用该网络层执行对测试数据的推理,得到该网络层的检测结果,采用该网络层的网络加速层执行对测试数据的推理,得到该网络层对应的加速后的检测结构,对比两个检测结果,得到检测结果的误差,当误差大于或等于预设误差时,表示误差过大,将该网络层的资源配置策略设置为原始配置策略,反之,当误差小于预设误差时,设置该网络层的资源配置策略为优化配置策略。
资源配置策略是指配置网络时采用的配置方式,其中资源配置策略中的优化配置策略是指可以加速处理数据速度的网络层进行配置,该网络层为深度学习网络对应的网络加速模型中的网络层,资源配置策略中的原始配置策略是指采用深度学习网络的网络层进行配置。采用优化配置策略对应的网络层执行数据推理时可以加快数据处理效率。检测深度学习网络中的各个网络层的资源配置策略是否为优化配置策略,在检测时可以逐层进行检测,也可以将网络分成多个子网络,对每个子网络进行检测,直至确定深度学习中的各个网络层的检测结果,确定每个网络层的资源配置策略为优化配置策略或原始配置策略。不同的网络加速模型对不同类型的网络层具有不同的优化结果。
采用优化配置策略和原始配置策略构建网络得到模型推理网络。在构建模型推理网络时,按照深度学习网络的各个网络层的连接关系,对资源配置策略为优化配置策略和原始配置策略的网络层进行连接,得到模型推理网络,其中模型推理网络包括至少一个优化配置策略的网络层和至少一个原始配置策略的网络层。
上述数据处理方法,包括获取深度学习网络,深度学习网络包括多个网络层;检测每个网络层得到每个网络层的检测结果,检测结果包括优化配置策略和原始配置策略;采用优化配置策略和原始配置策略构建模型推理网络;获取待处理数据,将待处理数据输入模型推理网络,通过模型推理网络中的优化配置策略和原始配置策略对待处理数据执行推理,得到推理结果。对深度学习网络进行网络层检测,按照优化配置策略和原始配置策略重新构建网络,采用重新构建的网络对数据进行推理,采用优化配置策略对数据推理加速了数据处理,从而加快整个模型的数据处理效率。
在一个实施例中,步骤S202包括:
步骤S2021,根据预设遍历规则获取深度学习网络中的当前子网络。
在本具体实施例中,当前子网络包括至少一个网络层。
具体地,预设遍历规则为预先设置的遍历规则,遍历规则包括但不限于顺序遍历和二分法遍历。当前子网络是指由输入层、输出层,以及输入层和输出层之间网络层构成的网络。当前输入层和当前输出层分别为深度学习网络中执行编译时的输入层和输出层,如深度学习网络为1000层的网络,分别用0至999对各个网络层进行编号,输入层为200,输出层为500,将网络层从200层到500层组成的子网络作为当前子网络。
步骤S2022,编译当前子网络,得到当前子网络的当前编译结果和对应的当前中间表达文件。
步骤S2023,当当前子网络的编译结果为编译成功时,输入当前子网络的中间文件和测试数据至网络加速模型,输出当前子网络的第一测试结果,输入测试数据至深度学习网络,得到当前子网络的第二测试结果。
步骤S2024,当第一测试结果和第二测试结果的差异度小于预设差异度时,将当前子网络的各个网络层的资源配置策略设置为优化配置策略。
具体地,编译网络时采用网络优化编译器进行编译。网络优化编译器对当前子网络进行编译,得到当前子网络的编译结果和中间表达文件,将当前子网络的编译结果作为当前编译结果,当前子网络的中间表达文件作为当前中间表达文件。当前编译结果包括编译成功和编译失败两种编译结果。编译成功是指网络中的各个网络层都支持编译。
网络加速模型包括但不限于Intel的OpenVINO和Nvidia的TensorRT等。当当前编译结果为编译成功时,导入当前中间表达文件和测试数据至网络加速模型,通过网络加速模型对测试数据进行推理,得到当前子网络的推理结果,即第一测试结果,同理采用深度学习网络的当前子网络对测试数据进行推理,得到当前子网络的推理结果,即为第二测试结果。计算第一测试结果和第二测试结果的差异度,差异度可以采用常规数据差异度计算方法进行计算,如可以采用差值或对差值进行平方、开方、求指数计算后得到值表示。
预设差异度是预先设置的用于衡量测试结果之间差异的临界值。该临界值可以根据需求自定义,即可以为经验值或对网络进行测试得到的测试值。当差异度小于或等于预设差异度时,表示第一测试结果和第二测试结果之间的差异较小,优化推理得到的数据较为确度,当前子网络可以进行优化,将当前子网络对应的各个网络层的资源配置策略设置为优化配置策略,其中资源配置策略包括优化配置策略和原始配置策略。通过遍历的方式自动检测各个网络层是否为优化配置策略,避免了人工检测的效率低下的问题,提高了检测效率。
在一个实施例中,上述构建模型推理网络的方法,还包括:根据预设遍历规则获取深度学习网络中的下一个子网络,将下一子网络作为当前子网络,执行编译当前子网络,直至按照预设遍历规则遍历完深度学习网络的各个网络层,得到深度学习网络中的各个网络层的资源配置策略。
具体地,确定当前子网络对应的网络层都为优化配置策略后,根据预设遍历规则获取下一个子网络,其中下一个子网络中包含的网络层与当前子网络可以不存在重复的网络层,也可以存在重复的网络。编译下一个子网络,得到下一个子网络的下一个编译结果和下一个中间表达文件,判断下一个编译结果是否为成功编译,编译成功,则计算下一个子网络在网络加速模型中的推理结果,和在深度学习网络中的推理结果,判断两个结果的差异度,若差异度小于预设差异度,则将下一个子网络对应的网络层标记为优化配置策略。获取在下一个子网络,直至深度学习网络中的各个网络层均被标记时结束。
在一个实施例中,上述数据处理方法,还包括:当第一测试结果和第二测试结果的差异度大于或等于预设差异度,且当前子网络包含多个网络层时,按照预设遍历规则从当前子网络获取至少一个网络层作为第一子网络,执行编译第一子网络,直至按照预设遍历规则遍历完当前子网络的各个网络层,得到当前子网络中的各个网络层的资源配置策略;当第一测试结果和第二测试结果的差异度大于或等于预设差异度,且当前子网络包含单个网络层时,将当前子网络对应的网络层标记为原始配置策略,执行根据预设遍历规则获取深度学习网络中的下一个子网络。
具体地,当差异度大于或等于预设差异度时,表示第一测试结果和第二测试结果的之间的差异大于预设的差异容忍范围。当当前子网络中仅包含一个网络层时,直接对该网络层进行标记,即将该网络层的资源配置策略设置为原始配置策略。若当前子网络包含多个网络层时,则需要进一步确定当前子网络中的各个网络层是否为原始配置策略。按照预设遍历规则从当前子网络中获取至少一个网络层作为第一子网络,编译第一子网络,得到第一子网络的中间表达文件和编译结果,当编译结果为成功时,导入第一子网络的中间表达文件至网络加速模型,采用网络加速模型对测试数据进行推理得到第一子网络的第一测试结果,采用深度学习网络模型对测试数据进行推理得到第一子网络的第二测试结果,计算第一子网络的第一测试结果和第二测试结果之间的差异度,判断该差异度是否大于预设差异度,若小于预预设差异度,则将第一子网络中的各个网络层的资源配置策略设置为优化配置策略,按照预设遍历规则从当前子网络中获取至少一个网络层作为第三子网络,执行计算第三子网络对应的差异度,直至当前子网络中的各个网络层都被标记。执行根据预设遍历规则获取深度学习网络中的下一个子网络。
在一个实施例中,当当前子网络的编译结果为编译失败,且当前子网络包含多个网络时,按照预设遍历规则从当前子网络获取至少一个网络层作为第二子网络,执行编译第二子网络,直至按照预设遍历规则遍历完当前子网络的各个网络层,得到当前子网络中的各个网络层的资源配置策略;当当前子网络的编译结果为编译失败,且当前子网络包含单个网络时,将当前子网络对应的网络层的资源配置策略设置为原始配置策略,执行根据预设遍历规则获取深度学习网络中的下一个子网络。
具体地,若当前子网络编译失败,且当前子网络包含多个网络时,表示当前子网络中的至少一个网络层为原始配置策略,故需要对当前子网络的各个网络层进行遍历,查找出当前子网络中的原始配置策略,从当前子网络中获取至少一个网络层作为第二子网络,编译第二子网络,得到第二子网络的中间表达文件和编译结果,当编译结果为成功时,导入第二子网络的中间表达文件至网络加速模型,采用网络加速模型对测试数据进行推理得到第二子网络的第一测试结果,采用深度学习网络模型对测试数据进行推理得到第二子网络的第二测试结果,计算第二子网络的第一测试结果和第二测试结果之间的差异度,判断该差异度是否大于预设差异度,若小于预预设差异度,则将第二子网络中的各个网络层的资源配置策略设置为优化配置策略,按照预设遍历规则从当前子网络中获取至少一个网络层作为第四子网络,执行计算第四子网络对应的差异度,直至当前子网络中的各个网络层都被标记。执行根据预设遍历规则获取深度学习网络中的下一个子网络。
在一个实施例中,得到深度学习网络中的各个网络层的资源配置策略之后,还包括:从模型推理网络中的各个网络层中筛选出第一网络层,第一网络层的资源配置策略为优化配置策略,第一网络层的上一个网络层或下一网络层的资源配置策略为原始配置策略;获取采用各个第一网络层处理测试数据的消耗时长,得到优化时长;获取采用第二网络层处理测试数据的消耗时长,得到原始时长,第一网络层与第二网络层一一对应,且第二网络层的资源配置策略为原始配置策略;当第一网络层的上一个网络层为原始配置策略时,且第一网络层的优化时长和对应的原始时长的差异值小于预设时长差异值,将第一网络层的资源配置策略设置为原始配置策略;当第一网络层的下一个网络层为原始配置策略,且第一网络层的优化时长和对应的原始时长的差异值小于预设时长差异值时,将第一网络层的资源配置策略设置为原始配置策略。
具体地,第一网络层是指资源配置策略为优化配置策略的网络层,且该网络层的上一个网络层的资源配置策略为原始配置策略,或下一个网络层的资源配置策略为原始配置策略的网络层。优化时长是指采用加速网络模型中的第一网络层对测试数据进行推理的消耗时长。原始时长是指采用深度学习网络的第一网络层对测试数据进行推理的消耗时长,判断优化后的处理时长比优化前的处理时长的节约了多少时长,若节约的时长,即差异值小于预设差异值,表示节约的时间较少,则将第一网络层的资源配置策略设置为原始配置策略。当输入端口开销和/或输出端口开销大于预设端口开销时,将第一网络层的资源配置策略设置为原始配置策略。预设端口开销为预先自定义的端口开销的阈值。根据推理时长和端口开销对资源配置策略进行一步优化,得到深度学习网络各个网络层的资源配置策略,根据深度学习网络的资源配置策略构建网络,即资源配置策略为优化配置策略的网络层采用网络加速模型中对应的网络层生成,资源配置策略为原始配置策略的网络层保留深度学习网络中对应的网络层,采用上述根据资源配置策略构建的网络模型,在保证网络准确度的情况下,可以加快数据处理速度。采用上述根据资源配置策略生成的模型推理网络,在保证网络准确度的情况下,可以加快数据处理速度。
在一个实施例中,如图3所示,提供了一种数据处理方法,包括:
步骤S301,获取待处理数据。
步骤S302,输入待处理数据至模型推理网络,当模型推理网络中的各个网络层接收到待处理数据时,获取各个网络层的资源配置策略,采用与资源配置策略关联的优化模型推理框架或原生模型推理框架对待处理数据进行处理,得到待处理数据的处理结果。
具体地,待处理数据是指采用模型推理网络进行处理的数据,待处理数据包括但不限于音视频数据、文档数据等等。优化模型推理框架是指对原始模型推理框架进行优化后得到的框架,原生模型推理框架是指常见的深度学习推理框架,如TenSorFlow和Caffe等等。优化模型推理框架包括Intel的OpenVINO和Nvidia的TensorRT等。
将待处理数据输入模型推理网络,通过模型推理网络的优化配置策略对应的网络层和原始配置策略的网络层执行数据处理,得到对应的处理结果。即输入待处理数据至模型推理网络的当前网络层,当当前网络层为优化配置策略对应的网络层或原始配置策略对应的网络层时,采用该优化配置策略对应的网络层或原始配置策略对应的网络层执行待处理数据的处理,输出该优化配置策略对应的网络层或原始配置策略对应的网络层的处理结果,并将该网络层的处理结果输入当前网络层的下一个网络层,采用下一个网络层处理当前网络层的处理结果,直至得到模型推理网络的最终输出结果。如深度学习网络包含1000层网络,其中1-100层为优化配置策略对应的网络层,101-120层为原始配置策略对应的网络层,121-1000层为优化配置策略对应的网络层,且网络顺序连接,即每个网络层连接下一个网络层,不存在跳级连接,则输入待处理数据至第一层,采用深度学习网络的第1层至第100层对应的加速网络模型的网络执行数据处理,得到第100层的输出数据,将第100层的输出数据输入第101层,采用深度学习网络对应的100层到120层对应的网络层执行数据处理直至得到第120层的输出数据,将第120层的输出数据输入第121层,采用深度学习网络的第121层至第1000层对应的加速网络模型的网络执行数据处理,得到第1000层的输出结果,即模型推理网络的处理结果。采用对深度学习网络进行模型推理网络后的网络执行数据处理,提高了整个模型的数据处理效率。
在一个具体的实施例中,如图4所示,上述数据处理方法,包括:
步骤S401,获取深度学习网络和测试数据。深度学习网络包括TensorFlow,Pytorch,Caffe等。
步骤S402,为深度学习网络中每个网络进行编号,获取预设遍历规则。为入深度学习推理模型所包含的每个计算层编号,并制定遍历策略(顺序遍历、二分法遍历),并开始遍历所有计算层。
步骤S403,按照预设编译规则编译对应的网络。网络优化编译器需要指定模型的输入计算层和输出计算层来编译产生中间表达文件,在开始遍历时,指定输入计算层为模型的输入层,遍历时轮询到的计算层(如第i层)为输出层。
步骤S404,判断第i层是否编译成功。若遍历时第i层编译成功,表示网络优化编译器支持该计算层(第i层),执行步骤S405和步骤S406。其中,网络优化编译器包括但不限于Intel的OpenVINO和Nvidia的TensorRT等。若遍历时第i层编译失败,表示网络优化编译器不支持该计算层,执行步骤S408。
步骤S405,计算第i层优化模型结果。应用模型加速器计算得到的该计算层的推理结果。
步骤S406,计算第i层原始模型结果。即计算深度学习模型中的该计算层的推理结果。
步骤S407,对比两者误差,并记录。对比两者的结果,若误差在合理范围内,如绝对误差<10-5或相对误差<1‰,则表示模型加速器对该计算层(第i层)的支持有效。若误差不在合理范围区间,则表示模型加速器不支持该计算层(第i层)。
步骤S408,判断遍历是否结束。若是则执行步骤S409,若否,则执行步骤S403。若遍历未结束,以顺序遍历方为例,则调整网络优化编译器的输入层为第(i+1)层,继续遍历。
步骤S409,将编译失败的网络层或误差大于预设误差的网络层的资源配置策略设置为原始配置策略。剩余的网络层的资源配置策略设置为优化配置策略。得到推理模型中所有推理优化框架支持(网络优化编译器可编译,且模型加速器误差在可接受范围内)的计算层列表,以及推理优化框架不支持(网络优化编译器编译失败和模型加速器误差大于可接受范围)的计算层列表;
对于推理优化框架支持的计算层列表,通过优化框架进行计算;对于大规模的深度学习网络,通常有多条计算路径,需要综合考虑网络拓扑和计算速度,选择最优的模型计算层配置。如根据优化后的网络层的优化时间和/或网络层的输入输出端口开销调整推理优化框架支持的计算层列表,得到新的支持的计算层列表。对于不支持的计算层列表,仍使用原AI开发框架(如TensorFlow)进行计算。
通过甄别和融合不同计算层,解决了深度学习网络优化困难、耗时的问题,实现了深度学习网络的整体优化,同时保证了优化方案的实时性和可靠性。自动遍历及检测策略极大的减少了人工重复劳动,提升了效率,缩短了模型优化周期。
优化后的深度学习网络可以加速数据处理效率,即在单位时间内能处理更多的数据,增大了服务器的吞吐量,节约了GPU和CPU资源,从而节省硬件资源成本。
图2为一个实施例中数据处理方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种构建网络的装置200,包括:
数据获取模块201,用于获取深度学习网络,深度学习网络包括多个网络层,获取测试数据。
网络层检测模块202,用于根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,其中,网络层的编译结果为成功且检测结果的误差小于预设误差,网络层的资源配置策略为优化配置策略,网络层的编译结果为失败,或网络层的测结果的误差大于或等于预设误差的网络层的资源配置策略为原始配置策略。
网络构建模块203,用于按照各个网络层的资源配置策略构建模型推理网络,模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。
在一个实施例中,网络层检测模块202包括:
子网络获取单元,用于根据预设遍历规则获取深度学习网络中的当前子网络,当前子网络包括至少一个网络层。
子网络编译单元,用于编译当前子网络,得到当前子网络的当前编译结果和对应的当前中间表达文件。
子网络测试单元,用于当当前子网络的编译结果为编译成功时,输入当前子网络的中间文件和测试数据至网络加速模型,输出当前子网络的第一测试结果,输入测试数据至深度学习网络,得到当前子网络的第二测试结果。
配置策略标记单元,用于当第一测试结果和第二测试结果的差异度小于预设差异度时,将当前子网络的各个网络层的资源配置策略设置为优化配置策略。
在一个实施例中,上述构建模型推理网络的装置200,包括:
配置策略标记单元还用于根据预设遍历规则获取深度学习网络中的下一个子网络,将下一网络层作为当前子网络,执行编译当前子网络,得到当前子网络的当前编译结果和对应的当前中间表达文件,直至按照预设遍历规则遍历完深度学习网络的各个网络层,得到深度学习网络中的各个网络层的资源配置策略。
在一个实施例中,配置策略标记单元还用于当第一测试结果和第二测试结果的差异度大于或等于预设差异度,且当前子网络包含多个网络层时,按照预设遍历规则从当前子网络获取至少一个网络层作为第一子网络,执行编译第一子网络,直至按照预设遍历规则遍历完当前子网络的各个网络层,得到当前子网络中的各个网络层的资源配置策略。
配置策略标记单元还用于当第一测试结果和第二测试结果的差异度大于或等于预设差异度,且当前子网络包含单个网络层时,将当前子网络对应的网络层的资源配置策略设置为原始配置策略,执行根据预设遍历规则获取深度学习网络中的下一个子网络。
在一个实施例中,配置策略标记单元还用于当当前子网络的编译结果为编译失败,且当前子网络包含多个网络时,按照预设遍历规则从当前子网络获取至少一个网络层作为第二子网络,执行编译第二子网络,直至按照预设遍历规则遍历完当前子网络的各个网络层,得到当前子网络中的各个网络层的资源配置策略。
配置策略标记单元还用于当当前子网络的编译结果为编译失败,且当前子网络包含单个网络时,将当前子网络对应的网络层的资源配置策略设置为原始配置策略,执行根据预设遍历规则获取深度学习网络中的下一个子网络。
在一个实施例中,上述构建模型推理网络的装置200,还包括:
第一网络层数据处理模块,用于从模型推理网络中的各个网络层中筛选出第一网络层,第一网络层的资源配置策略为优化配置策略,第一网络层的上一个网络层或下一网络层的资源配置策略为原始配置策略;获取采用各个第一网络层处理测试数据的消耗时长,得到优化时长;获取采用第二网络层处理测试数据的消耗时长,得到原始时长,第一网络层与第二网络层一一对应,且第二网络层的资源配置策略为原始配置策略。
配置策略标记单元还用于当第一网络层的上一个网络层为原始配置策略时,且第一网络层的优化时长和对应的原始时长的差异值小于预设时长差异值,将第一网络层的资源配置策略设置为原始配置策略;
配置策略标记单元还用于当第一网络层的下一个网络层为原始配置策略,且第一网络层的优化时长和对应的原始时长的差异值小于预设时长差异值时,将第一网络层的资源配置策略设置为原始配置策略。
在一个实施例中,如图6所示,提供了一种数据处理装置300,包括:
数据获取模块301,用于获取待处理数据。
数据处理模块302,用于输入待处理数据至模型推理网络,当模型推理网络中的各个网络层接收到待处理数据时,获取各个网络层的资源配置策略,采用与资源配置策略关联的优化模型推理框架或原生模型推理框架对待处理数据进行处理,得到待处理数据的处理结果,其中模型推理网络为上述构建模型推理网络方法中构建的网络。
图7示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110(或服务器120)。如图7所示,该计算机设备通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据处理方法或构建模型推理网络的方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据处理方法或构建模型推理网络的方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的构建网络的装置200或数据处理装置300以实现为一种计算机程序的形式,计算机程序可在如图7所示的计算机设备上运行。计算机设备的存储器中可存储组成该构建网络的装置200或数据处理装置300的各个程序模块,比如,图5所示的数据获取模块201、网络层检测模块202和网络构建模块203。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据处理方法中的步骤。
比如,图6所示的数据获取模块301和数据处理模块302。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据处理方法中的步骤。
例如,图5所示的计算机设备可以通过如图4所示的数据处理装置中的数据获取模块201执行获取深度学习网络,深度学习网络包括多个网络层,获取测试数据。计算机设备可以通过网络层检测模块202执行用于根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,其中,网络层的编译结果为成功且检测结果的误差小于预设误差,网络层的资源配置策略为优化配置策略,网络层的编译结果为失败,或网络层的测结果的误差大于或等于预设误差的网络层的资源配置策略为原始配置策略。计算机设备可以通过网络构建模块203执行按照各个网络层的资源配置策略构建模型推理网络,模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:数据获取模块,用于获取深度学习网络,深度学习网络包括多个网络层,获取测试数据;网络层检测模块,用于根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,其中,网络层的编译结果为成功且检测结果的误差小于预设误差,网络层的资源配置策略为优化配置策略,网络层的编译结果为失败,或网络层的测结果的误差大于或等于预设误差的网络层的资源配置策略为原始配置策略;网络构建模块,用于按照各个网络层的资源配置策略构建模型推理网络,模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从模型推理网络中的各个网络层中筛选出第一网络层,第一网络层的资源配置策略为优化配置策略,第一网络层的上一个网络层或下一网络层的资源配置策略为原始配置策略;获取采用各个第一网络层处理测试数据的消耗时长,得到优化时长;获取采用第二网络层处理测试数据的消耗时长,得到原始时长,第一网络层与第二网络层一一对应,且第二网络层的资源配置策略为原始配置策略;当第一网络层的上一个网络层为原始配置策略时,且第一网络层的优化时长和对应的原始时长的差异值小于预设时长差异值,将第一网络层的资源配置策略设置为原始配置策略;当第一网络层的下一个网络层为原始配置策略,且第一网络层的优化时长和对应的原始时长的差异值小于预设时长差异值时,将第一网络层的资源配置策略设置为原始配置策略。
在一个实施例中,根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,包括:根据预设遍历规则获取深度学习网络中的当前子网络,当前子网络包括至少一个网络层编译当前子网络,得到当前子网络的当前编译结果和对应的当前中间表达文件;当当前子网络的编译结果为编译成功时,输入当前子网络的中间文件和测试数据至网络加速模型,输出当前子网络的第一测试结果,输入测试数据至深度学习网络,得到当前子网络的第二测试结果;当第一测试结果和第二测试结果的差异度小于预设差异度时,将当前子网络对应的各个网络层标记为优化配置策略。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当第一测试结果和第二测试结果的差异度大于或等于预设差异度,且当前子网络包含多个网络层时,按照预设遍历规则从当前子网络获取至少一个网络层作为第一子网络,执行编译第一子网络,直至按照预设遍历规则遍历完当前子网络的各个网络层,得到当前子网络中的各个网络层的资源配置策略;当第一测试结果和第二测试结果的差异度大于或等于预设差异度,且当前子网络包含单个网络层时,将当前子网络对应的网络层标记为原始配置策略。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:数据获取模块,用于获取深度学习网络,深度学习网络包括多个网络层,获取测试数据;网络层检测模块,用于根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,其中,网络层的编译结果为成功且检测结果的误差小于预设误差,网络层的资源配置策略为优化配置策略,网络层的编译结果为失败,或网络层的测结果的误差大于或等于预设误差的网络层的资源配置策略为原始配置策略;网络构建模块,用于按照各个网络层的资源配置策略构建模型推理网络,模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从模型推理网络中的各个网络层中筛选出第一网络层,第一网络层的资源配置策略为优化配置策略,第一网络层的上一个网络层或下一网络层的资源配置策略为原始配置策略;获取采用各个第一网络层处理测试数据的消耗时长,得到优化时长;获取采用第二网络层处理测试数据的消耗时长,得到原始时长,第一网络层与第二网络层一一对应,且第二网络层的资源配置策略为原始配置策略;当第一网络层的上一个网络层为原始配置策略时,且第一网络层的优化时长和对应的原始时长的差异值小于预设时长差异值,将第一网络层的资源配置策略设置为原始配置策略;当第一网络层的下一个网络层为原始配置策略,且第一网络层的优化时长和对应的原始时长的差异值小于预设时长差异值时,将第一网络层的资源配置策略设置为原始配置策略。
在一个实施例中,根据测试数据对每个网络层执行编译和检测,得到编译结果和检测结果,根据每个网络层的编译结果和/或检测结果确定每个网络层的资源配置策略,包括:根据预设遍历规则获取深度学习网络中的当前子网络,当前子网络包括至少一个网络层编译当前子网络,得到当前子网络的当前编译结果和对应的当前中间表达文件;当当前子网络的编译结果为编译成功时,输入当前子网络的中间文件和测试数据至网络加速模型,输出当前子网络的第一测试结果,输入测试数据至深度学习网络,得到当前子网络的第二测试结果;当第一测试结果和第二测试结果的差异度小于预设差异度时,将当前子网络对应的各个网络层标记为优化配置策略。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当第一测试结果和第二测试结果的差异度大于或等于预设差异度,且当前子网络包含多个网络层时,按照预设遍历规则从当前子网络获取至少一个网络层作为第一子网络,执行编译第一子网络,直至按照预设遍历规则遍历完当前子网络的各个网络层,得到当前子网络中的各个网络层的资源配置策略;当第一测试结果和第二测试结果的差异度大于或等于预设差异度,且当前子网络包含单个网络层时,将当前子网络对应的网络层标记为原始配置策略。
例如,图5所示的计算机设备可以通过如图4所示的数据处理装置中的数据获取模块201执行获取待处理数据。计算机设备可以通过网络层检测模块202执行输入待处理数据至所述模型推理网络,当模型推理网络中的各个网络层接收到待处理数据时,获取各个网络层的资源配置策略,采用与资源配置策略关联的优化模型推理框架或原生模型推理框架对待处理数据进行处理,得到待处理数据的处理结果。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取待处理数据,输入待处理数据至所述模型推理网络,当模型推理网络中的各个网络层接收到待处理数据时,获取各个网络层的资源配置策略,采用与资源配置策略关联的优化模型推理框架或原生模型推理框架对待处理数据进行处理,得到待处理数据的处理结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待处理数据,输入待处理数据至所述模型推理网络,当模型推理网络中的各个网络层接收到待处理数据时,获取各个网络层的资源配置策略,采用与资源配置策略关联的优化模型推理框架或原生模型推理框架对待处理数据进行处理,得到待处理数据的处理结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种构建模型推理网络的方法,其特征在于,所述方法包括:
获取深度学习网络,所述深度学习网络包括多个网络层;
获取测试数据;
根据所述测试数据对每个所述网络层执行编译和检测,得到编译结果和检测结果,根据每个所述网络层的编译结果和/或所述检测结果确定每个所述网络层的资源配置策略,其中,所述网络层的编译结果为成功且检测结果的误差小于预设误差,所述网络层的资源配置策略为优化配置策略,所述网络层的编译结果为失败,或所述网络层的测结果的误差大于或等于所述预设误差的网络层的资源配置策略为原始配置策略;
按照各个所述网络层的资源配置策略构建模型推理网络,所述模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述模型推理网络中的各个网络层中筛选出第一网络层,所述第一网络层的资源配置策略为优化配置策略,所述第一网络层的上一个网络层或下一网络层的资源配置策略为原始配置策略;
获取采用各个所述第一网络层处理所述测试数据的消耗时长,得到优化时长;
获取采用第二网络层处理所述测试数据的消耗时长,得到原始时长,所述第一网络层与所述第二网络层一一对应,且所述第二网络层的资源配置策略为原始配置策略;
当所述第一网络层的上一个网络层为原始配置策略时,且所述第一网络层的优化时长和对应的所述原始时长的差异值小于预设时长差异值,将所述第一网络层的资源配置策略设置为原始配置策略;
当所述第一网络层的下一个网络层为原始配置策略,且所述第一网络层的优化时长和对应的所述原始时长的差异值小于预设时长差异值时,将所述第一网络层的资源配置策略设置为原始配置策略。
3.根据权利要求1或2中任一项所述的方法,其特征在于,所述根据所述测试数据对每个所述网络层执行编译和检测,得到编译结果和检测结果,根据每个所述网络层的编译结果和/或所述检测结果确定每个所述网络层的资源配置策略,包括:
根据预设遍历规则获取所述深度学习网络中的当前子网络,所述当前子网络包括至少一个网络层;
编译所述当前子网络,得到所述当前子网络的当前编译结果和对应的当前中间表达文件;
当所述当前子网络的编译结果为编译成功时,输入所述当前子网络的中间文件和所述测试数据至网络加速模型,输出所述当前子网络的第一测试结果,输入所述测试数据至所述深度学习网络,得到所述当前子网络的第二测试结果;
当所述第一测试结果和所述第二测试结果的差异度小于预设差异度时,将所述当前子网络对应的各个网络层标记为优化配置策略。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述第一测试结果和所述第二测试结果的差异度大于或等于所述预设差异度,且所述当前子网络包含多个网络层时,按照所述预设遍历规则从所述当前子网络获取至少一个网络层作为第一子网络,执行编译所述第一子网络,直至按照所述预设遍历规则遍历完所述当前子网络的各个网络层,得到所述当前子网络中的各个所述网络层的资源配置策略;
当所述第一测试结果和所述第二测试结果的差异度大于或等于所述预设差异度,且所述当前子网络包含单个网络层时,将所述当前子网络对应的网络层标记为原始配置策略。
5.一种数据处理方法,其特征在于,应用于权利要求1至4中任一项所述的权利要求中构建的模型推理网络,包括:
获取待处理数据;
输入所述待处理数据至所述模型推理网络,
当所述模型推理网络中的各个网络层接收到所述待处理数据时,获取各个所述网络层的资源配置策略,采用与所述资源配置策略关联的优化模型推理框架或原生模型推理框架对所述待处理数据进行处理,得到所述待处理数据的处理结果。
6.一种构建网络的装置,其特征在于,所述装置包括:
数据获取模块,用于获取深度学习网络,所述深度学习网络包括多个网络层,获取测试数据;
网络层检测模块,用于根据所述测试数据对每个所述网络层执行编译和检测,得到编译结果和检测结果,根据每个所述网络层的编译结果和/或所述检测结果确定每个所述网络层的资源配置策略,其中,所述网络层的编译结果为成功且检测结果的误差小于预设误差,所述网络层的资源配置策略为优化配置策略,所述网络层的编译结果为失败,或所述网络层的测结果的误差大于或等于所述预设误差的网络层的资源配置策略为原始配置策略;
网络构建模块,用于按照各个所述网络层的资源配置策略构建模型推理网络,所述模型推理网络包含至少一个资源配置策略为优化配置策略的网络层。
7.根据权利要求6所述的装置,其特征在于,所述网络层检测模块,包括:
子网络获取单元,用于根据预设遍历规则获取所述深度学习网络中的当前子网络,所述当前子网络包括至少一个网络层;
子网络编译单元,用于编译所述当前子网络,得到所述当前子网络的当前编译结果和对应的当前中间表达文件;
子网络测试单元,用于当所述当前子网络的编译结果为编译成功时,输入所述当前子网络的中间文件和所述测试数据至网络加速模型,输出所述当前子网络的第一测试结果,输入所述测试数据至所述深度学习网络,得到所述当前子网络的第二测试结果;
配置策略标记单元,用于当所述第一测试结果和所述第二测试结果的差异度小于预设差异度时,将所述当前子网络对应的各个网络层标记为优化配置策略。
8.一种数据处理装置,其特征在于,应用于权利要求1至4中任一项所述的权利要求中构建的模型推理网络,所述装置包括:
数据获取模块,用于获取待处理数据;
数据处理模块,用于输入所述待处理数据至所述模型推理网络,当所述模型推理网络中的各个网络层接收到所述待处理数据时,获取各个所述网络层的资源配置策略,采用与所述资源配置策略关联的优化模型推理框架或原生模型推理框架对所述待处理数据进行处理,得到所述待处理数据的处理结果。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911400411.9A CN111162946B (zh) | 2019-12-30 | 2019-12-30 | 构建模型推理网络的方法、数据处理方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911400411.9A CN111162946B (zh) | 2019-12-30 | 2019-12-30 | 构建模型推理网络的方法、数据处理方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111162946A true CN111162946A (zh) | 2020-05-15 |
CN111162946B CN111162946B (zh) | 2022-07-12 |
Family
ID=70559501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911400411.9A Active CN111162946B (zh) | 2019-12-30 | 2019-12-30 | 构建模型推理网络的方法、数据处理方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111162946B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858351A (zh) * | 2020-07-23 | 2020-10-30 | 深圳慕智科技有限公司 | 一种基于差分评估的深度学习推理引擎测试方法 |
CN113780513A (zh) * | 2020-06-10 | 2021-12-10 | 杭州海康威视数字技术股份有限公司 | 网络模型量化、推理方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109034371A (zh) * | 2018-06-27 | 2018-12-18 | 北京文安智能技术股份有限公司 | 一种深度学习模型推理期加速方法、装置及系统 |
US20190050715A1 (en) * | 2018-09-28 | 2019-02-14 | Intel Corporation | Methods and apparatus to improve data training of a machine learning model using a field programmable gate array |
CN109359120A (zh) * | 2018-11-09 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种模型训练中的数据更新方法、装置及设备 |
CN109754073A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、电子设备和可读存储介质 |
CN110309918A (zh) * | 2019-07-05 | 2019-10-08 | 北京中科寒武纪科技有限公司 | 神经网络在线模型的验证方法、装置和计算机设备 |
CN110515739A (zh) * | 2019-10-23 | 2019-11-29 | 上海燧原智能科技有限公司 | 深度学习神经网络模型负载计算方法、装置、设备及介质 |
-
2019
- 2019-12-30 CN CN201911400411.9A patent/CN111162946B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109034371A (zh) * | 2018-06-27 | 2018-12-18 | 北京文安智能技术股份有限公司 | 一种深度学习模型推理期加速方法、装置及系统 |
US20190050715A1 (en) * | 2018-09-28 | 2019-02-14 | Intel Corporation | Methods and apparatus to improve data training of a machine learning model using a field programmable gate array |
CN109359120A (zh) * | 2018-11-09 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种模型训练中的数据更新方法、装置及设备 |
CN109754073A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、电子设备和可读存储介质 |
CN110309918A (zh) * | 2019-07-05 | 2019-10-08 | 北京中科寒武纪科技有限公司 | 神经网络在线模型的验证方法、装置和计算机设备 |
CN110515739A (zh) * | 2019-10-23 | 2019-11-29 | 上海燧原智能科技有限公司 | 深度学习神经网络模型负载计算方法、装置、设备及介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113780513A (zh) * | 2020-06-10 | 2021-12-10 | 杭州海康威视数字技术股份有限公司 | 网络模型量化、推理方法、装置、电子设备及存储介质 |
CN113780513B (zh) * | 2020-06-10 | 2024-05-03 | 杭州海康威视数字技术股份有限公司 | 网络模型量化、推理方法、装置、电子设备及存储介质 |
CN111858351A (zh) * | 2020-07-23 | 2020-10-30 | 深圳慕智科技有限公司 | 一种基于差分评估的深度学习推理引擎测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111162946B (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017045472A1 (zh) | 资源预测方法、系统和容量管理装 | |
US20150150020A1 (en) | System and method facilitating performance prediction of multi-threaded application in presence of resource bottlenecks | |
CN111126668B (zh) | 基于图卷积网络的Spark作业时间预测方法和装置 | |
CN111162946B (zh) | 构建模型推理网络的方法、数据处理方法、装置和存储介质 | |
CN109542712B (zh) | 服务器压力测试方法、装置、计算机设备和存储介质 | |
CN102880546A (zh) | 一种基于xml数据库的软件集成测试方法及系统 | |
CN115829297B (zh) | 装配式建筑的工作包生成方法、装置、终端及存储介质 | |
EP2629205A1 (en) | Multi-entity test case execution workflow | |
CN111881023B (zh) | 一种基于多模型对比的软件老化预测方法及装置 | |
CN113986733A (zh) | 基于jar包的性能测试方法、装置、设备及存储介质 | |
KR20220085290A (ko) | 소프트웨어 검증 방법 및 이를 위한 장치 | |
CN115049176A (zh) | 材料性能评估方法、装置及计算机设备 | |
CN112988606B (zh) | 测试用例生成方法、装置、设备及存储介质 | |
CN112379913B (zh) | 基于风险识别的软件优化方法、装置、设备及存储介质 | |
CN113360300A (zh) | 接口调用链路生成方法、装置、设备及可读存储介质 | |
CN112699038A (zh) | 版本测试方法、装置、系统和计算机设备 | |
CN113254153A (zh) | 流程任务处理方法、装置、计算机设备和存储介质 | |
CN112559343A (zh) | 测试路径生成方法及相关设备 | |
CN111782266A (zh) | 软件性能基准确定方法及装置 | |
Mohammed et al. | Performance reproduction and prediction of selected dynamic loop scheduling experiments | |
CN112463431B (zh) | 一种bios错误定位方法、装置、设备及存储介质 | |
CN115185907A (zh) | 一种前端资源管理方法、装置、设备以及存储介质 | |
CN114138634A (zh) | 测试用例的选取方法、装置、计算机设备和存储介质 | |
CN111061875A (zh) | 超参数确定方法、装置、计算机设备和存储介质 | |
CN113742187A (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 |