CN113298258A - 数据处理方法、机器学习模型推理方法、装置和电子设备 - Google Patents
数据处理方法、机器学习模型推理方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113298258A CN113298258A CN202010859374.4A CN202010859374A CN113298258A CN 113298258 A CN113298258 A CN 113298258A CN 202010859374 A CN202010859374 A CN 202010859374A CN 113298258 A CN113298258 A CN 113298258A
- Authority
- CN
- China
- Prior art keywords
- kernel
- kernel function
- input size
- sample data
- size
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开实施例公开了一种数据处理方法、机器学习模型推理方法、装置和电子设备。该数据处理方法包括获取用于组成推理引擎的操作以及多个核函数;响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果,通过针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
Description
技术领域
本公开涉及人工智能技术领域,具体涉及一种数据处理方法、机器学习模型推理方法、装置、电子设备和可读存储介质。
背景技术
在诸如目标检测、图片超分辨率、图片生成等场景中,通常将已训练的模型进行处理,并选择合适的核函数组成静态的推理引擎,而后使用此推理引擎执行推理。但是在大多数情况下,输入的样本数据的尺寸都是不固定的,这为推理引擎的生成带来了新的挑战。在尺寸不定的情况下,单一尺寸下最优的核函数难以在不同输入尺寸的场景下均获得较高的性能。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种数据处理方法、机器学习模型推理方法、装置、电子设备和可读存储介质。
第一方面,本公开实施例中提供了一种数据处理方法。
具体地,所述数据处理方法,包括:
获取用于组成推理引擎的操作以及多个核函数;
响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
结合第一方面,本公开在第一方面的第一种实现方式中,该方法还包括:在选择所述输入尺寸下未执行过的核函数的情况下,在基于所述推理引擎处理所述样本数据之后记录所述核函数的执行时间。
结合第一方面,本公开在第一方面的第二种实现方式中,该方法还包括:
测量所述操作的最大输入尺寸下可用的核函数的耗时。
结合第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述从所述多个核函数中为所述操作选择核函数,包括:在所述输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸下耗时最短的核函数。
结合第一方面,本公开在第一方面的第四种实现方式中,所述从所述多个核函数中为所述操作选择核函数,包括:
在所述输入尺寸下不存在未执行过的核函数的情况下,选择该输入尺寸下耗时最短的核函数。
结合第一方面、第一方面的第一种至第四种实现方式中的任一项,本公开在第一方面的第五种实现方式中,所述获取用于组成推理引擎的操作包括:
获取经过训练的推理模型;
处理所述推理模型得到具有连接关系的多个操作。
结合第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,所述基于所选择的核函数组成推理引擎,包括:
基于所述连接关系,将多个已选择核函数的操作组合为推理引擎。
结合第一方面的第五种实现方式,本公开在第一方面的第七种实现方式中,该方法还包括:
获取操作的尺寸参数,所述操作的尺寸参数包括以下一种或多种:填充值、卷积步长、卷积核的宽度和高度、卷积核的通道数。
结合第一方面的第七种实现方式,本公开在第一方面的第八种实现方式中,所述响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸,包括:
响应于获取样本数据,基于所述样本数据、所述操作的尺寸参数以及所述连接关系,确定所述操作的输入尺寸。
结合第一方面的第七种实现方式,本公开在第一方面的第九种实现方式中,该方法还包括:
获取所述推理模型的最大样本尺寸和最小样本尺寸;
基于所述连接关系、所述操作的尺寸参数、所述最大样本尺寸和所述最小样本尺寸,确定所述操作的最大输入尺寸和最小输入尺寸;
基于所述操作的最大输入尺寸和最小输入尺寸,从所述多个核函数中确定所述操作可用的核函数,
所述从所述多个核函数中为所述操作选择核函数,包括:从所述可用的核函数中为所述操作选择核函数。
第二方面,本公开实施例中提供了一种机器学习模型推理方法。
具体地,所述机器学习模型推理方法,包括:
获取经过训练的机器学习模型以及多个核函数;
通过节点融合和图优化处理所述机器学习模型得到具有连接关系的多个操作;
响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
第三方面,本公开实施例中提供了一种数据处理装置。
具体地,所述数据处理装置,包括:
第一获取模块,被配置为获取用于组成推理引擎的操作以及多个核函数;
第一确定模块,被配置为响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
第一选择模块,被配置为从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
第一处理模块,被配置为基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
结合第三方面,本公开在第三方面的第一种实现方式中,该装置还包括:
记录模块,被配置为在选择所述输入尺寸下未执行过的核函数的情况下,在基于所述推理引擎处理所述样本数据之后记录所述核函数的执行时间。
结合第三方面,本公开在第三方面的第二种实现方式中,该装置还包括:
测量模块,被配置为测量所述操作的最大输入尺寸下可用的核函数的耗时。
结合第三方面的第二种实现方式,本公开在第三方面的第三种实现方式中,所述第一选择模块包括第一选择子模块,被配置为在所述输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸下耗时最短的核函数。
结合第三方面,本公开在第三方面的第四种实现方式中,所述第一选择模块包括:
第二选择子模块,被配置为在所述输入尺寸下不存在未执行过的核函数的情况下,选择该输入尺寸下耗时最短的核函数。
结合第三方面、第三方面的第一种至第四种实现方式中的任一项,本公开在第三方面的第五种实现方式中,所述第一获取模块包括:
获取子模块,被配置为获取经过训练的推理模型;
处理子模块,被配置为处理所述推理模型得到具有连接关系的多个操作。
结合第三方面的第五种实现方式,本公开在第三方面的第六种实现方式中,所述第一处理模块包括:
组合子模块,被配置为基于所述连接关系,将多个已选择核函数的操作组合为推理引擎。
结合第三方面的第五种实现方式,本公开在第三方面的第七种实现方式中,该装置还包括:
第二获取模块,被配置为获取操作的尺寸参数,所述操作的尺寸参数包括以下一种或多种:填充值、卷积步长、卷积核的宽度和高度、卷积核的通道数。
结合第三方面的第七种实现方式,本公开在第三方面的第八种实现方式中,所述第一确定模块被配置为:
响应于获取样本数据,基于所述样本数据、所述操作的尺寸参数以及所述连接关系,确定所述操作的输入尺寸。
结合第三方面的第七种实现方式,本公开在第三方面的第九种实现方式中,该装置还包括:
第三获取模块,被配置为获取所述推理模型的最大样本尺寸和最小样本尺寸;
第二确定模块,被配置为基于所述连接关系、所述操作的尺寸参数、所述最大样本尺寸和所述最小样本尺寸,确定所述操作的最大输入尺寸和最小输入尺寸;
第三确定模块,被配置为基于所述操作的最大输入尺寸和最小输入尺寸,从所述多个核函数中确定所述操作可用的核函数,
所述第一选择模块被配置为从所述可用的核函数中为所述操作选择核函数。
第四方面,本公开实施例中提供了一种机器学习模型推理装置。
具体地,所述机器学习模型推理装置包括:
第四获取模块,被配置为获取经过训练的机器学习模型以及多个核函数;
第二处理模块,被配置为通过节点融合和图优化处理所述机器学习模型得到具有连接关系的多个操作;
第四确定模块,被配置为响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
第二选择模块,被配置为从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
第三处理模块,被配置为基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
第五方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面、第一方面的第一种到第九种实现方式以及第二方面中任一项所述的方法。
第六方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面、第一方面的第一种到第九种实现方式以及第二方面中任一项所述的方法。
本公开实施例提供的技术方案可以包括以下有益效果:
根据本公开实施例提供的技术方案,通过获取用于组成推理引擎的操作以及多个核函数;响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果,从而针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过在选择所述输入尺寸下未执行过的核函数的情况下,在基于所述推理引擎处理所述样本数据之后记录所述核函数的执行时间,从而有助于针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过测量所述操作的最大输入尺寸下可用的核函数的耗时,从而能够在输入尺寸下不存在已执行过的核函数的情况下也能取得较好的推理性能,减少对初始化时间的影响。
根据本公开实施例提供的技术方案,通过在所述输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸下耗时最短的核函数,从而能够在输入尺寸下不存在已执行过的核函数的情况下也能取得较好的推理性能,减少对初始化时间的影响。
根据本公开实施例提供的技术方案,通过在所述输入尺寸下不存在未执行过的核函数的情况下,选择该输入尺寸下耗时最短的核函数,从而针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过在输入多个具有不同尺寸的样本数据的情况下,并行生成多个推理引擎,以处理所述样本数据,从而能够提高推理性能。
根据本公开实施例提供的技术方案,通过在输入多个具有不同尺寸的样本数据的情况下,根据最大输入尺寸生成推理引擎,以处理所述样本数据,从而能够减少对显存资源的消耗,也一定程度上节省了选择核函数的时间。
根据本公开实施例提供的技术方案,通过获取经过训练的推理模型;处理所述推理模型得到具有连接关系的多个操作,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过基于所述连接关系,将多个已选择核函数的操作组合为推理引擎,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过获取操作的尺寸参数,所述操作的尺寸参数包括以下一种或多种:填充值、卷积步长、卷积核的宽度和高度、卷积核的通道数,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过响应于获取样本数据,基于所述样本数据、所述操作的尺寸参数以及所述连接关系,确定所述操作的输入尺寸,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过获取所述推理模型的最大样本尺寸和最小样本尺寸;基于所述连接关系、所述操作的尺寸参数、所述最大样本尺寸和所述最小样本尺寸,确定所述操作的最大输入尺寸和最小输入尺寸;基于所述操作的最大输入尺寸和最小输入尺寸,从所述多个核函数中确定所述操作可用的核函数,从所述可用的核函数中为所述操作选择核函数,从而可以缩小核函数的选择范围,提高选择效率。
根据本公开实施例提供的技术方案,通过获取经过训练的机器学习模型以及多个核函数;通过节点融合和图优化处理所述机器学习模型得到具有连接关系的多个操作;响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果,从而针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过第一获取模块,被配置为获取用于组成推理引擎的操作以及多个核函数;第一确定模块,被配置为响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;第一选择模块,被配置为从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及第一处理模块,被配置为基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果,从而针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过记录模块,被配置为在选择所述输入尺寸下未执行过的核函数的情况下,在基于所述推理引擎处理所述样本数据之后记录所述核函数的执行时间,从而有助于针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过测量模块,被配置为测量所述操作的最大输入尺寸下可用的核函数的耗时,从而能够在输入尺寸下不存在已执行过的核函数的情况下也能取得较好的推理性能,减少对初始化时间的影响。
根据本公开实施例提供的技术方案,通过第一选择子模块,被配置为在所述输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸下耗时最短的核函数,从而能够在输入尺寸下不存在已执行过的核函数的情况下也能取得较好的推理性能,减少对初始化时间的影响。
根据本公开实施例提供的技术方案,通过第二选择子模块,被配置为在所述输入尺寸下不存在未执行过的核函数的情况下,选择该输入尺寸下耗时最短的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过第一生成模块,被配置为在输入多个具有不同尺寸的样本数据的情况下,并行生成多个推理引擎,以处理所述样本数据,从而能够提高推理性能。
根据本公开实施例提供的技术方案,通过第二生成模块,被配置为在输入多个具有不同尺寸的样本数据的情况下,根据最大输入尺寸生成推理引擎,以处理所述样本数据,从而能够减少对显存资源的消耗,也一定程度上节省了选择核函数的时间。
根据本公开实施例提供的技术方案,通过获取子模块,被配置为获取经过训练的推理模型;处理子模块,被配置为处理所述推理模型得到具有连接关系的多个操作,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过组合子模块,被配置为基于所述连接关系,将多个已选择核函数的操作组合为推理引擎,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过第二获取模块,被配置为获取操作的尺寸参数,所述操作的尺寸参数包括以下一种或多种:填充值、卷积步长、卷积核的宽度和高度、卷积核的通道数,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过第一确定模块被配置为响应于获取样本数据,基于所述样本数据、所述操作的尺寸参数以及所述连接关系,确定所述操作的输入尺寸,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例提供的技术方案,通过第三获取模块,被配置为获取所述推理模型的最大样本尺寸和最小样本尺寸;第二确定模块,被配置为基于所述连接关系、所述操作的尺寸参数、所述最大样本尺寸和所述最小样本尺寸,确定所述操作的最大输入尺寸和最小输入尺寸;第三确定模块,被配置为基于所述操作的最大输入尺寸和最小输入尺寸,从所述多个核函数中确定所述操作可用的核函数,所述第一选择模块被配置为从所述可用的核函数中为所述操作选择核函数,从而可以缩小核函数的选择范围,提高选择效率。
根据本公开实施例提供的技术方案,通过第四获取模块,被配置为获取经过训练的机器学习模型以及多个核函数;第二处理模块,被配置为通过节点融合和图优化处理所述机器学习模型得到具有连接关系的多个操作;第四确定模块,被配置为响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;第二选择模块,被配置为从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及第三处理模块,被配置为基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果,从而针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开实施例的数据处理方法的应用场景的示意图;
图2示出根据本公开实施例的数据处理方法的流程图;
图3示出根据本公开实施例的数据处理方法的示意图;
图4示出根据本公开实施例的机器学习模型推理方法的流程图;
图5示出根据本公开实施例的数据处理装置的结构框图;
图6示出根据本公开实施例的机器学习模型推理装置的结构框图;
图7示出根据本公开实施例的电子设备的结构框图;
图8示出根据本公开实施例的适于实现数据处理方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
如上文所述,在诸如目标检测、图片超分辨率、图片生成等场景中,通常将已训练的模型进行处理,并选择合适的核函数组成静态的推理引擎,而后使用此推理引擎执行推理。其中,模型推理是指机器学习模型被训练完成后部署到实际场景中,用实际场景中的数据进行预测的过程。但是在大多数情况下,输入的样本数据的尺寸都是不固定的,这为推理引擎的生成带来了新的挑战。在尺寸不定的情况下,单一尺寸下最优的核函数难以在不同输入尺寸的场景下均获得较高的性能。
具体地,当输入样本尺寸不定时,预选择的核函数并不是在所有尺寸下是最优的。如果不使用单个引擎,而是使用多个引擎支持多个不同的尺寸则会占用大量的显存空间,而且在核函数选择时,需要测量大量不同核函数的执行时间,耗费大量时间。因此需要一种动态的推理引擎生成方法,以提高推理性能。
本公开实施例提供了一种数据处理方法,通过获取用于组成推理引擎的操作以及多个核函数;响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果,从而针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
图1示出根据本公开实施例的数据处理方法的应用场景的示意图。
如图1所示,已训练模型经过图优化、节点融合、核函数(kernel)选择等多种处理后可以得到优化后的推理引擎,使用该推理引擎处理输入的样本数据,执行推理,得到预测结果。在此过程中,传统的方法是预先选择核函数组成推理引擎,面对不同尺寸的样本数据时,均使用该推理引擎进行推理。本公开实施例的方法在获取样本数据之后形成推理引擎,基于输入的样本数据进行核函数的选择,从而针对不同尺寸的样本数据可以选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,缩短推理过程的执行时间。
根据本公开实施例,推理任务的主程序可以由第一处理器执行,例如中央处理器(CPU),当遇到数据并行处理的部分,第一处理器可以将程序编译成第二处理器能执行的程序,并传送到第二处理器,其中,第二处理器例如可以是图形处理器(GPU)。这个传送到第二处理器执行的程序即为核函数(kernel),例如CUDA kernel。一组线程以并行的方式执行一个相同的核函数,以此实现高度并行的加速效果。
图2示出根据本公开实施例的数据处理方法的流程图。
如图2所示,该方法包括步骤S210~S240。
在步骤S210,获取用于组成推理引擎的操作(OP)以及多个核函数;
在步骤S220,响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
在步骤S230,从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
在步骤S240,基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
在本公开实施例的技术方案中,在获取样本数据之后为操作选择核函数,组成推理引擎进行推理以获取推理结果,即,本公开实施例的技术方案实现了自适应输入尺寸的动态推理方法,动态产生推理引擎,而非预先确定推理引擎。
根据本公开实施例,在选择核函数的过程中,以预定概率选择输入尺寸下未执行过的核函数,否则选择该输入尺寸下已执行过的耗时最短的核函数。其中,预定概率可以是一个固定值∈,例如∈=0.1,具体可以根据实际情况设定。采用固定值可以有效地降低平均耗时的波动。随着推理的进行,剩余未探索的核函数的数量越来越少,每个剩余的核函数被抽中的概率也相应地提高。另一方面,以概率1-∈选择已执行过的耗时最短的核函数,使得总体耗时较短。
根据本公开实施例,选择输入尺寸下未执行过的核函数的概率可以受到人为干预,例如进行人为设置。例如,通过人为设置概率,可以测试不同概率情况下针对选择输入尺寸选择哪个或哪些未执行过的核函数。而且,通过人为设置概率可以测试在不同概率下选择核函数所导致的动态产生推理引擎的效果和效率。
根据本公开实施例提供的技术方案,通过获取用于组成推理引擎的操作以及多个核函数;响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果,从而针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,所述获取用于组成推理引擎的操作包括:
获取经过训练的推理模型;
处理所述推理模型得到具有连接关系的多个操作。
根据本公开实施例,推理模型即经过训练的机器学习模型。处理推理模型得到具有连接关系的多个操作例如可以是通过节点融合、图优化等操作优化出的网络图。节点融合例如可以是卷积层(conv层)、批量归一化层(BN层)、激活层(例如Relu层)之间的融合,形成一个卷积操作。
根据本公开实施例提供的技术方案,通过获取经过训练的推理模型;处理所述推理模型得到具有连接关系的多个操作,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,所述基于所选择的核函数组成推理引擎,包括:基于所述连接关系,将多个已选择核函数的操作组合为推理引擎。
根据本公开实施例,该连接关系即网络图中操作之间的连接关系,在选择核函数完成之后,仍然依照该连接关系,将操作组合为推理引擎。在本公开的实施例中,操作之间的连接关系可以是并联关系,也可以是串联关系,或者在推理引擎中可以既存在并联关系也存在串联关系。例如,resnet网络由一系列卷积操作串联而成的。
根据本公开实施例提供的技术方案,通过基于所述连接关系,将多个已选择核函数的操作组合为推理引擎,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,该方法还可以包括:获取操作的尺寸参数,所述操作的尺寸参数包括以下一种或多种:填充值(padding)、卷积步长(stride)、卷积核的宽度(width)和高度(height)、卷积核的通道数(channel)。根据本公开实施例,每个操作的尺寸参数与该操作的输入尺寸和输出尺寸密切相关,如果确定操作的输入尺寸以及操作的尺寸参数,即可确定该操作的输出尺寸。
例如,输入尺寸可以用[B,C,H,W]表示,其中,B即Batch,表示每一次处理的样本数量;C即Channel,表示数据的通道数,例如通常的彩色图像有RGB三个通道,灰度图像可以是一个通道;H和W,即Height和Width,分别表示数据的高度和宽度。假设某一操作的最大输入尺寸为[b,c,h,w],那么经过一个卷积核尺寸为7x7、padding=3,stride=2,channel=32的卷积层的操作,输出尺寸变为[b,32,h/2+1,w/2+1],这一尺寸即为下一个操作的最大输入尺寸。最小输入尺寸也是同理。
根据本公开实施例提供的技术方案,通过获取操作的尺寸参数,所述操作的尺寸参数包括以下一种或多种:填充值、卷积步长、卷积核的宽度和高度、卷积核的通道数,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,所述响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸,包括:响应于获取样本数据,基于所述样本数据、所述操作的尺寸参数以及所述连接关系,确定所述操作的输入尺寸。
根据本公开实施例,根据操作之间的连接关系,可以确定某一操作输入的数据的来源,该数据的来源或者是样本数据,或者是其他操作输出的数据。在样本数据的尺寸确定后,结合操作的尺寸参数,依照操作之间的输入输出的连接关系,对网络图执行一次尺寸推理,就可以得到针对该样本数据,每个操作的输入尺寸。
根据本公开实施例提供的技术方案,通过响应于获取样本数据,基于所述样本数据、所述操作的尺寸参数以及所述连接关系,确定所述操作的输入尺寸,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,该方法还可以包括:
获取所述推理模型的最大样本尺寸和最小样本尺寸;
基于所述连接关系、所述操作的尺寸参数、所述最大样本尺寸和所述最小样本尺寸,确定所述操作的最大输入尺寸和最小输入尺寸;
基于所述操作的最大输入尺寸和最小输入尺寸,从所述多个核函数中确定所述操作可用的核函数,
所述从所述多个核函数中为所述操作选择核函数,包括:从所述可用的核函数中为所述操作选择核函数。
根据本公开实施例,该些步骤可以执行于获取样本数据之前。确定整体推理模型的最大样本尺寸和最小样本尺寸,可以根据操作之间的连接关系、操作的尺寸参数,可以确定每个操作的最大输入尺寸和最小输入尺寸。由于不同的核函数支持的最大输入尺寸和最小输入尺寸可能不同,即不同的输入尺寸可用的核函数可能不同,因而可以根据每个操作的最大输入尺寸和最小输入尺寸确定每个操作可用的核函数,从而在选择核函数时,可以从该操作可用的核函数中进行选择,减少推理过程中的复杂度并降低系统风险。
根据本公开实施例提供的技术方案,通过获取所述推理模型的最大样本尺寸和最小样本尺寸;基于所述连接关系、所述操作的尺寸参数、所述最大样本尺寸和所述最小样本尺寸,确定所述操作的最大输入尺寸和最小输入尺寸;基于所述操作的最大输入尺寸和最小输入尺寸,从所述多个核函数中确定所述操作可用的核函数,从所述可用的核函数中为所述操作选择核函数,从而可以缩小核函数的选择范围,提高选择效率,减少推理过程中的复杂度并降低系统风险。
根据本公开实施例,该方法还可以包括:在选择所述输入尺寸下未执行过的核函数的情况下,在基于所述推理引擎处理所述样本数据之后记录所述核函数的执行时间。
根据本公开实施例,在以一定概率确定选择输入尺寸下未执行过的核函数的情况下,即本次对未执行过的核函数进行探索,确定该核函数是否可以降低执行时间以取得更高的推理性能,在探索结束后,可以记录耗时情况,例如,可以存储到特定的数据表中,称为核函数执行时间表。从而,在之后的推理过程中可以参照该表中记录的内容,确定如何为操作选择核函数。
例如,核函数执行时间表可以设置多个字段,如输入尺寸、操作、核函数、推理时间(或称为执行时间)等。对于核函数执行时间表中的每一组数据,记录了特定情况下的推理时间。例如,记录在输入数据的尺寸为m×n、操作的编号为i并且核函数的编号为j的情况下的推理时间t。
根据本公开实施例提供的技术方案,通过在选择所述输入尺寸下未执行过的核函数的情况下,在基于所述推理引擎处理所述样本数据之后记录所述核函数的执行时间,从而有助于针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,该方法还可以包括:
测量所述操作的最大输入尺寸下可用的核函数的耗时。
根据本公开实施例,所述从所述多个核函数中为所述操作选择核函数,包括:在所述输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸下耗时最短的核函数。
根据本公开实施例,能够支持最大输入尺寸的核函数可以兼容较小的输入尺寸,同时,在最大输入尺寸下推理性能最佳的核函数,在其他输入尺寸下也可预期获得较好的推理性能。因此,本公开实施例对最大输入尺寸下的核函数的耗时进行测量,以便在某输入尺寸下不存在已执行过的核函数的情况下,有最大输入尺寸下已执行过的核函数可供选择。例如,在最大尺寸下核函数K1执行时间最短,那么,在根据概率确定要从执行过的核函数中进行选择,但当前输入尺寸下没有已执行过的核函数的情况下,可以采用核函数K1执行推理,并可以记录K1的执行时间,与该输入尺寸相关联。下一次面对该输入尺寸的输入数据时,至少存在已执行的核函数K1可供参考和选择。
根据本公开实施例,在不依赖上述测量步骤(即测量操作的最大输入尺寸下可用的核函数的耗时)的情况下,若所述输入尺寸下不存在已执行过的核函数,可以在相较所述操作的输入尺寸更大的其他已执行过的输入尺寸中,选择耗时最短的核函数。
根据本公开实施例提供的技术方案,通过测量所述操作的最大输入尺寸下可用的核函数的耗时,从而能够在输入尺寸下不存在已执行过的核函数的情况下也能取得较好的推理性能,减少对初始化时间的影响。
根据本公开实施例提供的技术方案,通过在所述输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸下耗时最短的核函数,从而能够在输入尺寸下不存在已执行过的核函数的情况下也能取得较好的推理性能,减少对初始化时间的影响。
根据本公开实施例,所述从所述多个核函数中为所述操作选择核函数,包括:在所述输入尺寸下不存在未执行过的核函数的情况下,选择该输入尺寸下耗时最短的核函数。例如,共有5个可用的核函数,若该5个核函数在当前输入尺寸下均已执行过,则不再按照概率确定是否探测新的核函数,而是根据记录采用在当前输入尺寸下耗时最短的核函数进行推理。
根据本公开实施例提供的技术方案,通过在所述输入尺寸下不存在未执行过的核函数的情况下,选择该输入尺寸下耗时最短的核函数,从而针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,该方法还可以包括:在输入多个具有不同尺寸的样本数据的情况下,并行生成多个推理引擎,以处理所述样本数据。根据本公开实施例,在输入多个具有不同尺寸的样本数据的情况下,可以按照尺寸对样本数据进行分组,根据尺寸的不同,并行生成多个推理引擎,分别进行推理,以取得最大的推理性能。
根据本公开实施例提供的技术方案,通过在输入多个具有不同尺寸的样本数据的情况下,并行生成多个推理引擎,以处理所述样本数据,从而能够提高推理性能。
根据本公开实施例,该方法还可以包括:在输入多个具有不同尺寸的样本数据的情况下,根据最大输入尺寸生成一个推理引擎,以处理所述样本数据。根据本公开实施例,在输入多个具有不同尺寸的样本数据的情况下,可以从样本数据的尺寸中选择出最大的输入尺寸,支持该最大输入尺寸的核函数同样兼容更小尺寸的样本数据,从而可以生成一个推理引擎,统一采用该推理引擎进行推理,以节省计算资源。
根据本公开实施例提供的技术方案,通过在输入多个具有不同尺寸的样本数据的情况下,根据最大输入尺寸生成推理引擎,以处理所述样本数据,从而能够减少对显存资源的消耗,也一定程度上节省了选择核函数的时间。
图3示出根据本公开实施例的数据处理方法的示意图。
如图3所示,对已训练模型进行节点融合和图优化,生成优化后的网络图,即,由多个操作OP[1]、OP[2]、……、OP[n]组成的网络图。应当注意,此处图3仅示出了多个操作,省略了操作之间的连接关系,在实际的应用中,多个操作之间存在特定的连接关系。
根据本公开实施例,可以根据优化后的网络图进行核函数的预选择。若指定输入样本的最大样本尺寸ISmax和最小样本尺寸ISmin,则可以对优化后的网络图进行尺寸推理,得到每个操作OP[i]的最大输入尺寸Smax[i]和最小输入尺寸Smin[i]。每个操作中所有可用的核函数为满足此最大输入尺寸Smax[i]和最小输入尺寸Smin[i]的核函数,操作支持的最大输入尺寸Smax[i]不能小于样本数据在该操作输入的最大尺寸ISmax,操作支持的最小输入尺寸Smin[i]不能小于样本数据在该操作输入的最小尺寸ISmin,即:
K[i]={k∈OP[i]|k.ISmax≤Smax[i]andk.ISmin≥Smin[i]}
其中,k.ISmax为核函数k所支持的最大尺寸,k.ISmin为核函数k所支持的最小尺寸。可以保存操作OP[i]序列和对应的核函数K[i]序列,从而可以确定各个操作可用的核函数。
根据本公开实施例,可以测量最大输入尺寸Smax[i]下所有核函数的耗时,并存入核函数执行时间表IT中,以便在某输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸Smax[i]下耗时最短的核函数。
根据本公开实施例,获取的样本数据例如可以是图片,记为I,输入样本的尺寸记为IS。通过尺寸推理得到每个操作OP对应的输入尺寸S[i]。
根据本公开实施例,在获取样本数据后,进入动态选择核函数的阶段,例如可以由图3中的kernel选择器执行。例如,依据输入样本的尺寸,使用改进的∈-greedy策略选择实际执行每个操作OP[i]的核函数。例如,预设∈的取值,以(1-∈)的概率选择核函数执行时间表IT中已执行过的核函数中耗时最短的核函数,以∈的概率探索未执行过的核函数,即选中的核函数krun[i]满足:
根据本公开实施例,特别地,当IT[S[i]][i]为空时,即核函数执行时间表中输入尺寸S[i]下不存在已经执行过的核函数k[i],则选择最大输入尺寸Smax[i]下的执行时间最小的核函数作为krun[i],即:
krun[i]=argmink∈IT[i]IT[ISmax][i][k]
根据本公开实施例,当输入尺寸下所有的核函数均已探索过时,直接选择耗时最短的核函数,即:
krun[i]=argmink∈IT[i]IT[S[i]][i][k]
根据本公开实施例,如图3所示,在选择核函数完成后,将krun[i]组合为动态推理引擎,并执行推理,得到krun[i]的执行时间和推理得到的预测结果。将krun[i]的执行时间结合样本尺寸S[i]和选择的核函数krun[i]存入IT[S[i]][i][krun[i]]中,形成一条记录,以便核函数动态选择时可以根据核函数执行之间表IT中的记录更好地选择核函数。
本公开实施例提供的方法可以应用于诸如图像处理,自然语言处理等领域,实现目标检测、图像分类、人脸识别等功能,在交通、物流、安防等场景中发挥作用,提高数据处理的效率。
图4示出根据本公开实施例的机器学习模型推理方法的流程图。
如图4所示,该方法包括步骤S410~S450。
在步骤S410,获取经过训练的机器学习模型以及多个核函数;
在步骤S420,通过节点融合和图优化处理所述机器学习模型得到具有连接关系的多个操作;
在步骤S430,响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
在步骤S440,从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
在步骤S450,基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
根据本公开实施例提供的技术方案,通过获取经过训练的机器学习模型以及多个核函数;通过节点融合和图优化处理所述机器学习模型得到具有连接关系的多个操作;响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果,从而针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
本领域技术人员可以理解,参照图4描述的技术方案的可以与参照图1至图3描述的实施例结合,从而具备参照图1至图3描述的实施例所实现的技术效果。具体内容可以参照以上根据图1至图3进行的描述,其具体内容在此不再赘述。
图5示出根据本公开实施例的数据处理装置500的结构框图。其中,该装置500可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图5所示,所述数据处理装置500包括第一获取模块510、第一确定模块520、第一选择模块530和第一处理模块540。
第一获取模块510,被配置为获取用于组成推理引擎的操作以及多个核函数;
第一确定模块520,被配置为响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
第一选择模块530,被配置为从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
第一处理模块540,被配置为基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
根据本公开实施例提供的技术方案,通过第一获取模块,被配置为获取用于组成推理引擎的操作以及多个核函数;第一确定模块,被配置为响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;第一选择模块,被配置为从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及第一处理模块,被配置为基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果,从而针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,该装置还可以包括:
记录模块550,被配置为在选择所述输入尺寸下未执行过的核函数的情况下,在基于所述推理引擎处理所述样本数据之后记录所述核函数的执行时间。
根据本公开实施例提供的技术方案,通过记录模块,被配置为在选择所述输入尺寸下未执行过的核函数的情况下,在基于所述推理引擎处理所述样本数据之后记录所述核函数的执行时间,从而有助于针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,该装置还可以包括:
测量模块560,被配置为测量所述操作的最大输入尺寸下可用的核函数的耗时。
根据本公开实施例提供的技术方案,通过测量模块,被配置为测量所述操作的最大输入尺寸下可用的核函数的耗时,从而能够在输入尺寸下不存在已执行过的核函数的情况下也能取得较好的推理性能,减少对初始化时间的影响。
根据本公开实施例,该第一选择模块530可以包括第一选择子模块531,被配置为在所述输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸下耗时最短的核函数。
操作根据本公开实施例提供的技术方案,通过第一选择子模块,被配置为在所述输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸下耗时最短的核函数,从而能够在输入尺寸下不存在已执行过的核函数的情况下也能取得较好的推理性能,减少对初始化时间的影响。
根据本公开实施例,该第一选择模块530可以包括:
第二选择子模块532,被配置为在所述输入尺寸下不存在未执行过的核函数的情况下,选择该输入尺寸下耗时最短的核函数。
根据本公开实施例提供的技术方案,通过第二选择子模块,被配置为在所述输入尺寸下不存在未执行过的核函数的情况下,选择该输入尺寸下耗时最短的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,该装置还可以包括:
第一生成模块571,被配置为在输入多个具有不同尺寸的样本数据的情况下,并行生成多个推理引擎,以处理所述样本数据。
根据本公开实施例提供的技术方案,通过第一生成模块,被配置为在输入多个具有不同尺寸的样本数据的情况下,并行生成多个推理引擎,以处理所述样本数据,从而能够提高推理性能。
根据本公开实施例,该装置还可以包括:
第二生成模块572,被配置为在输入多个具有不同尺寸的样本数据的情况下,根据最大输入尺寸生成推理引擎,以处理所述样本数据。
根据本公开实施例提供的技术方案,通过第二生成模块,被配置为在输入多个具有不同尺寸的样本数据的情况下,根据最大输入尺寸生成推理引擎,以处理所述样本数据,从而能够减少对显存资源的消耗,也一定程度上节省了选择核函数的时间。
根据本公开实施例,该第一获取模块510可以包括:
获取子模块511,被配置为获取经过训练的推理模型;
处理子模块512,被配置为处理所述推理模型得到具有连接关系的多个操作。
根据本公开实施例提供的技术方案,通过获取子模块,被配置为获取经过训练的推理模型;处理子模块,被配置为处理所述推理模型得到具有连接关系的多个操作,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,该第一处理模块540可以包括:
组合子模块541,被配置为基于所述连接关系,将多个已选择核函数的操作组合为推理引擎。
根据本公开实施例提供的技术方案,通过组合子模块,被配置为基于所述连接关系,将多个已选择核函数的操作组合为推理引擎,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,该装置还可以包括:
第二获取模块580,被配置为获取操作的尺寸参数,所述操作的尺寸参数包括以下一种或多种:填充值、卷积步长、卷积核的宽度和高度、卷积核的通道数。
根据本公开实施例提供的技术方案,通过第二获取模块,被配置为获取操作的尺寸参数,所述操作的尺寸参数包括以下一种或多种:填充值、卷积步长、卷积核的宽度和高度、卷积核的通道数,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,该第一确定模块520被配置为:
响应于获取样本数据,基于所述样本数据、所述操作的尺寸参数以及所述连接关系,确定所述操作的输入尺寸。
根据本公开实施例提供的技术方案,通过第一确定模块被配置为响应于获取样本数据,基于所述样本数据、所述操作的尺寸参数以及所述连接关系,确定所述操作的输入尺寸,从而能够针对不同尺寸的样本数据选择不同的核函数,提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
根据本公开实施例,该装置还可以包括:
第三获取模块591,被配置为获取所述推理模型的最大样本尺寸和最小样本尺寸;
第二确定模块592,被配置为基于所述连接关系、所述操作的尺寸参数、所述最大样本尺寸和所述最小样本尺寸,确定所述操作的最大输入尺寸和最小输入尺寸;
第三确定模块593,被配置为基于所述操作的最大输入尺寸和最小输入尺寸,从所述多个核函数中确定所述操作可用的核函数,
该第一选择模块530被配置为从所述可用的核函数中为所述操作选择核函数。
根据本公开实施例提供的技术方案,通过第三获取模块,被配置为获取所述推理模型的最大样本尺寸和最小样本尺寸;第二确定模块,被配置为基于所述连接关系、所述操作的尺寸参数、所述最大样本尺寸和所述最小样本尺寸,确定所述操作的最大输入尺寸和最小输入尺寸;第三确定模块,被配置为基于所述操作的最大输入尺寸和最小输入尺寸,从所述多个核函数中确定所述操作可用的核函数,所述第一选择模块被配置为从所述可用的核函数中为所述操作选择核函数,从而可以缩小核函数的选择范围,提高选择效率。
图6示出根据本公开实施例的机器学习模型推理装置600的结构框图。其中,该装置600可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图6所示,所述机器学习模型推理装置600包括第四获取模块610、第二处理模块620、第四确定模块630、第二选择模块640以及第三处理模块650。
第四获取模块610,被配置为获取经过训练的机器学习模型以及多个核函数;
第二处理模块620,被配置为通过节点融合和图优化处理所述机器学习模型得到具有连接关系的多个操作;
第四确定模块630,被配置为响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
第二选择模块640,被配置为从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
第三处理模块650,被配置为基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
根据本公开实施例提供的技术方案,通过第四获取模块,被配置为获取经过训练的机器学习模型以及多个核函数;第二处理模块,被配置为通过节点融合和图优化处理所述机器学习模型得到具有连接关系的多个操作;第四确定模块,被配置为响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;第二选择模块,被配置为从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及第三处理模块,被配置为基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果,从而针对不同尺寸的样本数据选择不同的核函数,能够提高对不同尺寸样本数据的推理性能,同时,核函数执行时间的测量在推理时进行,减少了推理引擎的初始化时间。
本公开还公开了一种电子设备,图7示出根据本公开实施例的电子设备的结构框图。
如图7所示,所述电子设备700包括存储器701和处理器702,其中,所述存储器701用于存储支持电子设备执行上述任一实施例中的数据处理方法或代码生成方法的程序,所述处理器702被配置为用于执行所述存储器701中存储的程序。
根据本公开实施例,所述存储器701用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器702执行以实现以下步骤:
获取用于组成推理引擎的操作以及多个核函数;
响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
根据本公开实施例,所述处理器702还用于执行:
在选择所述输入尺寸下未执行过的核函数的情况下,在基于所述推理引擎处理所述样本数据之后记录所述核函数的执行时间。
根据本公开实施例,所述处理器702还用于执行:
测量所述操作的最大输入尺寸下可用的核函数的耗时。
根据本公开实施例,所述从所述多个核函数中为所述操作选择核函数,包括:在所述输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸下耗时最短的核函数。
根据本公开实施例,所述从所述多个核函数中为所述操作选择核函数,包括:
在所述输入尺寸下不存在未执行过的核函数的情况下,选择该输入尺寸下耗时最短的核函数。
根据本公开实施例,所述处理器702还用于执行:
在输入多个具有不同尺寸的样本数据的情况下,并行生成多个推理引擎,以处理所述样本数据;或者
在输入多个具有不同尺寸的样本数据的情况下,根据最大输入尺寸生成推理引擎,以处理所述样本数据。
根据本公开实施例,所述获取用于组成推理引擎的操作包括:
获取经过训练的推理模型;
处理所述推理模型得到具有连接关系的多个操作。
根据本公开实施例,所述基于所选择的核函数组成推理引擎,包括:
基于所述连接关系,将多个已选择核函数的操作组合为推理引擎。
根据本公开实施例,所述处理器702还用于执行:获取操作的尺寸参数,所述操作的尺寸参数包括以下一种或多种:填充值、卷积步长、卷积核的宽度和高度、卷积核的通道数。
根据本公开实施例,所述响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸,包括:
响应于获取样本数据,基于所述样本数据、所述操作的尺寸参数以及所述连接关系,确定所述操作的输入尺寸。
根据本公开实施例,所述处理器702还用于执行:获取所述推理模型的最大样本尺寸和最小样本尺寸;
基于所述连接关系、所述操作的尺寸参数、所述最大样本尺寸和所述最小样本尺寸,确定所述操作的最大输入尺寸和最小输入尺寸;
基于所述操作的最大输入尺寸和最小输入尺寸,从所述多个核函数中确定所述操作可用的核函数,
所述从所述多个核函数中为所述操作选择核函数,包括:从所述可用的核函数中为所述操作选择核函数。
根据本公开实施例,所述存储器701用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器702执行以实现以下步骤:
获取经过训练的机器学习模型以及多个核函数;
通过节点融合和图优化处理所述机器学习模型得到具有连接关系的多个操作;
响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
图8示出适于用来实现根据本公开实施例的数据处理方法的计算机系统的结构示意图。
如图8所示,计算机系统800包括处理单元801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行上述实施例中的各种处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。处理单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。其中,所述处理单元801可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行上述方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (24)
1.一种数据处理方法,包括:
获取用于组成推理引擎的操作以及多个核函数;
响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
2.根据权利要求1所述的方法,其特征在于,还包括:
在选择所述输入尺寸下未执行过的核函数的情况下,在基于所述推理引擎处理所述样本数据之后记录所述核函数的执行时间。
3.根据权利要求1所述的方法,其特征在于,还包括:
测量所述操作的最大输入尺寸下可用的核函数的耗时。
4.根据权利要求3所述的方法,其特征在于,所述从所述多个核函数中为所述操作选择核函数,包括:
在所述输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸下耗时最短的核函数。
5.根据权利要求1所述的方法,其特征在于,所述从所述多个核函数中为所述操作选择核函数,包括:
在所述输入尺寸下不存在未执行过的核函数的情况下,选择该输入尺寸下耗时最短的核函数。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述获取用于组成推理引擎的操作包括:
获取经过训练的推理模型;
处理所述推理模型得到具有连接关系的多个操作。
7.根据权利要求6所述的方法,其特征在于,所述基于所选择的核函数组成推理引擎,包括:
基于所述连接关系,将多个已选择核函数的操作组合为推理引擎。
8.根据权利要求6所述的方法,其特征在于,还包括:
获取操作的尺寸参数,所述操作的尺寸参数包括以下一种或多种:填充值、卷积步长、卷积核的宽度和高度、卷积核的通道数。
9.根据权利要求8所述的方法,其特征在于,所述响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸,包括:
响应于获取样本数据,基于所述样本数据、所述操作的尺寸参数以及所述连接关系,确定所述操作的输入尺寸。
10.根据权利要求8所述的方法,其特征在于,还包括:
获取所述推理模型的最大样本尺寸和最小样本尺寸;
基于所述连接关系、所述操作的尺寸参数、所述最大样本尺寸和所述最小样本尺寸,确定所述操作的最大输入尺寸和最小输入尺寸;
基于所述操作的最大输入尺寸和最小输入尺寸,从所述多个核函数中确定所述操作可用的核函数,
所述从所述多个核函数中为所述操作选择核函数,包括:从所述可用的核函数中为所述操作选择核函数。
11.一种机器学习模型推理方法,包括:
获取经过训练的机器学习模型以及多个核函数;
通过节点融合和图优化处理所述机器学习模型得到具有连接关系的多个操作;
响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
12.一种数据处理装置,包括:
第一获取模块,被配置为获取用于组成推理引擎的操作以及多个核函数;
第一确定模块,被配置为响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
第一选择模块,被配置为从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
第一处理模块,被配置为基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
13.根据权利要求12所述的装置,其特征在于,还包括:
记录模块,被配置为在选择所述输入尺寸下未执行过的核函数的情况下,在基于所述推理引擎处理所述样本数据之后记录所述核函数的执行时间。
14.根据权利要求12所述的装置,其特征在于,还包括:
测量模块,被配置为测量所述操作的最大输入尺寸下可用的核函数的耗时。
15.根据权利要求14所述的装置,其特征在于,所述第一选择模块包括:
第一选择子模块,被配置为在所述输入尺寸下不存在已执行过的核函数的情况下,选择所述最大输入尺寸下耗时最短的核函数。
16.根据权利要求12所述的装置,其特征在于,所述第一选择模块包括:
第二选择子模块,被配置为在所述输入尺寸下不存在未执行过的核函数的情况下,选择该输入尺寸下耗时最短的核函数。
17.根据权利要求12~16任一项所述的装置,其特征在于,所述第一获取模块包括:
获取子模块,被配置为获取经过训练的推理模型;
处理子模块,被配置为处理所述推理模型得到具有连接关系的多个操作。
18.根据权利要求17所述的装置,其特征在于,所述第一处理模块包括:
组合子模块,被配置为基于所述连接关系,将多个已选择核函数的操作组合为推理引擎。
19.根据权利要求17所述的装置,其特征在于,还包括:
第二获取模块,被配置为获取操作的尺寸参数,所述操作的尺寸参数包括以下一种或多种:填充值、卷积步长、卷积核的宽度和高度、卷积核的通道数。
20.根据权利要求19所述的装置,其特征在于,所述第一确定模块被配置为:
响应于获取样本数据,基于所述样本数据、所述操作的尺寸参数以及所述连接关系,确定所述操作的输入尺寸。
21.根据权利要求19所述的装置,其特征在于,还包括:
第三获取模块,被配置为获取所述推理模型的最大样本尺寸和最小样本尺寸;
第二确定模块,被配置为基于所述连接关系、所述操作的尺寸参数、所述最大样本尺寸和所述最小样本尺寸,确定所述操作的最大输入尺寸和最小输入尺寸;
第三确定模块,被配置为基于所述操作的最大输入尺寸和最小输入尺寸,从所述多个核函数中确定所述操作可用的核函数,
所述第一选择模块被配置为从所述可用的核函数中为所述操作选择核函数。
22.一种机器学习模型推理装置,包括:
第四获取模块,被配置为获取经过训练的机器学习模型以及多个核函数;
第二处理模块,被配置为通过节点融合和图优化处理所述机器学习模型得到具有连接关系的多个操作;
第四确定模块,被配置为响应于获取样本数据,基于所述样本数据确定所述操作的输入尺寸;
第二选择模块,被配置为从所述多个核函数中为所述操作选择核函数,其中,以预定概率选择所述输入尺寸下未执行过的核函数,否则选择所述输入尺寸下已执行过的耗时最短的核函数;以及
第三处理模块,被配置为基于所选择的核函数组成推理引擎,并基于所述推理引擎处理所述样本数据以获取推理结果。
23.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1~11任一项所述的方法步骤。
24.一种可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1~11任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010859374.4A CN113298258A (zh) | 2020-08-24 | 2020-08-24 | 数据处理方法、机器学习模型推理方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010859374.4A CN113298258A (zh) | 2020-08-24 | 2020-08-24 | 数据处理方法、机器学习模型推理方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113298258A true CN113298258A (zh) | 2021-08-24 |
Family
ID=77318329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010859374.4A Pending CN113298258A (zh) | 2020-08-24 | 2020-08-24 | 数据处理方法、机器学习模型推理方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113298258A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114004730A (zh) * | 2021-11-03 | 2022-02-01 | 奥特贝睿(天津)科技有限公司 | 一种基于图形处理器的深度神经网络多模型并行推理方法 |
-
2020
- 2020-08-24 CN CN202010859374.4A patent/CN113298258A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114004730A (zh) * | 2021-11-03 | 2022-02-01 | 奥特贝睿(天津)科技有限公司 | 一种基于图形处理器的深度神经网络多模型并行推理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093225B2 (en) | High parallelism computing system and instruction scheduling method thereof | |
CN110941789B (zh) | 张量运算方法和装置 | |
US20110107345A1 (en) | Multiprocessor circuit using run-time task scheduling | |
CN112711478B (zh) | 基于神经网络的任务处理方法、装置、服务器和存储介质 | |
CN110659069B (zh) | 用于执行神经网络计算的指令调度方法及相应计算系统 | |
CN110689121A (zh) | 一种用多核处理器实现神经网络模型拆分方法及相关产品 | |
US11915118B2 (en) | Method and apparatus for processing computation of zero value in processing of layers in neural network | |
US11429872B2 (en) | Accelerated decision tree execution | |
CN112380003A (zh) | 一种gpu处理器上的k-nn的高性能并行实现装置 | |
CN113449841A (zh) | 插入转换算子的方法和装置 | |
CN113298258A (zh) | 数据处理方法、机器学习模型推理方法、装置和电子设备 | |
CN112614108B (zh) | 基于深度学习检测甲状腺超声图像中结节的方法和装置 | |
US20220067495A1 (en) | Intelligent processor, data processing method and storage medium | |
US11481604B2 (en) | Apparatus and method for neural network processing | |
WO2017016590A1 (en) | Scheduling heterogenous processors | |
US20230140173A1 (en) | Deep neural network (dnn) accelerators with heterogeneous tiling | |
US20220366217A1 (en) | Method and device of computing layout selection for efficient dnn inference | |
CN114187259A (zh) | 视频质量分析引擎的创建方法、视频质量分析方法及设备 | |
CN113902088A (zh) | 神经网络结构搜索的方法、装置与系统 | |
CN112214627A (zh) | 搜索方法、可读存储介质和电子设备 | |
KR20030005409A (ko) | 이미지 품질에 대한 알고리즘들의 랜덤 시스템을최적화하기 위한 스케일러블 확장형 시스템 및 방법 | |
CN116468597B (zh) | 基于多gpu的图像渲染方法、装置及可读存储介质 | |
US20240152761A1 (en) | Method and apparatus for using a packet architecture to process neural networks in a neural processing unit | |
US20220345535A1 (en) | Distribution of machine learning workflows on webscale infrastructures | |
EP4345690A1 (en) | Write combine buffer (wcb) for deep neural network (dnn) accelerator |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40057568 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210824 |
|
RJ01 | Rejection of invention patent application after publication |