CN110580527B - 通用机器学习模型的生成方法、装置和存储介质 - Google Patents

通用机器学习模型的生成方法、装置和存储介质 Download PDF

Info

Publication number
CN110580527B
CN110580527B CN201810589390.9A CN201810589390A CN110580527B CN 110580527 B CN110580527 B CN 110580527B CN 201810589390 A CN201810589390 A CN 201810589390A CN 110580527 B CN110580527 B CN 110580527B
Authority
CN
China
Prior art keywords
data
stack
model
model parameter
parameters
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
Application number
CN201810589390.9A
Other languages
English (en)
Other versions
CN110580527A (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to CN201810589390.9A priority Critical patent/CN110580527B/zh
Priority to PCT/CN2019/085853 priority patent/WO2019233231A1/zh
Priority to KR1020197029038A priority patent/KR20210017985A/ko
Priority to JP2019554861A priority patent/JP7386706B2/ja
Priority to EP19815956.8A priority patent/EP3751477A4/en
Priority to US16/975,082 priority patent/US11334329B2/en
Publication of CN110580527A publication Critical patent/CN110580527A/zh
Priority to US17/130,370 priority patent/US11334330B2/en
Priority to US17/130,300 priority patent/US11379199B2/en
Priority to US17/130,469 priority patent/US11036480B2/en
Priority to US17/130,348 priority patent/US11307836B2/en
Priority to US17/130,393 priority patent/US11403080B2/en
Priority to US17/849,650 priority patent/US11726754B2/en
Application granted granted Critical
Publication of CN110580527B publication Critical patent/CN110580527B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本申请涉及一种通用机器学习模型的生成方法、装置、计算机设备和存储介质。所述方法包括:获取机器学习任务的任务参数;对所述任务参数进行分类处理,得到任务指令及模型参数;根据数据类型将所述任务指令及模型参数进行汇集,得到栈数据和堆数据;将所述栈数据和堆数据进行整合,得到通用机器学习模型。采用本方法能够使得算法运行中使用相应通用模型的编译结果直接进行执行,避免重复编译,从而大大提高机器学习算法实现的效率,缩短了从编译到得到执行结果的时间。

Description

通用机器学习模型的生成方法、装置和存储介质
技术领域
本申请涉及人工智能技术领域,特别是涉及一种通用机器学习模型的生成方法、装置和存储介质。
背景技术
随着人工智能的发展,出现了各种机器学习算法。传统的机器学习算法在开发平台中运行时,每次执行都要先经过编译过程。但是由于机器学习过程中,算法执行次数多,算法重复编译次数多,而编译过程耗时长,导致算法执行效率低。
发明内容
一种通用机器学习模型的生成方法,所述方法包括:
获取机器学习任务的任务参数;
对所述任务参数进行分类处理,得到任务指令及模型参数;
根据数据类型将所述任务指令及模型参数进行汇集,得到栈数据和堆数据;
将所述栈数据和堆数据进行整合,得到通用机器学习模型。
在其中一个实施例中,所述任务参数包括算法控制参数和计算参数;
所述对所述任务参数进行分类处理,得到任务指令及模型参数的步骤包括:
对所述算法控制参数进行编译,得到任务指令;
对所述计算参数进行分类处理,得到模型参数。
在其中一个实施例中,所述对所述计算参数进行分类处理,得到模型参数的步骤包括:
对所述计算参数进行预处理,得到预处理模型数据;
根据所述计算参数获取硬件参数;
提取所述计算参数中的数据属性参数。
在其中一个实施例中,所述根据数据类型将所述任务指令及模型参数进行汇集,得到栈数据和堆数据的步骤包括:
对所述任务指令进行分类处理,得到任务指令堆数据;
根据所述数据类型对模型参数进行分类处理,得到模型参数栈数据及模型参数堆数据;
对所述模型参数栈数据进行汇集,得到所述栈数据;
对所述模型参数堆数据进行汇集,得到所述堆数据。
在其中一个实施例中,所述根据所述数据类型对模型参数进行分类处理,得到模型参数栈数据及模型参数堆数据的步骤包括:
根据共享属性对所述模型参数进行分类,得到可共享模型参数及不可共享模型参数;
对可共享模型参数进行汇集,得到模型参数堆数据;
对所述不可共享模型参数进行汇集,得到模型参数栈数据。
在其中一个实施例中,所述模型参数堆数据包括模型参数静态数据和模型参数动态数据;
所述将所述栈数据和堆数据进行整合,得到通用机器学习模型的步骤包括:
将所述任务指令堆数据与所述模型参数静态数据进行打包整合,得到连续的静态数据块;
对所述模型参数动态数据进行打包整合,得到连续的动态数据块;
对所述模型参数栈数据进行打包整合,得到栈数据块;
对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行合并,得到通用机器学习模型。
在其中一个实施例中,所述对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行合并,得到通用机器学习模型的步骤包括:
根据所述任务指令获取静态数据布局信息、动态数据布局信息以及栈数据布局信息;
根据所述静态数据布局信息对所述任务指令堆数据与所述模型参数静态数据进行打包整合,得到所述连续的静态数据块;
根据所述动态数据布局信息对对所述模型参数动态数据进行打包整合,得到连续的动态数据块;
根据所述栈数据布局信息对所述模型参数栈数据进行打包整合,得到所述栈数据块;
对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行整合。
在其中一个实施例中,所述提取所述计算参数中的数据属性参数的步骤包括:
获取计算参数的输入数据属性、输出数据属性及中间结果临时空间属性;
在所述输入数据的属性中提取所述输入数据的数据量,并分配所述输入数据存储空间;
在所述输出数据的属性中提取所述输出数据的数据量,并分配所述输出数据存储空间;
在所述中间结果临时空间属性中提取中间结果临时空间的数据量,并分配所述中间结果临时存储空间
将所述输入数据存储空间及输出数据存储空间存储为堆数据,将所述中间结果临时空间存储为栈数据。
在其中一个实施例中,所述根据所述栈数据布局信息对所述模型参数栈数据进行打包整合,得到所述栈数据块的步骤包括:
根据所述栈数据布局信息对所述不可共享模型参数、中间结果临时空间数据进行整合,得到所述栈数据块。
在其中一个实施例中,所述根据所述计算参数获取硬件参数的步骤包括:
获取硬件平台信息以及硬件配置参数并存储为堆数据。
在其中一个实施例中,所述根据所述静态数据布局信息对所述任务指令堆数据与所述模型参数静态数据进行打包整合,得到所述连续的静态数据块的步骤包括:
根据所述静态数据布局信息,对所述任务指令堆数据、可共享模型参数、硬件平台信息以及硬件配置参数进行整合,得到所述连续的静态数据块。
在其中一个实施例中,所述根据所述动态数据布局信息对所述模型参数动态数据进行打包整合,得到连续的动态数据块的步骤包括:
根据所述动态数据布局信息对所述输入数据存储空间以及所述输出数据存储空间进行整合,得到所述连续的动态数据块。
一种通用机器学习模型的生成装置,所述装置包括:
对外接口模块,用于获取机器学习任务的任务参数;
分类处理模块,用于对所述任务参数进行分类处理,得到任务指令及模型参数;
参数汇集模块,用于根据数据类型将所述任务指令及模型参数进行汇集,得到栈数据和堆数据;
模型生成模块,用于将所述栈数据和堆数据进行整合,得到通用机器学习模型。
在其中一个实施例中,所述任务参数包括算法控制参数和计算参数;
所述分类处理模块包括:
任务指令生成模块,用于对所述算法控制参数进行编译,得到任务指令;
模型参数生成模块,对所述计算参数进行分类处理,得到模型参数。
在其中一个实施例中,所述模型参数生成模块包括:
模型参数栈数据生成模块,用于对可共享模型参数进行汇集,得到模型参数栈数据;
模型参数堆数据生成模块,用于对所述不可共享模型参数进行汇集,得到模型参数堆数据。
在其中一个实施例中,所述模型参数堆数据生成模块包括:
模型参数静态数据生成模块,用于对静态的所述模型参数堆数据进行汇集,得到模型参数静态数据;
模型参数动态数据生成模块,用于对动态的所述模型参数堆数据进行汇集,得到模型参数动态数据。
在其中一个实施例中,所述模型参数生成模块还包括:
预处理模块,用于对所述计算参数进行预处理,得到预处理模型数据;
硬件参数生成模块,用于根据所述计算参数获取硬件参数;
属性提取模块,用于提取所述计算参数中的数据属性参数。
在其中一个实施例中,所述任务指令包括任务指令堆数据;所述参数汇集器包括:
栈数据汇集器,用于对所述模型参数栈数据进行打包整合,得到栈数据块;
模型参数动态数据汇集器,用于对所述模型参数动态数据进行打包整合,得到连续的动态数据块;
模型参数静态数据汇集器,用于将所述任务指令堆数据与所述模型参数静态数据进行打包整合,得到连续的静态数据块。
在其中一个实施例中,所述模型生成模块用于对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行合并,得到通用机器学习模型。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上任一实施例所提供方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一实施例所提供方法的步骤。
上述通用机器学习模型的生成方法、装置和存储介质,通过对任务参数进行分类处理,很好的兼容了各类机器学习算法的运算过程,并通过汇集及整合过程得到相应机器学习算法的通用模型。通过上述机器学习算法的通用模型,使得算法运行中使用相应通用模型的编译结果直接进行执行,避免重复编译,从而大大提高机器学习算法实现的效率,缩短了从编译到得到执行结果的时间。
附图说明
图1为一个实施例中通用机器学习模型生成方法的应用环境图;
图2为一个实施例中通用机器学习模型生成方法的流程示意图;
图3为一个实施例中通用机器学习模型生成装置的示意图;
图4为另一个实施例中通用机器学习模型执行方法的流程示意图;
图5为一个实施例中通用机器学习模型执行装置的示意图;
图6为一个实施例中通过通用机器学习模型对jpg图片进行特征提取的流程示意图;
图7为一个实施例中提供的计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的通用机器学习模型的生成方法,可以应用于如图1所示的应用环境中。其中,图1所示的应用环境为机器学习开发平台,包括框架层101、编译层102、汇聚层103、驱动层104以及硬件层105。
在其中一个实施例中,框架层101用于提供机器学习任务的算法设计条件,为方便用户搭建自己的神经网络结构,提供便捷的训练和预测工具。可以理解的,框架层101用于实现以下步骤:
接收用户设计的机器学习算法(例如,神经网络结构);
解析出每个子任务的参数,传递给编译层生成机器指令及相关必要元素;
传递给运行时层执行计算,最终完成用户所需的机器学习任务。
在其中一个实施例中,编译层102用于在机器学习任务中生成机器指令。具体的,编译层包括编译器、针对高频算子做特殊优化的高性能编程库以及其他能够生成机器指令的模块、装置以及数据库。可以理解的,编译层102用于接收上层框架层101传入的机器学习任务的参数,编译生成硬件的二进制机器指令,传递给下层的运行时层保存下来或执行计算。
在其中一个实施例中,汇聚层103是对驱动程序做进一步封装的程序,可以屏蔽底层不同硬件和驱动的差异,向上层编译层102或用户提供统一的程序接口。具体的,汇聚层103封装上层软件不需考虑的硬件和驱动程序的细节。进一步的,汇聚层103用于提供机器学习任务基本操作的程序接口,保存和加载机器学习模型及其在硬件上执行所需的机器指令等必要元素,使上层软件和用户只需要关注机器学习任务本身,而不必考虑具体硬件的差异。可选地,汇聚层提供机器学习任务基本操作的程序接口包括内存空间分配、数据拷贝、启动计算以及其他机器学习任务基本操作的程序接口。
在其中一个实施例中,驱动层104用于打包封装硬件层105设备的基本操作,向上层汇聚层103提供可被调用的程序接口。具体地,驱动层104的基本操作包括控制数据流的输入输出,向硬件发送控制信号,接收与处理硬件产生的异常信号,多任务的管理和调度等。
在其中一个实施例中,硬件层105包括机器学习开发平台中的所有硬件设施。可选的硬件层105包括主处理器、协处理器、存储器,输入输出设备,供电模块以及它们的连接设备。可以理解的,硬件层105不限于上述器件。
在一个实施例中,请一并参阅图2、图3,提供了一种通用机器学习模型的生成方法及装置。在其中一个实施例中,步骤S201,获取机器学习任务的任务参数。在其中一个实施例中,通过对外接口模块31000获取机器学习任务的任务参数。具体地,任务参数是生成通用机器学习模型的除去输入数据、输出数据之外的参数。具体地,任务参数来自外部程序的输入,或者来自于用户的输入。可以理解的,当任务参数来自于用户的输入时,用户的输入数据需要经过格式转化才能得到任务参数。在其中一个实施例中,步骤S202,对所述任务参数进行分类处理,得到任务指令及模型参数。在其中一个实施例中,通过模型参数生成模块32100得到模型参数,通过任务指令生成模块32200得到任务指令。具体的,任务指令是指经过编译处理的任务参数。模型参数是指机器学习算法运行过程中所需要对任务参数进行其他处理的处理结果。在其中一个实施例中,步骤S203,根据数据类型将所述任务指令及模型参数进行汇集,得到栈数据和堆数据。在其中一个实施例中,通过栈数据汇集器33100汇集不可共享的数据,通过堆数据汇集器33200汇集共享的数据。可以理解的,不可共享的数据是指在多核平台中,核间不共享的数据;共享的数据是指在多核平台中,核间共享的数据。具体地,汇集是指对任务指令及模型参数进行打包整理。在其中一个实施例中,步骤S204,将所述栈数据和堆数据进行整合,得到通用机器学习模型。具体的,通用机器学习模型具有良好的通用性。具体的,通用机器学习模型既兼容上层的不同框架,例如兼容上层的框架层101、编译层102以及汇聚层103;又能兼容下层的不同驱动层和硬件。进一步的,当一个通用机器学习模型形成之后,能够根据不同的运算核数量、输入数据的地址、输出数据的地址以及其他通用机器学习模型调整数据块,以适应不同的情况。具体地,通用机器学习模型的生成步骤不限于上述步骤,不限于上述步骤的执行顺序,任何基于本发明构思所做出的变形都视为本发明的保护范围。
在一个实施例中,请一并参阅图3,具体的,所述任务参数包括算法控制参数和计算参数;
所述对所述任务参数进行分类处理,得到任务指令及模型参数的步骤包括:
对所述算法控制参数进行编译,得到任务指令;在其中一个实施例中,通过任务指令生成模块32200对算法控制参数进行编译。
具体地,算法控制参数包括算法的运算结构。具体地,编译包括将高级语言转换为机器语言的过程。可以理解的,编译过程是产生目标程序的过程。具体的,任务指令包括直接被计算机识别和执行的指令。可以理解的,任务指令采用二进制编码格式。在一个实施例中,所述根据数据类型将所述任务指令及模型参数进行汇集,得到栈数据和堆数据的步骤包括:对所述任务指令进行分类处理,得到任务指令堆数据。在一个实施例中,任务指令堆数据是指任务指令生成模块生成的在多核平台中,进行核间共享的任务指令数据。
对所述计算参数进行分类处理,得到模型参数。在其中一个实施例中,通过模型参数生成模块对计算参数进行分类处理,得到模型参数。
具体地,计算参数包括机器学习运算过程中的除去输入数据、输出数据之外的数据。可选的,分类处理包括机器学习中所需对输入数据、输出数据进行的处理,例如预处理操作或后处理操作。可选的,分类处理还包括在机器学习中,对输入数据执行机器学习运算时,所需要获取的数据或参数。例如硬件平台信息等。可以理解的,所述分类处理操作,不限于预处理操作或后处理操作,也不限于获取硬件平台信息,其他对输入数据、输出数据进行非机器学习运算的操作皆属于分类处理操作。通过分类处理操作,兼容了不同输入数据对在不同硬件平台上进行不同运算时所需的各种操作。可以理解的,分类处理操作可以在实践过程中进行修正和补充,以满足通用机器学习模型在不同场景下的应用。
在一个实施例中,请一并参阅图3,在其中一个实施例中,通过模型参数生成模块32100对计算参数进行分类处理,得到模型参数。在一个实施例中,所述根据数据类型将所述任务指令及模型参数进行汇集,得到栈数据和堆数据的步骤包括:根据所述数据类型对模型参数进行分类处理,得到模型参数栈数据及模型参数堆数据;作为一种可选的实施方式,通过模型参数生成模块32100对计算参数进行分类处理,得到模型参数栈数据和模型参数堆数据。具体的,模型参数栈数据是指在多核平台中不可进行核间共享的模型参数,模型参数堆数据是指在多核平台中可以进行核间共享的模型参数。具体的,通过模型参数栈数据生成模块获得模型参数栈数据,通过模型参数堆数据生成模块获取模型参数堆数据。
对计算参数进行分类处理,得到模型参数的步骤包括对计算参数进行预处理,得到预处理模型数据。在其中一个实施例中,通过预处理模块32121对计算参数进行预处理。在其中一个实施例中,对计算参数进行的预处理操作包括对计算参数进行格式转换操作、拆分操作和分类操作。可选的,预处理操作不限于格式转换操作、拆分操作和分类操作,对计算参数进行的其他操作皆为预处理操作。
在其中一个实施例中,对计算参数进行分类处理,得到模型参数的步骤包括根据所述计算参数获取硬件参数。作为一种可选的实施方式,硬件参数生成模块32122用于生成硬件参数。在其中一个实施例中,硬件参数包括硬件设备固定的指标参数,例如英伟达GPU的型号、cuda核数、私有cache大小、共享cache大小、访存带宽等。
在其中一个实施例中,对计算参数进行分类处理,得到模型参数的步骤包括提取所述计算参数中的数据属性参数。作为一种可选的实施方式,属性参数提取模块32123用于提取所述计算参数中的数据的属性参数。在其中一个实施例中,根据所述计算参数获取硬件参数的步骤包括:获取硬件平台信息以及硬件配置参数并存储为堆数据。在其中一个实施例中,属性参数包括数据所特有的一些性质,例如当输入数据为图片时,属性参数就包括图片尺寸、通道数、占用的存储空间、保存格式、每个像素的数据类型等。
在一个实施例中,通过属性提取模块32123提取所述计算参数中的数据属性参数的步骤包括:
获取计算参数的输入数据属性、输出数据属性及中间结果临时空间属性;在所述输入数据的属性中提取所述输入数据的数据量,并分配所述输入数据存储空间;在所述输出数据的属性中提取所述输出数据的数据量,并分配所述输出数据存储空间;在所述中间结果临时空间属性中提取中间结果临时空间的数据量,并分配所述中间结果临时存储空间;将所述输入数据存储空间及输出数据存储空间存储为堆数据,将所述中间结果临时空间存储为栈数据。
在一个实施例中,根据所述数据类型对模型参数进行分类处理,得到模型参数栈数据的步骤包括:根据共享属性对所述模型参数进行分类,得到可共享模型参数及不可共享模型参数;对所述不可共享模型参数进行汇集,得到模型参数栈数据。在其中一个实施例中通过模型参数栈数据生成模块32110生成模型参数栈数据。在一个实施例中,所述根据数据类型将所述任务指令及模型参数进行汇集,得到栈数据和堆数据的步骤包括:对所述模型参数栈数据进行汇集,得到所述栈数据。在其中一个实施例中,通过栈数据汇集器33100汇集栈数据。通过汇集栈数据,能够对不可共享的数据进行统一处理,使得机器学习模型中的栈数据模式化,从而使得产生的机器学习模型具有通用性。
在一个实施例中,所述根据所述栈数据布局信息对所述模型参数栈数据进行打包整合,得到所述栈数据块的步骤还包括:根据所述栈数据布局信息对所述不可共享模型参数、所述中间结果临时空间数据进行整合,得到所述栈数据块。
在一个实施例中,根据所述数据类型对模型参数进行分类处理,得到模型参数堆数据的步骤包括:根据共享属性对所述模型参数进行分类,得到可共享模型参数及不可共享模型参数;对可共享模型参数进行汇集,得到模型参数堆数据。在其中一个实施例中,通过模型参数堆数据生成模块32120执行上述步骤,得到模型参数堆数据。通过汇集堆数据,能够对共享的数据进行统一处理,使得机器学习模型中的栈数据模式化,从而使得产生的机器学习模型具有通用性。
在一个实施例中,模型参数堆数据包括模型参数静态数据和模型参数动态数据。具体的,模型参数静态数据是在机器学习算法运行过程中不发生变化的数据,例如任务指令,模型参数堆数据、硬件平台信息。模型参数动态数据是指在机器学习算法运行过程中会发生变化的数据,例如输入数据、输出数据。
在一个实施例中,所述将所述栈数据和堆数据进行整合,得到通用机器学习模型的步骤包括:通过静态数据汇集器33210将所述任务指令堆数据与所述模型参数静态数据进行打包整合,得到连续的静态数据块。在其中一个实施例中,根据所述静态数据布局信息,对所述任务指令堆数据、模型参数堆数据、硬件平台信息以及硬件配置参数进行整合,得到所述连续的静态数据块。
通过汇集静态数据块,能够对静态数据块数据进行统一处理,使得机器学习模型中的静态数据模式化,从而使得产生的机器学习模型具有通用性。
在一个实施例中,所述将所述栈数据和堆数据进行整合,得到通用机器学习模型的步骤包括:通过动态数据汇集器33220对所述模型参数动态数据进行打包整合,得到连续的动态数据块。在其中一个实施例中,根据所述动态数据布局信息对所述输入数据存储空间以及所述输出数据存储空间进行整合,得到所述连续的动态数据块。通过汇集动态数据块,能够对动态数据块数据进行统一处理,使得机器学习模型中的动态数据模式化,从而使得产生的机器学习模型具有通用性。
在一个实施例中,对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行合并,得到通用机器学习模型。作为一种可选的实施方式,通用机器学习模型保存在离线文件中。具体的,离线文件中包括一种至多种通用机器学习模型。具体的,根据预先设定的规则,对离线文件中的通用机器学习模型进行调用。具体的,离线文件按照既定的规则存储在硬盘中。作为一种可选的实施方式,离线文件包括在线函数。具体的,在线函数存储在内存中。
在一个实施例中,所述对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行合并,得到通用机器学习模型的步骤包括:根据所述任务指令获取静态数据布局信息、动态数据布局信息以及栈数据布局信息;根据所述静态数据布局信息对所述任务指令堆数据与所述模型参数静态数据进行打包整合,得到所述连续的静态数据块;根据所述动态数据布局信息对对所述模型参数动态数据进行打包整合,得到连续的动态数据块;根据所述栈数据布局信息对所述模型参数栈数据进行打包整合,得到所述栈数据块;对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行整合。
在其中一个实施例中,对算法控制参数进行编译,得到各数据块布局信息。具体的,数据块布局信息用于数据块汇集整合,各数据块根据各数据块布局信息进行存放,以优化内存分配。作为一种可选的实施方式,数据块布局信息是对各数据块优先整块存储。作为一种可选的实施方式,当存储空间无法满足数据块整块存储时,根据处理器核的处理顺序对内存分配进行优化,使得读取数据块信息便捷。
在一个实施例中,通用机器学习模型生成方法进一步还包括生成硬件专用参数集。具体的,硬件专用参数集是指通过预先准备相关参数,弥补硬件不足,满足不同机器学习算法的运算需求。
在一个实施例中,请一并参阅图3,一种通用机器学习模型的生成装置,所述装置包括:对外接口模块31000,用于获取机器学习任务的任务参数;分类处理模块32000,用于对所述任务参数进行分类处理,得到任务指令及模型参数;参数汇集模块33000,用于根据数据类型将所述任务指令及模型参数进行汇集,得到栈数据和堆数据;模型生成模块34000,用于将所述栈数据和堆数据进行整合,得到通用机器学习模型。
上述通用机器学习模型的生成装置,通过对任务参数进行分类处理,很好的兼容了各类机器学习算法的运算过程,并通过汇集及整合过程得到相应机器学习算法的通用模型。通过上述机器学习算法的通用模型,使得算法运行中使用相应通用模型的编译结果直接进行执行,避免重复编译,从而大大提高机器学习算法实现的效率,缩短了从编译到得到执行结果的时间。
在一个实施例中,所述任务参数包括算法控制参数和计算参数;所述分类处理模块32000包括:任务指令生成模块32200,用于对所述算法控制参数进行编译,得到任务指令;模型参数生成模块32110,对所述计算参数进行分类处理,得到模型参数。
在一个实施例中,所述模型参数生成模块32100包括:模型参数栈数据生成模块32110,用于对可共享模型参数进行汇集,得到模型参数栈数据;模型参数堆数据生成模块32120,用于对所述不可共享模型参数进行汇集,得到模型参数堆数据。
在一个实施例中,所述模型参数生成模块还包括:预处理模块32121,用于对所述计算参数进行预处理,得到预处理模型数据;硬件参数生成模块32122,用于根据所述计算参数获取硬件参数;属性提取模块32123,用于提取所述计算参数中的数据属性参数。
在一个实施例中,所述任务指令包括任务指令堆数据;所述参数汇集模块33000包括:栈数据汇集器33100,用于对所述模型参数栈数据进行打包整合,得到栈数据块;模型参数动态数据汇集器33220,用于对所述模型参数动态数据进行打包整合,得到连续的动态数据块;模型参数静态数据汇集器33210,用于将所述任务指令堆数据与所述模型参数静态数据进行打包整合,得到连续的静态数据块。
在一个实施例中,所述模型生成模块34000用于对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行合并,得到通用机器学习模型。
关于通用机器学习模型生成装置的具体限定可以参见上文中对于通用机器学习模型生成方法的限定,在此不再赘述。上述通用机器学习模型装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,请一并参阅图4,提供了一种通用机器学习模型的执行方法。在一个实施例中,通用机器学习模型的执行方法包括:
步骤S410,获取通用机器学习模型;
具体地,通用机器学习模型是按照上述通用机器学习模型的方法生成的通用机器学习模型。关于通用机器学习模型生成方法的具体说明参见上文,在此不再赘述。
步骤S420,对所述通用机器学习模型进行分类拆解,得到栈区数据和堆区数据;
具体的,分类拆解的依据是根据数据类型的不同进行拆解。具体地,栈数据是指在多核开发平台中不可核间共享的数据,堆数据是指在多核开发平台中能够进行核间共享的数据。在一个实施例中,步骤S420所述对所述通用机器学习模型进行分类拆解,得到栈数据和堆数据的步骤包括:步骤S4210,将所述通用机器学习模型中可共享的数据拆解为栈数据;步骤S4220,将所述通用机器学习模型中不可共享的数据拆解为堆数据。
在其中一个实施例中,所述方法还包括将所述栈数据分配到栈区;
具体的,栈区是指内存中主要存储栈数据的存储空间。可选的,栈区中存储的数据还包括机器学习运算过程中所产生的中间结果。
在其中一个实施例中,所述方法还包括将所述堆数据分配到堆区;
具体的,堆区是指内存中主要存储堆数据的存储空间。可选的堆区中存储的数据还包括机器学习运算过程中所产生的中间结果。具体的,堆区数据包括存储在堆区的数据,例如堆数据以及各堆数据块布局信息。
步骤S430,根据栈区数据、堆区数据以及输入数据进行计算,得到输出数据。具体的,步骤S430的计算过程由硬件计算单元执行,在步骤S403的步骤执行完毕后,控制硬件计算单位关闭。具体的,硬件计算单元由算术逻辑单元、累加器、状态寄存器、通用寄存器组等组成。算术逻辑运算单元的基本功能为加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、求补等操作。可以理解的,硬件计算单元通过取用栈区数据和堆区数据能够直接执行运算,不必等待机器学习算法编译完成。因此,通过通用机器学习模型能够提高机器学习算法的运算效率。
在一个实施例中,所述栈数据包括模型参数栈数据;
在其中一个实施例中,步骤S4230,将栈数据分配到栈区步骤还包括:
步骤S4231,获取所述模型参数栈数据所需占用空间的大小以及中间结果临时存储空间的大小。具体的,根据模型参数栈数据所需占用空间的大小以及中间结果临时存储空间的大小,为模型参数栈数据以及中间结果临时存储空间分配存储地址及存储空间。
步骤S4232,计算所述模型参数栈数据所需占用存储空间的大小与所述中间结果临时存储空间的大小之和,得到第一存储空间的大小。可以理解的,模型参数栈数据在机器学习运行过程中会产生中间结果,因此模型参数栈数据所需占用的存储空间与中间结果临时存储空间之和是内存分配给模型参数栈区的最小存储空间。
在一个实施例中,步骤S4233,分配所述模型参数栈区的存储空间,所述模型参数栈区的存储空间大于或等于所述第一存储空间的大小。具体的,模型参数栈区是指主要用于存储模型参数栈数据的存储区。
在一个实施例中,将运行阶段变化的堆数据存储为模型参数动态堆数据,将运行阶段不变的堆数据存储为模型参数静态堆数据。关于模型参数栈数据和模型参数堆数据的具体说明参见上述关于通用模型生成方法中的相关内容,在此不再赘述。
在一个实施例中,步骤S4240,所述将所述堆数据分配到堆区的步骤还包括:步骤S4241,获取模型参数动态数据所需占用存储空间的大小;步骤S4242,将所述模型参数动态数据分配到模型参数动态堆区;步骤S4243,将所述模型参数静态数据分配到模型参数静态堆区。
在其中一个实施例中,步骤S4242,所述将所述模型参数动态数据分配到动态数据堆区的步骤还包括:
步骤S42421,将所述模型参数动态数据的存储空间与所述输入数据的存储空间与所述输出数据的存储空间相加,得到第二存储空间的大小;
步骤S42422,分配模型参数动态堆区的存储空间,所述模型参数动态堆区的存储空间大于或等于所述第二存储空间的大小。具体的,分配模型参数动态堆区的存储空间大于或等于所述第二存储空间的大小。通过步骤S42422的步骤,使得存储空间在保证正常运行的情况下获取更多的扩展性。
在一个实施例中,步骤S4240,所述将所述堆数据分配到堆区,得到堆区数据的步骤还包括:
将所述模型参数动态堆区、所述模型参数静态堆区分配到一段连续的存储空间,得到一个存储空间连续的堆区。在其中一个实施例中,所述堆区中的数据包括所述模型参数动态数据、所述模型参数静态数据以及所述输入数据、所述输出数据。
在一个实施例中,模型参数静态数据包括任务指令堆数据。具体的,任务指令堆数据是指能够进行核间共享的任务指令数据。
在一个实施例中,所述模型参数静态堆区的存储空间大于或等于所述模型参数静态堆数据的存储空间。具体的,模型参数静态堆区的存储空间大于或等于模型参数静态数据所需占用的存储空间大小。通过本实施例使得模型参数静态堆区在保证正常运行的情况下获取更多的扩展性。
在一个实施例中,所述根据所述栈区数据和所述堆区数据以及输入数据进行计算,得到输出数据的步骤还包括:待所述对所述输入数据计算完成,关闭硬件计算单元。具体的,关闭硬件计算单元有利于降低在机器学习运算过程中对计算机资源的占用。
在一个实施例中,所述根据所述栈区数据和所述堆区数据,对所述输入数据进行计算,得到输出数据的步骤还包括:在所述堆区提取所述输出数据;将所述输出数据传输至开发平台外部。在一个实施例中,将输入数据、输出数据存储于堆区。可以理解的,将输入数据、输出数据存储于模型参数动态堆区。
在一个实施例中,请一并参阅图5,提供了一种通用机器学习模型的执行装置,所述装置包括:
模型获取模块5100,用于获取通用机器学习模型;
模型拆解模块5200,用于对所述通用机器学习模型进行分类拆解,得到栈数据和堆数据;
结果输出模块5400,获取栈区数据、堆区数据以及输入数据进行计算,得到输出数据。
在其中一个实施例中,所述栈区数据包括栈数据,所述堆区数据包括堆数据;所述模型拆解模块5200包括:
栈区数据分配模块5310,用于将所述通用机器学习模型中可共享的数据拆解为栈数据。可选的,栈区数据分配模块5310还用于将所述栈数据分配到栈区;
堆区数据分配模块5320,用于将所述堆数据分配到堆区。可选的,堆区数据分配模块5320还用于将所述通用机器学习模型中不可共享的数据拆解为堆数据。
在其中一个实施例中,所述栈数据模型参数栈数据。在其中一个实施例中,所述模型参数栈数据分配模块包括:第一存储空间计算模块,用于计算所述模型参数栈数据所需占用存储空间的大小与中间结果临时存储空间的大小之和,得到第一存储空间的大小;模型参数栈数据分配模块,分配所述模型参数栈区的存储空间,所述模型参数栈区的存储空间大于或等于所述第二存储空间的大小。
在其中一个实施例中,所述栈区数据包括栈数据,所述堆区数据包括堆数据;所述模型拆解模块5200包括:
栈区数据分配模块5310,用于将所述通用机器学习模型中不可共享的数据拆解为栈数据;堆区数据分配模块5320,用于将所述通用机器学习模型中可共享的数据拆解为堆数据。在其中一个实施例中,所述栈区数据分配模块5310还用于将所述栈数据分配到栈区。在其中一个实施例中,所述堆区数据分配模块5320还用于将所述堆数据分配到堆区。
在其中一个实施例中,所述栈数据包括模型参数栈数据;所述栈数据分配模块还用于将所述模型参数栈数据分配到模型参数栈区。
在其中一个实施例中,所述结果输出模块5400还包括:
数据提取模块5410,用于从所述堆区提取所述输出数据;
数据输出模块5420,用于输出所述输出数据。关于通用机器学习模型执行装置的具体限定可以参见上文中对于通用机器学习模型执行方法的限定,在此不再赘述。上述通用机器学习模型执行装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,请一并参阅图3、图6,其中图6提供了一个通过两层神经网络对jpg格式的图片进行特征提取的示意图。在一个实施例中,通过两层神经网络对图片进行提取的神经网络包括:
步骤S6100,对输入图片进行输入预处理操作,得到经过输入预处理操作的输入图片;
在一个实施例中,属性取模块32123提取输入图片属性信息,例如输入图片的尺寸、数据格式、压缩格式信息,并将提取的属性信息传送至预处理层。具体的,输入预处理层6100根据输入图片的属性信息,将jpg压缩图片还原成未经压缩的原始图像,并为逐个数据点赋值,以便于卷积层6200对图像的处理。
步骤S6200,对经过输入预处理操作的输入图片进行卷积运算,得到卷积运算结果。
在一个实施例中,卷积层6200对图像信息进行特征提取。通用机器学习模型已经根据图6所示的机器学习算法运行平台的硬件信息生成了相对应的任务指令。当机器学习算法运行平台的相应硬件启动后,任务指令控制硬件逐步获取输入数据和权值数据做卷积运算,直到计算完成,得到中间结果。具体的,权值数据是在通用机器学习模型中已经训练完成的数据。在一个实施例中,中间结果临时空间的属性包括中间结果的属性,例如特征图的尺寸、占用的存储空间大小。具体的,根据中间结果临时空间的属性为中间结果申请合适的存储空间。
步骤S6300,对卷积运算结果进行激活,得到激活结果。
在一个实施例中,激活层6300选用sigmoid激活函数,对卷积结果做0~1之间的映射。具体的,通用机器学习模型已经根据图6所示的机器学习算法运行平台的硬件信息生成了相对应的任务指令。当机器学习算法运行平台的硬件启动后,任务指令控制相应硬件逐步获取输入数据和权值数据做激活运算。在其中一个实施例中,在执行本实施例中图片识别的机器学习算法运行平台缺少除法器,但sigmoid函数包含除法运算,则在硬件专用参数集中取用相应参数。在一个实施例中,硬件参数集中提前准备好需要除数的倒数。
在一个实施例中,在激活层6300进行激活运算时,由任务指令控制硬件获取进行激活运算的数据,以及在硬件专用参数集中获取参数数据。在一个实施例中,任务指令控制硬件进行卷积运算,直至卷积运算完成,得到输出数据。
步骤S6400,对激活结果进行输出预处理,得到最终图片。
在一个实施例中,输出预处理层6400根据图像预设的保存格式,对输出数据进行输出预处理操作。在一个实施例中,输出图片预设以jpg格式进行保存,则输出预处理根据输出图片的预设格式对输出图片的尺寸、压缩格式、数据格式等进行处理,得到最终图片。
可以理解的是,虽然图2、图4以及图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储通用机器学习模型数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种通用机器学习模型的生成方法和/或通用机器学习模型执行方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以上任一实施例所提供方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一实施例中所提供的方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (16)

1.一种通用机器学习模型的生成方法,其特征在于,应用于处理器,所述方法包括:
获取机器学习任务的任务参数;其中,所述任务参数包括算法控制参数和计算参数;
对所述算法控制参数进行编译,得到任务指令,对所述任务指令进行分类处理,得到任务指令堆数据;其中,所述任务指令为能够在多核平台中进行核间共享的数据;
对所述计算参数进行分类处理,得到模型参数,所述模型参数包括不能够在所述多核平台中进行核间共享的模型参数栈数据,以及能够在所述多核平台中进行核间共享的模型参数堆数据;
对所述任务指令堆数据和所述模型参数堆数据进行汇集得到堆数据,对所述模型参数栈数据进行汇集得到栈数据;其中,所述栈数据指在多核开发平台中不可核间共享的数据,所述堆数据指在所述多核开发平台中能够进行核间共享的数据;
将所述栈数据和所述堆数据进行整合,得到所述通用机器学习模型,所述通用机器学习模型可以被硬件直接执行而无需重复编译。
2.根据权利要求1所述的方法,其特征在于,所述对所述计算参数进行分类处理,得到模型参数的步骤包括:
对所述计算参数进行预处理,得到预处理模型数据;
根据所述计算参数获取硬件参数;
提取所述计算参数中的数据属性参数。
3.根据权利要求2所述的方法,其特征在于,所述模型参数堆数据包括模型参数静态数据和模型参数动态数据;
所述将所述栈数据和所述堆数据进行整合,得到通用机器学习模型的步骤包括:
将所述任务指令堆数据与所述模型参数静态数据进行打包整合,得到连续的静态数据块;
对所述模型参数动态数据进行打包整合,得到连续的动态数据块;
对所述模型参数栈数据进行打包整合,得到栈数据块;
对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行合并,得到所述通用机器学习模型。
4.根据权利要求3所述的方法,其特征在于,所述对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行合并,得到通用机器学习模型的步骤包括:
根据所述任务指令获取静态数据布局信息、动态数据布局信息以及栈数据布局信息;
根据所述静态数据布局信息对所述任务指令堆数据与所述模型参数静态数据进行打包整合,得到所述连续的静态数据块;
根据所述动态数据布局信息对所述模型参数动态数据进行打包整合,得到连续的动态数据块;
根据所述栈数据布局信息对所述模型参数栈数据进行打包整合,得到所述栈数据块;
对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行整合。
5.根据权利要求4所述的方法,其特征在于,所述提取所述计算参数中的数据属性参数的步骤包括:
获取所述计算参数的输入数据属性、输出数据属性及中间结果临时空间属性;
在所述输入数据属性中提取所述输入数据的数据量,并分配输入数据存储空间;
在所述输出数据属性中提取所述输出数据的数据量,并分配输出数据存储空间;
在所述中间结果临时空间属性中提取中间结果临时空间的数据量,并分配中间结果临时存储空间;
将所述输入数据存储空间及所述输出数据存储空间存储为所述堆数据,将所述中间结果临时存储空间存储为所述栈数据。
6.根据权利要求5所述的方法,其特征在于,所述根据所述栈数据布局信息对所述模型参数栈数据进行打包整合,得到所述栈数据块的步骤包括:
根据所述栈数据布局信息对所述模型参数栈数据、所述中间结果临时存储空间进行整合,得到所述栈数据块。
7.根据权利要求6所述的方法,其特征在于,所述根据所述计算参数获取硬件参数的步骤包括:
获取硬件平台信息以及硬件配置参数并存储为所述堆数据。
8.根据权利要求7所述的方法,其特征在于,所述根据所述静态数据布局信息对所述任务指令堆数据与所述模型参数静态数据进行打包整合,得到所述连续的静态数据块的步骤包括:
根据所述静态数据布局信息,对所述任务指令堆数据、所述模型参数堆数据、硬件平台信息以及硬件配置参数进行整合,得到所述连续的静态数据块。
9.根据权利要求5所述的方法,其特征在于,所述根据所述动态数据布局信息对所述模型参数动态数据进行打包整合,得到连续的动态数据块的步骤包括:
根据所述动态数据布局信息对所述输入数据存储空间以及所述输出数据存储空间进行整合,得到所述连续的动态数据块。
10.一种通用机器学习模型的生成装置,其特征在于,所述装置包括:
对外接口模块,用于获取机器学习任务的任务参数;其中,所述任务参数包括算法控制参数和计算参数;
任务指令生成模块,用于对所述算法控制参数进行编译,得到任务指令,对所述任务指令进行分类处理,得到任务指令堆数据;其中,所述任务指令为能够在多核平台中进行核间共享的数据;
模型参数生成模块,用于对所述计算参数进行分类处理,得到模型参数;所述模型参数包括不能够在所述多核平台中进行核间共享的模型参数栈数据,以及能够在所述多核平台中进行核间共享的模型参数堆数据;
参数汇集模块,用于对所述任务指令堆数据和所述模型参数堆数据进行汇集得到堆数据,对所述模型参数栈数据进行汇集得到栈数据;其中,所述栈数据指在多核开发平台中不可核间共享的数据,所述堆数据指在所述多核开发平台中能够进行核间共享的数据;
模型生成模块,用于将所述栈数据和所述堆数据进行整合,得到所述通用机器学习模型,所述通用机器学习模型可以被硬件直接执行而无需重复编译。
11.根据权利要求10所述的装置,其特征在于,所述模型参数生成模块包括:
模型参数静态数据生成模块,用于对静态的所述模型参数堆数据进行汇集,得到模型参数静态数据;
模型参数动态数据生成模块,用于对动态的所述模型参数堆数据进行汇集,得到模型参数动态数据。
12.根据权利要求10或11所述的装置,其特征在于,所述模型参数生成模块还包括:
预处理模块,用于对所述计算参数进行预处理,得到预处理模型数据;
硬件参数生成模块,用于根据所述计算参数获取硬件参数;
属性提取模块,用于提取所述计算参数中的数据属性参数。
13.根据权利要求12所述的装置,其特征在于,所述参数汇集模块包括:
栈数据汇集器,用于对所述模型参数栈数据进行打包整合,得到栈数据块;
模型参数动态数据汇集器,用于对所述模型参数动态数据进行打包整合,得到连续的动态数据块;
模型参数静态数据汇集器,用于将所述任务指令堆数据与所述模型参数静态数据进行打包整合,得到连续的静态数据块。
14.根据权利要求13所述的装置,其特征在于,所述模型生成模块用于对所述连续的静态数据块、所述连续的动态数据块以及栈数据块进行合并,得到所述通用机器学习模型。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
CN201810589390.9A 2018-06-08 2018-06-08 通用机器学习模型的生成方法、装置和存储介质 Active CN110580527B (zh)

Priority Applications (12)

Application Number Priority Date Filing Date Title
CN201810589390.9A CN110580527B (zh) 2018-06-08 2018-06-08 通用机器学习模型的生成方法、装置和存储介质
PCT/CN2019/085853 WO2019233231A1 (zh) 2018-06-08 2019-05-07 通用机器学习模型、模型文件的生成和解析方法
KR1020197029038A KR20210017985A (ko) 2018-06-08 2019-05-07 범용 기계학습 모델, 모델 파일의 생성 및 분석방법
JP2019554861A JP7386706B2 (ja) 2018-06-08 2019-05-07 汎用機械学習モデル、モデルファイルの生成および解析方法
EP19815956.8A EP3751477A4 (en) 2018-06-08 2019-05-07 GENERAL AUTOMATIC LEARNING MODEL, AND MODEL FILE PRODUCTION AND ANALYSIS METHOD
US16/975,082 US11334329B2 (en) 2018-06-08 2019-05-07 General machine learning model, and model file generation and parsing method
US17/130,370 US11334330B2 (en) 2018-06-08 2020-12-22 General machine learning model, and model file generation and parsing method
US17/130,300 US11379199B2 (en) 2018-06-08 2020-12-22 General machine learning model, and model file generation and parsing method
US17/130,469 US11036480B2 (en) 2018-06-08 2020-12-22 General machine learning model, and model file generation and parsing method
US17/130,348 US11307836B2 (en) 2018-06-08 2020-12-22 General machine learning model, and model file generation and parsing method
US17/130,393 US11403080B2 (en) 2018-06-08 2020-12-22 General machine learning model, and model file generation and parsing method
US17/849,650 US11726754B2 (en) 2018-06-08 2022-06-26 General machine learning model, and model file generation and parsing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810589390.9A CN110580527B (zh) 2018-06-08 2018-06-08 通用机器学习模型的生成方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN110580527A CN110580527A (zh) 2019-12-17
CN110580527B true CN110580527B (zh) 2022-12-02

Family

ID=68810035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810589390.9A Active CN110580527B (zh) 2018-06-08 2018-06-08 通用机器学习模型的生成方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN110580527B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254885A (zh) * 2020-02-13 2021-08-13 支付宝(杭州)信息技术有限公司 机器学习模型保护方法和设备
CN111580828B (zh) * 2020-04-30 2021-08-27 腾讯科技(深圳)有限公司 机器学习模型的编译优化方法和装置
WO2021225262A1 (en) * 2020-05-07 2021-11-11 Samsung Electronics Co., Ltd. Neural architecture search based optimized dnn model generation for execution of tasks in electronic device
CN112163677B (zh) * 2020-10-14 2023-09-19 杭州海康威视数字技术股份有限公司 应用机器学习模型的方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0676691A2 (en) * 1994-04-06 1995-10-11 Hewlett-Packard Company Apparatus for register saving and restoring in a digital computer
CN101833438A (zh) * 2010-04-19 2010-09-15 浙江大学 一种基于多重并行的数据通用处理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030055881A1 (en) * 2001-09-14 2003-03-20 Ngo Kim Cuc Method and apparatus for transmitting data over a network
US8566559B2 (en) * 2011-10-10 2013-10-22 Microsoft Corporation Runtime type identification of native heap allocations
US9069656B2 (en) * 2012-09-28 2015-06-30 Apple Inc. Obfuscating function resources while reducing stack consumption
US9912759B2 (en) * 2015-06-24 2018-03-06 International Business Machines Corporation Dynamically generating solution stacks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0676691A2 (en) * 1994-04-06 1995-10-11 Hewlett-Packard Company Apparatus for register saving and restoring in a digital computer
CN101833438A (zh) * 2010-04-19 2010-09-15 浙江大学 一种基于多重并行的数据通用处理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于不规则性的并行计算方法;杨鑫等;《浙江大学学报(工学版)》;20131115(第11期);全文 *
并行计算模型参数动态分析软件包设计;王向前等;《计算机工程》;20090520(第10期);全文 *

Also Published As

Publication number Publication date
CN110580527A (zh) 2019-12-17

Similar Documents

Publication Publication Date Title
CN110580527B (zh) 通用机器学习模型的生成方法、装置和存储介质
US10157045B2 (en) Systems and methods for automatically generating code for deep learning systems
US11074107B1 (en) Data processing system and method for managing AI solutions development lifecycle
CN110780914B (zh) 服务发布方法及装置
DE102020110688A1 (de) Hardware-agnostischer compiler für tiefgehende neuronale netze
WO2021233342A1 (zh) 一种神经网络构建方法以及系统
TWI798618B (zh) 記憶體分配方法、裝置、及電子設備
JP7386706B2 (ja) 汎用機械学習モデル、モデルファイルの生成および解析方法
EP3403221B1 (en) Systems and methods for automatically generating code for deep learning systems
CN107423823B (zh) 一种基于r语言的机器学习建模平台架构设计方法
WO2023093724A1 (zh) 神经网络模型的处理方法及装置
CN114008594A (zh) 调度计算图上的操作
CN110750298B (zh) 一种ai模型编译方法、设备及存储介质
CN110889497B (zh) 一种人工智能处理器的学习任务编译方法及相关产品
CN112465146A (zh) 一种量子与经典混合云平台以及任务执行方法
CN113515672A (zh) 数据处理方法、装置、计算机可读介质及电子设备
CN111860853A (zh) 在线预测系统、设备、方法及电子设备
CN115686527A (zh) 基于算子的编译方法、装置、计算机设备和存储介质
CN108985459A (zh) 训练模型的方法和装置
CN111459621A (zh) 云仿真集成与调度方法、装置、计算机设备和存储介质
CN110647996B (zh) 通用机器学习模型的执行方法、装置和存储介质
CN112099882A (zh) 一种业务处理方法、装置及设备
CN110008028B (zh) 计算资源分配方法、装置、计算机设备和存储介质
CN113792079A (zh) 数据查询方法、装置、计算机设备和存储介质
CN114997401B (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