CN111310934B - 一种模型生成方法、装置、电子设备和存储介质 - Google Patents

一种模型生成方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN111310934B
CN111310934B CN202010093240.6A CN202010093240A CN111310934B CN 111310934 B CN111310934 B CN 111310934B CN 202010093240 A CN202010093240 A CN 202010093240A CN 111310934 B CN111310934 B CN 111310934B
Authority
CN
China
Prior art keywords
model
training
data
user
module
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
CN202010093240.6A
Other languages
English (en)
Other versions
CN111310934A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010093240.6A priority Critical patent/CN111310934B/zh
Publication of CN111310934A publication Critical patent/CN111310934A/zh
Application granted granted Critical
Publication of CN111310934B publication Critical patent/CN111310934B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Abstract

本申请公开了一种模型生成方法、装置、电子设备和存储介质,涉及人工智能技术领域,尤其涉及深度学习技术领域。具体实现方案为:根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的数据;通过集成于当前应用的深度学习框架模块,基于数据进行模型训练;根据模型部署环境生成并输出训练后的模型对应的代码文件。本申请实施例通过集成深度学习框架的应用即可视化客户端,使得开发者只需在应用界面上进行操作以实现模型的训练,无需开发者了解程序开发、掌握深度学习框架程序的相关接口、参数调整方式细节,即可实现基于深度学习框架的模型训练,进而得到训练后模型的代码文件,从而提高了模型训练的效率,降低了工作量。

Description

一种模型生成方法、装置、电子设备和存储介质
技术领域
本申请实施例涉及互联网技术领域,尤其涉及人工智能技术领域,具体涉及了一种模型生成方法、装置、电子设备和存储介质。
背景技术
深度学习框架(Deep Learning Framework)是为深度学习开发者提供模型搭建、已有模型引用、模型再开发、训练、优化及预测等全流程功能开发的工具,其集成深度学习项目开发过程中可以复用的代码框架、模型结构,使开发者更专注于任务实现,减少冗余的底层代码开发。
当前深度学习框架都是以开源代码(python、C++等)的形式提供给开发者进行使用。开发者使用需要进行框架安装、了解程序开发(尤其是Python/C++)、掌握深度学习框架程序的相关接口(API)、参数调整方式细节,自己编写代码建立程序流程,同时查阅并修改大量模型文件使之适配项目,训练过程的参数变化趋势需要自己开发绘制成图形化界面图标形式呈现,整体门槛较高,工作量大。
发明内容
本申请实施例公开一种模型生成方法、装置、电子设备和介质,以达到基于可视化的方式进行模型生成,提高模型生成的效率,降低工作量的目的。
第一方面,本申请实施例公开了一种模型生成方法,包括:
根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的数据;
通过集成于当前应用的深度学习框架模块,基于所述数据进行模型训练;
根据模型部署环境生成并输出训练后的模型对应的代码文件。
上述申请中的一个实施例具有如下优点或有益效果:通过集成有深度学习框架的应用即可视化客户端,使得开发者只需在应用界面上进行操作以实现模型的训练,无需开发者了解程序开发、掌握深度学习框架程序的相关接口、参数调整方式细节,也无需自己编写代码建立程序流程,即可实现基于深度学习框架的模型训练,进而得到训练后模型的代码文件,从而提高了模型训练的效率,降低了工作量。
另外,根据本申请上述实施例的模型生成方法,还可以具有如下附加的技术特征:
可选的,在检测到作用于当前应用界面上的用户操作之前,所述方法还包括:
在当前应用的安装过程中,检测当前应用的运行环境;
根据检测结果确定待安装的深度学习框架模块的版本,下载并安装所述版本的深度学习框架模块。
上述申请中的一个实施例具有如下优点或有益效果:根据当前应用的运行环境,选择下载并安装最匹配的深度学习框架模块,以此保证深度学习框架模块在该运行环境下能够正常使用。
可选的,在基于所述数据进行模型训练之前,所述方法还包括:
根据检测到的作用于当前应用界面上的第二用户操作,确定模型训练时使用的硬件资源;
基于所述数据进行模型训练,包括:
基于所述硬件资源和所述数据进行模型训练。
上述申请中的一个实施例具有如下优点或有益效果:通过用户操作预先确定模型训练的所需的硬件资源,进而基于硬件资源和确定的数据进行模型训练,由此在保证硬件资源的基础上,可保证模型训练的效率。
可选的,所述模型训练所使用的数据包括:模型结构的类型数据;
相应的,根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用模型结构的类型数据,包括:
根据用户在当前应用界面输入或选择的训练任务类型,确定训练所使用的模型结构的类型数据;或者,
将用户在当前应用界面输入的模型结构的类型数据,或从展现的已有模型结构的类型数据中选择的模型结构的类型数据,确定为模型训练所使用模型结构的类型数据。
上述申请中的一个实施例具有如下优点或有益效果:在当前应用界面,用户可以根据输入或选择的任务类型,确定模型结构的类型数据,或者直接在应用界面中输入模型结构类型数据,由此只需在应用界面上进行操作,即可确定模型结构的类型,提升了确定模型结构的便捷性。
可选的,所述模型训练所使用的数据包括:参数取值;
相应的,根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的参数取值,包括:
将用户在当前应用界面上输入的参数取值或从展现的参数默认取值中选择的参数取值,确定为模型训练所使用的参数取值;
其中,所述参数取值包括模型参数的取值和/或训练参数的取值。
上述申请中的一个实施例具有如下优点或有益效果:在确定参数取值时,只需在当前应用界面输入数值或选择默认值即可,无需用户通过编写代码形式进行参数确定,提升了参数确定的便捷性,降低了工作量。
可选的,所述模型训练所使用的数据包括:训练数据集;
相应的,根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的训练数据集,包括:
获取已创建数据集的标识,将所述标识在当前应用界面上进行展现;
将用户在展现的标识中选择的标识所对应的数据集,确定为训练所使用的训练数据集;
其中,已创建数据集中包括至少一个样本数据对,各样本数据对包括样本数据和该样本数据对应的标注数据。
上述申请中的一个实施例具有如下优点或有益效果:在确定训练数据时,只需用户在当前应用界面进行选择即可,提升了获取训练数据的便捷性和效率。
可选的,所述方法还包括:
获取原始数据集;
通过数据标注模块,基于用户的标注操作生成所述原始数据集中样本数据对应的标注数据;
根据原始数据集中的样本数据和所述样本数据对应的标注数据,生成已创建数据集并进行保存。
上述申请中的一个实施例具有如下优点或有益效果:可通过当前应用获取原始数据集,并对其中的样本数据进行标记,以得到训练数据,也即用户只需通过在应用界面上对原始数据集中的样本数据进行标注,即可得到训练数据,提升了得到训练数据的便利性。
可选的,在基于用户的标注操作生成所述原始数据集中样本数据对应的标注数据之后、根据原始数据集中的样本数据和所述样本数据对应的标注数据,生成已创建数据集并进行保存之前,所述方法还包括以下至少一项:
对所述标注数据进行校验,以根据校验结果提示用户对所述标注数据进行编辑;
生成并展示包含所述样本数据和/或所述样本数据对应的标记数据的预览页面,以使用户对预览页面中的数据进行编辑;
对所述样本数据及所述样本数据对应的标记数据进行分析,输出分析结果;
将多个样本数据对进行划分,以划分为训练数据集、验证数据集和测试数据集。
上述申请中的一个实施例具有如下优点或有益效果:通过对标注数据进行验证,确保标注的准确性;通过预览页面中的数据进行编辑,可实现对标注数据的修改;通过对数据进行划分,得到训练数据集、验证数据集和测试数据集,以便基于切分后的数据对模型进行训练、验证和测试。而且上述操作均是在应用界面上完成,提升了用户处理数据的便捷性。
可选的,在基于所述数据进行模型训练之前,所述方法还包括:
根据作用于当前应用界面的第三用户操作,确定数据增强策略;
通过数据增强模块,基于所述数据增强策略和所述训练数据集生成新的训练数据集,并将新的训练数据集作为训练时使用的训练数据集。
上述申请中的一个实施例具有如下优点或有益效果:用户通过在应用界面上操作,即可选择数据增强策略,进而基于选择的数据增强策略生成新样本,由此可简单快捷的丰富样本数据,进而可保证模型训练的精度。
可选的,所述模型训练所使用的数据包括:预训练模型;
相应的,根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的预训练模型,包括:
根据用户在当前应用界面选择的预训练模型的标识,确定训练所使用的预训练模型;
其中,所述预训练模型是指已经应用部分训练数据集对已有模型结构进行训练所得到的模型。
上述申请中的一个实施例具有如下优点或有益效果:通过在应用界面上操作即可选择是否使用预训练模型及具体使用哪个已有的预训练模型,由于预训练模型是指已经应用部分数据集对已有模型结构进行训练所得到的模型,进而基于选择的预训练模型进行模型训练操作时,减少训练的工作量,可提升模型训练的效率。
可选的,根据用户在当前应用界面选择的预训练模型的标识,确定训练所使用的预训练模型,包括:
通过迁移学习工具模块,获取已有的预训练模型的标识;
将获取的各预训练模型的标识进行展现;
检测用户在展现界面中对预训练模型的标识的选择操作,根据检测结果确定训练所使用的预训练模型。
上述申请中的一个实施例具有如下优点或有益效果:通过迁移工具获取已有的预训练模型的标识,进而从中选择预训练模型,由此可以保证用户只需在应用界面上进行简单选择操作,即可选择需要的预训练模型,保证了用户操作的便捷性。
可选的,所述方法还包括:
将模型训练的过程中模型参数的变化情况,进行可视化展示,以使用户基于所述变化情况重新选择模型训练所使用的数据,并基于重新选择的数据重新进行模型训练。
上述申请中的一个实施例具有如下优点或有益效果:将模型训练的过程中模型参数的变化情况,进行可视化展示,可以保证用户了解模型训练的详细过程。
可选的,所述方法还包括:
在模型训练结束后,基于验证数据集对训练完成的模型进行评估,并将评估结果进行可视化展示,以使用户基于所述评估结果重新选择模型训练所使用的数据,并基于重新选择的数据重新进行模型训练。
上述申请中的一个实施例具有如下优点或有益效果:基于验证数据集对训练完成的模型进行评估,并将评估结果进行可视化展示,可以保证用户可以直观的了解到训练后的模型的精度。
可选的,在根据模型部署环境生成并输出训练后的模型对应的源代码之前,所述方法还包括:
通过模型处理模块,对训练完成的模型执行剪裁、量化、蒸馏、压缩和预测速度优化中的至少一项操作。
上述申请中的一个实施例具有如下优点或有益效果:通过对模型进行剪裁、量化、蒸馏、压缩或预测速度优化处理,以使模型在不降低精度的情况下,降低对硬件资源的要求。
可选的,根据模型部署环境生成并输出训练后的模型对应的源代码,包括:
通过部署集成模块,基于用户选择的模型部署环境生成并输出训练后的模型对应的代码文件;
其中,所述模型部署环境包括:本地SDK、服务端、移动端、或边缘端。
上述申请中的一个实施例具有如下优点或有益效果:根据部署环境输出对应的代码文件,由此实现了模型的多端发布功能。
第二方面,本申请实施例公开了一种模型生成装置,包括:
数据处理与配置模块,用于根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的数据;
深度学习框架模块,用于基于所述数据进行模型训练;
部署集成模块,用于根据模型部署环境生成并输出训练后的模型对应的代码文件。
第三方面,本申请实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任意实施例所述的模型生成方法。
第四方面,本本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请任意实施例所述的模型生成方法。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1a是根据本申请实施例的可视化开发客户端的功能设计的示意图;
图1b是根据本申请实施例的用户使用可视化开发客户端的流程图;
图2a是根据本申请实施例的模型生成方法的流程示意图;
图2b是根据本申请实施例的当前应用界面的示意图;
图3是根据本申请实施例的模型生成方法的流程示意图;
图4是本申请实施例提供的训练数据标注方法的流程示意图;
图5是本申请实施例提供的模型生成方法的流程示意图;
图6是本申请实施例提供的模型生成方法的具体流程图;
图7是根据本申请实施例的模型生成装置的结构示意图;
图8是用来实现本申请实施例的模型生成方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前,深度学习项目开发有以下几种方式:
(1)程序语言直接开发:即使用程序开发语言,从头开始直接构建深度学习网络,配置数据传入、学习率、训练轮次、损失函数等模块,并整合到整个程序逻辑中去进行实现。然而这种方式开发成本极大,需要了解非常底层的(汇编层面)开发能力。实现时间长、难度大。
(2)框架类:即使用程序开发语言调用已经编写好的数据读取接口、已经搭建好的模型网络,针对自己的业务需求配置网络训练的参数(损失函数、学习率等),得到训练好的模型及参数,通过预测框架发布成为业务中进行应用的模块,并部署到需要的硬件芯片上。然而这种方式虽然相较直接开发成本小,但仍需要了解较多程序语言开发、深度学习基础知识原理,并需要用程序语言的形式完成业务实现,例如数据读取、接口调用、模型参数配置、模型调优、模型发布等。
(3)平台类:即训练过程在云端(远程服务器)完成,用户需要进行数据上传,完成训练及发布。这种方式必须将数据进行上传置公有云,一般集成多个框架,且没有配备针对数据处理、模型优化工具或功能,实用性差。
(4)软件类:以PC客户端软件的形式,提供给用户特定领域任务实现的工具。例如国外的Halcon,国内阿丘科技的Audi,为用户提供工业视觉检测任务的实现工具。然而这种方式较为封闭,针对某些特定领域及环境,不能针对模型层面进行调整,仅针对任务及场景。而且模型不可见,不可导出,也不可再开发及复用。
针对上述的深度学习项目开发方式存在的不足,为了降低开发者使用门槛,实现快速训练及部署等全流程,发明人创造性的开发一种高度集成深度学习项目开发所有环节的可视化开发客户端。
参见图1a,其示出了可视化开发客户端的底层功能设计的示意图,该客户端是基于深度学习框架模块实现的,该客户端可应用于如下场景,例如,工业质检、生产运维、安防检测、农业地块识别、设计生产等。该客户端还提供了开发深度学习项目的全流程,示例性的包括:数据处理、超参配置、模型训练、模型评估及调优、多端发布部署。针对每个流程都设置有对应的功能模块,例如针对数据处理流程,设置有数据标注模块、数据增强模块,通过数据标注模块可以实现数据标注,可通过数据增强模块来丰富数据,除此之外,进行数据处理和配置时还可进行数据校验、数据集自动切分、数据预览与操作、数据分析、数据删除等操作。针对参数配置、模型训练和模型评估及调优流程,该客户端还设置有预训练模块、迁移学习工具模块、模型处理模块等功能模块,除此在这三个流程中该客户端应用软件还可以实现模型预置、模型训练参数配置、训练优化策略选择、模型训练过程参数可视化呈现、模型评估、模型自动优化等。针对多端部署流程,客户端还提供了部署集成模块,实现多端发布的功能,例如部署在本地SDK、服务端、移动端、或边缘端,而且在模型发布前,还提供了模型测试的功能,只有通过测试的模型才能基于部署集成模块进行发布。参见图1b,其示出了用户使用该可视化开发客户端的流程图,安装并启动该客户端应用后,通过数据标注模块对数据进行标注,得到数据集,并利用数据增强模块对数据集中的数据进行增强处理,进而基于深度学习框架训练模型,并将训练好的模型通过部署集成模块进行发布部署。而且训练模型时,还可通过迁移学习工具模块,从基于预训练模块训练得到的预训练模型中选择一个进行训练,针对训练好的模型,在发布前还可进行模型测试、以及进行对模型进行量化、剪裁、压缩。在此需要说明的是,客户端提供的各个功能模块均可拆开单独使用,或由用户自由组合,被集成到二次开发产品中去。除此之外,客户端还提供了项目开发管理的功能,包括项目管理(例如查看历史项目、新建项目等)、训练任务管理(例如查看任务详情、删除、终止或继续任务等)、模型管理(例如新建模型、模型状态查看、复制、删除或编辑模型等)、开发环境及版本管理。
由于该可视化开发客户端是基于深度学习框架模块实现的,在客户端安装过程中,首先检测客户端的运行环境,并且尽量使用户在无感知的情况下,根据检测结果确定待安装的深度学习框架模块的版本,下载并安装所述版本的深度学习框架模块,同时安装模型生产所需要的相关驱动及依赖库。在此需要说明的是,在可视化开发客户端安装成功后,在客户端的前端界面上会展示各种控件或按钮,用以实现不同功能模块的对应的功能,例如提供一个数据预览按钮,用户通过点击该按钮可以实现数据预览功能。在按正确安装上述可视化开发客户端后,可实现以可视化的形式进行深度学习模型全流程开发,屏蔽了模型开发过程中其他不重要但极容易导致出错的模块,并针对不同任务模型的默认参数建议,由此可实施本申请任一实施例提供的模型生成方法。
图2a是本申请实施例的模型生成方法的流程示意图,本实施例可适用于利用深度学习技术实现的任务场景,例如图像识别、语音识别、自然语言处理、推荐等。该方法可由一种模型生成装置来执行,该装置采用软件和/或硬件的方式实现,优选是配置于电子设备中,例如服务器或计算机设备。如图2a所示,该方法具体包括如下:
S101、根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的数据。
其中,所述当前应用界面是指上述可视化开发客户端安装完成后,展示给用户的前端应用界面,第一用户操作是指用户确定模型训练所使用数据的所有操作,可选的为选择操作(例如单击或双击),也可以为用户输入操作。训练模型所用的数据至少包括模型结构的类型数据,参数取值、以及训练数据集,因此确定模型训练所使用的数据的过程如下:
在模型训练所使用的数据为模型结构的类型数据时,第一用户操作为用户在当前应用界面上的输入操作,则根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用模型结构的类型数据的操作,包括:
S01.根据用户在当前应用界面输入或选择的训练任务类型,确定训练所使用的模型结构的类型数据。
S02.将用户在当前应用界面输入的模型结构的类型数据,或从展现的已有模型结构的类型数据中选择的模型结构的类型数据,确定为模型训练所使用模型结构的类型数据。
其中,训练任务类型是根据具体创建的项目确定的,在用户创建一个项目后,可以人工输入任务类型或从应用界面提供的任务类型中选择,训练任务类型可以为分类、检测或分割。由于不同的训练任务类型需要的不同的模型结构,例如检测任务需要的模型结构可以为YOLOv3,而这种对应关系是作为模型的默认参数预先保存的,因此,在检测到用户输入或选择训练任务类型后,当前应用自动为用户输入或选择的训练任务类型匹配模型结构的类型数据。在另一种可选的实施方式中,用户还可以自己直接在应用界面上手动输入模型结构的类型数据,或将用户从应用界面上展现的已有模型结构的类型数据中选择的模型结构的类型数据,确定为模型训练所使用模型结构的类型数据。
在所述模型训练所使用的数据为参数取值时,第一用户操作为用户在当前应用界面上的输入操作或选择操作,则根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的参数取值操作,包括:
S11.将用户在当前应用界面上输入的参数取值或从展现的参数默认取值中选择的参数取值,确定为模型训练所使用的参数取值。
其中,所述参数取值包括模型参数的取值和/或训练参数的取值,模型参数示例性的包括模型输入的大小、图像均值、图像方差,训练参数示例性的包括迭代轮数、初始学习率、批大小、学习率衰减轮数。由于应用界面上会提供各个参数,且每个参数后各自带有一个输入框,用户可以直接在每个参数后的输入框中输入参数取值。在另一种可选的实施方式中,由于每个参数均设置有默认取值,因此还可以从参数的默认取值中选择的参数取值。示例性的,参见图2b,其示出了应用界面的一种示意图,用户可从当前应用界面上的各个参数后的输入框中,直接输入参数取值,还可以点击输入框中的三角下拉标识,进而从展现的默认参数取值中选择参数取值。在确定完模型参数取值后,还可以选择模型的网络骨架,以便后续训练。
在所述模型训练所使用的数据为训练数据集时,第一用户操作为选择操作,则根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的训练数据集的操作,包括:
S21.获取已创建数据集的标识,将所述标识在当前应用界面上进行展现。
S22.将用户在展现的标识中选择的标识所对应的数据集,确定为训练所使用的训练数据集。
其中,已创建数据集中包括至少一个样本数据对,各样本数据对包括样本数据和该样本数据对应的标注数据,而标注数据示例性的为标签或图像中的选择框。每个已创建数据集都有唯一的标识,应用会将各个标识在当前应用界面上进行展现,例如通过下拉菜单的方式展现。用户可以从中选择需要的数据集,例如通过单击或双击数据集的标识来选择。
S102、通过集成于当前应用的深度学习框架模块,基于所述数据进行模型训练。
可选的,在确定训练模型所用的数据后,在基于所述数据进行模型训练之前,用户可以通过人工选择的方式确定模型训练所用的硬件资源,例如确定使用的CPU、GPU等。进一步的,在当前应用界面上提供有硬件资源选择的控件,用户通过第二用户操作(例如单击)选择所要使用的硬件资源,也即应用软件会根据检测到的作用于当前应用界面上的第二用户操作,确定模型训练时使用的硬件资源。进而可以通过集成于当前应用的深度学习框架模块,基于硬件资源和确定的数据进行模型训练。在一种可选的实施方式中,应用界面还会设置模型训练开始按钮,用户在选择完硬件资源和训练模型所用数据后,只需点击开始按钮即可进行模型训练。
S103、根据模型部署环境生成并输出训练后的模型对应的代码文件。
通过S102完成模型训练并且验证通过后,可将模型对应的代码文件输出。进一步的,为了保证输出的代码文件可以部署在指定环境中,可根据模型部署环境生成并输出训练后的模型对应的代码文件,其中,模型部署环境包括本地SDK、服务端、、移动端、或边缘端,所述边缘端是指不能移动的边缘设备,例如摄像头,代码文件包括训练后的模型结构和模型参数文件,以及模型在不同平台上部署预测时所依赖的编译库等文件。由于可视化开发客户端提供了部署集成模块,因此通过部署集成模块,基于用户选择的模型部署环境生成并输出训练后的模型对应的代码文件。而在具体实现时,客户端完成安装后,部署集成模块会在该应用的前端界面显示各个部署环境对应的控件或按钮,用户只需选择其需要的部署环境对应的控件或按钮,应用即可按照用户选择的部署环境生成并输出模型对应的代码文件。而针对训练好的模型,用户可通过调用预测库的API接口,实现对训练好模型的使用。
本申请实施例中,通过集成深度学习框架的应用即可视化客户端,使得开发者只需在应用界面上进行操作以实现模型的训练,无需开发者了解程序开发、掌握深度学习框架程序的相关接口、参数调整方式细节,也无需自己编写代码建立程序流程,即可实现基于深度学习框架的模型训练,进而得到训练后模型的代码文件,从而提高了模型训练的效率,降低了工作量
图3是本申请实施例提供的模型生成方法的流程示意图,本实施例是在上述实施例的基础上进行优化,参见图3,该方法具体包括:
S201、根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的预训练模型和训练集数据。
其中,所述预训练模型是指已经应用部分训练数据集对已有模型结构进行训练所得到的模型,该模型包括代码文件,也即包括训练后的模型结构和模型参数文件,以及模型在不同平台上部署预测时所依赖的编译库等文件。预训练模型是基于客户端的预训练模块训练得到的。由于预训练模型是预先经过训练但尚未达到实际应用效果的模型,因此,在选择预训练模型的基础上利用训练集数据再进行模型训练,可显著提升模型训练的效率。
在一种可选的实施方式中,根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的预训练模型的操作,包括:根据用户在当前应用界面选择的预训练模型的标识,确定训练所使用的预训练模型。具体的,应用提供了学习迁移工具模块,因此可通过迁移学习工具模块,获取已有的预训练模型的标识,例如名称图标;将获取的各预训练模型的标识进行展现,例如以菜单的方式进行展现;并在检测用户在展现界面中对预训练模型的标识的选择操作(例如点击某一预训练模型的标识),根据检测结果确定训练所使用的预训练模型。
而确定训练集数据的过程参见上述实施例,在此不再赘述。除此之外,本申请实施例中,在确定模型训练所使用的预训练模型的前后分别包括确定模型结构的类型数据和确定参数取值。
S202、通过集成于当前应用的深度学习框架模块,基于预训练模型和训练集数据进行模型训练。
将训练集数据作为输入,不断输入到预训练模型中,以完成对预训练模型的训练。
S203、根据模型部署环境生成并输出训练后的模型对应的代码文件。
本申请实施例中,基于选择的预训练模型和训练数据集来训练模型,由于预训练模型是已被训练过且未被训练完成的模型,在此基础上继续训练,可降低训练的工作量,提升模型训练的效率。
图4是本申请实施例提供的训练数据标注方法的流程示意图,本实施例是在上述实施例的基础上进行优化,参见图4,该方法包括:
S301、获取原始数据集。
在应用界面上提供有创建数据集的控件,在用户触发该控件后即可执行获取原始数据集的操作,可选的,通过触发下载按钮以下载公开数据集和/或将本地的私有数据集进行导入,在选择导入私有数据集时,还需填写基本信息,选择训练任务的方向以及选择导入路径。
S302、通过数据标注模块,基于用户的标注操作生成所述原始数据集中样本数据对应的标注数据。
其中数据标注模块是用于实现标注数据功能的模块,基于该模块可实现样本数据的生成,且该数据标注模块在应用前端界面上提供了执行标注操作的多个控件,用户通过操作对应的控件对数据执行标注操作,应用会基于用户的标注操作生成与原始数据集中样本数据对应的标注数据,其中标注数据可以为标签、选择框等。
S303、根据原始数据集中的样本数据和所述样本数据对应的标注数据,生成已创建数据集并进行保存。
可选的,在根据原始数据集中的样本数据和所述样本数据对应的标注数据,生成已创建的数据集并进行保存之前,还需执行S31-S34中的至少一个步骤:
S31.对所述标注数据进行校验,以根据校验结果提示用户对所述标注数据进行编辑。
通过对标注数据进行校验,如果校验结果中存在因漏掉未标注的数据或标注明显错误的数据,则提醒用户根据校验结果对标注数据进行编辑,例如重新标注、调整或删除,由此可以保证数据标注的准确性,进而保证数据集的质量。
S32.生成并展示包含所述样本数据和/或所述样本数据对应的标记数据的预览页面,以使用户对预览页面中的数据进行编辑。
在应用界面上提供了预览控件,用户可通过点击该控件即可生成并展示包含所述样本数据和/或所述样本数据对应的标记数据的预览页面,用户可以在预览界面上对数据进行编辑,例如对所述样本数据和/或所述样本数据对应的标记数据,进行删除操作和/或复制操作。
S33.将多个样本数据对进行划分,以划分为训练数据集、验证数据集和测试数据集。
可选的,在对样本数据进行划分时,可根据用户输入的切分比例进行切分,以得到训练数据集、验证数据集和测试数据集,示例性的,以8:1:1的比例进行划分,也即以样本数据的80%作为训练数据集,样本数据的10%作为验证数据集,样本数据的10%作为测试数据集。其中,训练数据集用作模型训练,验证数据集可用于调整模型参数和对模型的能力进行初步评估,测试数据集可用于评估最终模型泛化能力,模型测试在模型发布后执行。
S34.对所述样本数据及所述样本数据对应的标记数据进行分析,输出分析结果。
其中分析结果包括但不限于数据总数量、各类标签数量、数据集切分情况等,将分析结果输出后,可以使用户详细了解数据集的组成。
进一步的,为了保证训练数据集的丰富,应用的数据增强模块在应用的前端界面上提供了多种数据增强策略的标识以供用户选择,并根据用户选的增强策略对训练数据进行处理得到新的训练数据集,并将所述新的训练数据集作为训练时使用的训练数据集。具体的,应用会根据作用于当前应用界面的第三用户操作,确定数据增强策略,其中,第三用户操作是指选择数据增强策略的操作,例如点击操作,数据增强策略包括翻转、旋转、裁剪、缩放,平移等;通过数据增强模块,基于所述数据增强策略和所述样本数据集生成新的样本数据集,并将新的样本数据集作为训练时使用的样本数据集。也即通过选择的数据增强策略,对样本数据处理,得到大量的样本数据。在此需要说明的是,通过数据增强策略增加数据后,可以保证后续利用该数据训练模型时可提升模型的泛化能力。
通过上述操作后,在生成已创建数据集并进行保存,在此需要说明的是,每创建一个数据集都对应的创建一个标识,以便后续用户根据数据集的标识来选择需要的数据集。
本实施例中,通过数据标注模块和数据增强模块完成数据集的创建,进而可以从创建的数据集中选择数据进行模型训练。
图5是本申请实施例提供的模型生成方法的流程示意图,本实施例是在上述实施例的基础上进行优化,参见图5,该方法包括:
S401、根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的数据。
S402、通过集成于当前应用的深度学习框架模块,基于所述数据进行模型训练。
S403、将模型训练的过程中模型参数的变化情况,进行可视化展示,以使用户基于所述变化情况重新选择模型训练所使用的数据,并基于重新选择的数据重新进行模型训练。
可选的,将模型训练的过程中模型参数的变化情况以曲线或图表的形式进行展现,用户可以根据模型参数变化来监视模型训练的整个过程。示例性的,如果发现模型参数变化不理想,分析可能是训练样本选的不好,则可以重新选择模型训练所使用的样本数据,并基于重新选择的数据重新进行模型训练,以保证最终模型的精度。
S404、在模型训练结束后,基于验证数据集对训练完成的模型进行评估,并将评估结果进行可视化展示,以使用户基于所述评估结果重新选择模型训练所使用的数据,并基于重新选择的数据重新进行模型训练。
示例性的,可以采用评估报告(参数表格)的形式展示评估结果,如果根据评估结果确定模型精度不足,则需要重新选择模型训练所使用的数据,并基于重新选择的数据重新进行模型训练,以提升模型的精度。
S405、根据模型部署环境生成并输出训练后的模型对应的代码文件。
为了保证部署环境的硬件的计算速度可以满足复杂网络的需求,以及对高效率模型的需求,在输出训练后的模型对应的源代码之前,通过模型处理模块,对训练完成的模型执行剪裁、量化、蒸馏、压缩和预测速度优化中的至少一项操作,以去除模型中冗余的参数。其中,剪裁是将模型中权重小于一定阈值的权重直接抛弃;量化是将接近的值变成一个数;蒸馏是利用预训练好的网络(通常结构较复杂,准确率较高),来指导新建的小网络的训练,并使小网络达到与复杂网络相近的准确率,最后利用小网络处理任务;预测速度优化可选的通过算子融合或加载TensorRT(推理优化器)来进行。
本申请实施例中,通过对模型训练和验证过程进行可视化处理,使用户充分了解模型生成的过程,而且在生成并输出模型的代码文件前,通过模型执行剪裁、量化、蒸馏、压缩或预测速度优化,以使模型在不掉精度的情况下,降低对硬件资源的要求。
图6是本申请实施例提供的模型生成方法的具体流程图,其示出了从项目建立到模型生成的完整过程,参见图6,在安装完可视化开发客户端并进入应用软件首页后,首先创建新的项目,例如通过项目管理主界面上的“新建项目”控件来创建,填写项目的基本信息,例如填写项目的名称、时间,项目ID等,进而选择任务类型(例如分类、检测或分割),示例性的,新建项目名为“华东质检小目标检测”,其任务类型为“目标检测”。根据任务类型选择数据集,并显示当前数据集的切分(即显示训练数据集、验证数据集、测试数据集),进而新建训练模型,并进行如下超参数配置:例如分别进行模型参数配置、模型骨架网络(backbone)选择、训练参数配置、预处理模型的选择、优化策略的选择(例如数据增强策略的选择)、训练资源选择(例如CPU/GPU)。参数配置完成后,基于训练集数据启动训练,并将训练加载到任务清单,在训练过程中进行可视化,即实现可视化训练过程查看,也即是在应用界面上返回相应模块的调整:数据、模型、参数,训练完成后保存模型。进而通过验证集数据对模型进行可视化评估,评估完成后,进行模型部署。在模型部署时,首先选择部署环境,例如本地SDK及其CPU与GPU的选择、移动端的选择、服务端及其CPU与GPU的选择,在确定部署环境后,对模型进行压缩,例如通过量化、剪裁或蒸馏等方式进行,进而对压缩后的模型进行预测速度优化,例如开启TensorRT(推理优化器)或进行算子融合。最后将优化后的模型发布,并生成代码文件。如此展示了一个项目创建到模型生成的整体流程。
进一步的,可视化开发客户端安装成功后,该应用还提供了项目管理主界面,在该主界面上可以从“我的项目”的列表中,查看每个项目的详情或删除某个项目,而且还可以通过“新建项目”控件来新建项目。除此之外,在应用界面上还可以查看模型清单以及模型状态,其中模型清单记录了以保存的模型。而且为了用户可以快速熟悉使用该应用,应用界面还提供使用教程,以供用户学习。
图7是本申请实施例的模型生成装置的结构示意图,本实施例可适用于利用深度学习技术实现的任务场景,例如图像识别、语音识别、自然语言处理、推荐等。该装置可实现本申请任意实施例所述的模型生成方法。
该装置500具体包括如下:
数据处理与配置模块501,用于根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的数据;
深度学习框架模块502,用于基于所述数据进行模型训练;
部署集成模块503,用于根据模型部署环境生成并输出训练后的模型对应的代码文件。
可选的,所述装置还包括:
环境检测模块,用于在当前应用的安装过程中,检测当前应用的运行环境;
下载模块,用于根据检测结果确定待安装的深度学习框架模块的版本,下载并安装所述版本的深度学习框架模块。
可选的,所述装置还包括:
硬件资源确定模块,用于根据检测到的作用于当前应用界面上的第二用户操作,确定模型训练时使用的硬件资源;
所述深度学习框架模块具体用于:
基于所述硬件资源和所述数据进行模型训练。
可选的,所述模型训练所使用的数据包括:模型结构的类型数据;
相应的,所述装置还包括模型预置模块,具体用于:
根据用户在当前应用界面输入或选择的训练任务类型,确定训练所使用的模型结构的类型数据;或者,
将用户在当前应用界面输入的模型结构的类型数据,或从展现的已有模型结构的类型数据中选择的模型结构的类型数据,确定为模型训练所使用模型结构的类型数据。
可选的,所述模型训练所使用的数据包括:参数取值;
相应的,所述装置包括参数配置可视化模块和推荐默认参数配置模块;
参数配置可视化模块,用于将用户在当前应用界面上输入的参数取值,确定为模型训练所使用的参数取值;
推荐默认参数配置模块,用于将用户从展现的参数默认取值中选择的参数取值,确定为模型训练所使用的参数取值;
其中,所述参数取值包括模型参数的取值和/或训练参数的取值。
可选的,所述模型训练所使用的数据包括:训练数据集;
相应的,所述数据处理与配置模块还包括:
获取展现单元,用于获取已创建数据集的标识,将所述标识在当前应用界面上进行展现;
数据集确定单元,用于将用户在展现的标识中选择的标识所对应的数据集,确定为训练所使用的训练数据集;
其中,已创建数据集中包括至少一个样本数据对,各样本数据对包括样本数据和该样本数据对应的标注数据。
可选的,所述装置还包括数据标注模块,所述数据标注模块具体用于:
获取原始数据集;
基于用户的标注操作生成所述原始数据集中样本数据对应的标注数据;
根据所述原始数据集中的样本数据和所述样本数据对应的标注数据,生成已创建的数据集并进行保存。
可选的,所述装置还包括:
自动数据校验模块,用于对所述标注数据进行校验,以根据校验结果提示用户对所述标注数据进行编辑;
数据预览与操作模块,用于生成并展示包含所述样本数据和/或所述样本数据对应的标记数据的预览页面,以使用户对预览页面中的数据进行编辑;
数据分析模块,用于对所述样本数据及所述样本数据对应的标记数据进行分析,输出分析结果;
数据集自动切分模块,用于将多个样本数据对进行划分,以划分为训练数据集、验证数据集和测试数据集。
可选的,所述装置还包括数据增强模块,用于:
根据作用于当前应用界面的第三用户操作,确定数据增强策略;
基于所述数据增强策略和所述训练数据集生成新的训练数据集,并将新的训练数据集作为训练时使用的训练数据集。
可选的,所述模型训练所使用的数据包括:预训练模型;
相应的,所述装置还包括迁移学习工具模块,用于:
根据用户在当前应用界面选择的预训练模型的标识,确定训练所使用的预训练模型;
其中,所述预训练模型是指已经应用部分训练数据集对已有模型结构进行训练所得到的模型。
可选的,所述迁移学习工具模块具体用于:
获取已有的预训练模型的标识;
将获取的各预训练模型的标识进行展现;
检测用户在展现界面中对预训练模型的标识的选择操作,根据检测结果确定训练所使用的预训练模型。
可选的,所述装置还包括:
训练进度可视化模块,用于将模型训练的过程中模型参数的变化情况,进行可视化展示,以使用户基于所述变化情况重新选择模型训练所使用的数据,并基于重新选择的数据重新进行模型训练。
可选的,所述装置还包括:
模型评估模块,用于在模型训练结束后,基于验证数据集对训练完成的模型进行评估,并将评估结果进行可视化展示,以使用户基于所述评估结果重新选择模型训练所使用的数据,并基于重新选择的数据重新进行模型训练。
可选的,所述装置还包括:
模型处理模块,用于对训练完成的模型执行剪裁、量化、蒸馏、压缩和预测速度优化中的至少一项操作。
可选的,所述部署集成模块具体用于:
基于用户选择的模型部署环境生成并输出训练后的模型对应的代码文件;
其中,模型部署环境包括:本地SDK、服务端、移动端、或边缘端。
本申请实施例所提供的模型生成装置可执行本申请任意实施例所提供的模型生成方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图8所示,是根据本申请实施例的模型生成方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的模型生成方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的模型生成方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的模型生成方法对应的程序指令/模块(例如,附图7所示的数据处理与配置模块501、深度学习框架模块502、部署集成模块503)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的模型生成方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实现模型生成方法的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至实现模型生成方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现模型生成方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与实现模型生成方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链联网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过集成深度学习框架模块的应用即可视化客户端,使得开发者只需在客户端界面上进行操作以实现模型的训练,无需开发者了解程序开发、掌握深度学习框架程序的相关接口、参数调整方式细节,也无需自己编写代码建立程序流程,即可实现基于深度学习框架的模型训练,进而得到训练后模型的代码文件,从而提高了模型训练的效率,降低了工作量。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (26)

1.一种模型生成方法,其特征在于,包括:
根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的数据;
通过集成于当前应用的深度学习框架模块,基于所述数据进行模型训练;其中,所述当前应用界面是指可视化开发客户端安装完成后,展示给用户的前端应用界面;所述可视化开发客户端用于实现包括数据处理、超参配置、模型训练、模型评估及调优和多端发布部署流程的深度学习项目的开发;
根据模型部署环境生成并输出训练后的模型对应的代码文件;其中,所述模型部署环境包括:本地SDK、服务端、移动端、或边缘端;
在根据模型部署环境生成并输出训练后的模型对应的源代码之前,所述方法还包括:
通过所述可视化开发客户端中设置的模型处理模块,对训练完成的模型执行剪裁、量化、蒸馏、压缩和预测速度优化中的至少一项操作;
其中,所述模型训练所使用的数据包括:模型结构的类型数据、预训练模型;
相应的,根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的预训练模型,包括:
根据用户在当前应用界面选择的预训练模型的标识,确定训练所使用的预训练模型;其中,所述预训练模型是指已经应用部分训练数据集对已有结构进行训练所得到的模型,包括预训练后的模型结构和模型参数文件,以及模型在不同平台上部署预测时所依赖的编译库文件;
根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用模型结构的类型数据,包括:
根据用户在当前应用界面输入或选择的训练任务类型,确定训练所使用的模型结构的类型数据;或者,
将用户在当前应用界面输入的模型结构的类型数据,或从展现的已有模型结构的类型数据中选择的模型结构的类型数据,确定为模型训练所使用模型结构的类型数据。
2.根据权利要求1所述的方法,其特征在于,在检测到作用于当前应用界面上的用户操作之前,所述方法还包括:
在当前应用的安装过程中,检测当前应用的运行环境;
根据检测结果确定待安装的深度学习框架模块的版本,下载并安装所述版本的深度学习框架模块。
3.根据权利要求1所述的方法,其特征在于,在基于所述数据进行模型训练之前,所述方法还包括:
根据检测到的作用于当前应用界面上的第二用户操作,确定模型训练时使用的硬件资源;
基于所述数据进行模型训练,包括:
基于所述硬件资源和所述数据进行模型训练。
4.根据权利要求1所述的方法,其特征在于,所述模型训练所使用的数据包括:参数取值;
相应的,根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的参数取值,包括:
将用户在当前应用界面上输入的参数取值或从展现的参数默认取值中选择的参数取值,确定为模型训练所使用的参数取值;
其中,所述参数取值包括模型参数的取值和/或训练参数的取值。
5.根据权利要求1所述的方法,其特征在于,所述模型训练所使用的数据包括:训练数据集;
相应的,根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的训练数据集,包括:
获取已创建数据集的标识,将所述标识在当前应用界面上进行展现;
将用户在展现的标识中选择的标识所对应的数据集,确定为训练所使用的训练数据集;
其中,已创建数据集中包括至少一个样本数据对,各所述样本数据对包括样本数据和该样本数据对应的标注数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取原始数据集;
通过数据标注模块,基于用户的标注操作生成所述原始数据集中样本数据对应的标注数据;
根据所述原始数据集中的样本数据和所述样本数据对应的标注数据,生成已创建数据集并进行保存。
7.根据权利要求6所述的方法,其特征在于,在基于用户的标注操作生成所述原始数据集中样本数据对应的标注数据之后、根据原始数据集中的样本数据和所述样本数据对应的标注数据,生成已创建数据集并进行保存之前,所述方法还包括以下至少一项:
对所述标注数据进行校验,以根据校验结果提示用户对所述标注数据进行编辑;
生成并展示包含所述样本数据和/或所述样本数据对应的标记数据的预览页面,以使用户对预览页面中的数据进行编辑;
对所述样本数据及所述样本数据对应的标记数据进行分析,输出分析结果;
将多个样本数据对进行划分,以划分为训练数据集、验证数据集和测试数据集。
8.根据权利要求5所述的方法,其特征在于,在基于所述数据进行模型训练之前,所述方法还包括:
根据作用于当前应用界面的第三用户操作,确定数据增强策略;
通过数据增强模块,基于所述数据增强策略和所述训练数据集生成新的训练数据集,并将所述新的训练数据集作为训练时使用的训练数据集。
9.根据权利要求1所述的方法,其特征在于,根据用户在当前应用界面选择的预训练模型的标识,确定训练所使用的预训练模型,包括:
通过迁移学习工具模块,获取已有的预训练模型的标识;
将获取的各预训练模型的标识进行展现;
检测用户在展现界面中对预训练模型的标识的选择操作,根据检测结果确定训练所使用的预训练模型。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将模型训练的过程中模型参数的变化情况,进行可视化展示,以使用户基于所述变化情况重新选择模型训练所使用的数据,并基于重新选择的数据重新进行模型训练。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在模型训练结束后,基于验证数据集对训练完成的模型进行评估,并将评估结果进行可视化展示,以使用户基于所述评估结果重新选择模型训练所使用的数据,并基于重新选择的数据重新进行模型训练。
12.根据权利要求1-11中任一项所述的方法,其特征在于,根据模型部署环境生成并输出训练后的模型对应的源代码,包括:
通过部署集成模块,基于用户选择的模型部署环境生成并输出训练后的模型对应的代码文件。
13.一种模型生成装置,其特征在于,包括:
数据处理与配置模块,用于根据检测到的作用于当前应用界面上的第一用户操作,确定模型训练所使用的数据;
深度学习框架模块,用于基于所述数据进行模型训练;其中,所述当前应用界面是指可视化开发客户端安装完成后,展示给用户的前端应用界面;所述可视化开发客户端用于实现包括数据处理、超参配置、模型训练、模型评估及调优和多端发布部署流程的深度学习项目的开发;
部署集成模块,用于根据模型部署环境生成并输出训练后的模型对应的代码文件;其中,所述模型部署环境包括:本地SDK、服务端、移动端、或边缘端;
模型处理模块,用于对训练完成的模型执行剪裁、量化、蒸馏、压缩和预测速度优化中的至少一项操作;
所述模型训练所使用的数据包括:模型结构的类型数据、预训练模型;
相应的,所述装置还包括迁移学习工具模块,用于:
根据用户在当前应用界面选择的预训练模型的标识,确定训练所使用的预训练模型;其中,所述预训练模型是指已经应用部分训练数据集对已有结构进行训练所得到的模型,包括预训练后的模型结构和模型参数文件,以及模型在不同平台上部署预测时所依赖的编译库文件;
所述装置还包括模型预置模块,具体用于:
根据用户在当前应用界面输入或选择的训练任务类型,确定训练所使用的模型结构的类型数据;或者,
将用户在当前应用界面输入的模型结构的类型数据,或从展现的已有模型结构的类型数据中选择的模型结构的类型数据,确定为模型训练所使用模型结构的类型数据。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
环境检测模块,用于在当前应用的安装过程中,检测当前应用的运行环境;
下载模块,用于根据检测结果确定待安装的深度学习框架模块的版本,下载并安装所述版本的深度学习框架模块。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
硬件资源确定模块,用于根据检测到的作用于当前应用界面上的第二用户操作,确定模型训练时使用的硬件资源;
所述深度学习框架模块具体用于:
基于所述硬件资源和所述数据进行模型训练。
16.根据权利要求13所述的装置,其特征在于,所述模型训练所使用的数据包括:参数取值;
相应的,所述装置包括参数配置可视化模块和推荐默认参数配置模块;
参数配置可视化模块,用于将用户在当前应用界面上输入的参数取值,确定为模型训练所使用的参数取值;
推荐默认参数配置模块,用于将用户从展现的参数默认取值中选择的参数取值,确定为模型训练所使用的参数取值;
其中,所述参数取值包括模型参数的取值和/或训练参数的取值。
17.根据权利要求13所述的装置,其特征在于,所述模型训练所使用的数据包括:训练数据集;
相应的,所述数据处理与配置模块,包括:
获取展现单元,用于获取已创建数据集的标识,将所述标识在当前应用界面上进行展现;
数据集确定单元,用于将用户在展现的标识中选择的标识所对应的数据集,确定为训练所使用的训练数据集;
其中,已创建数据集中包括至少一个样本数据对,各所述样本数据对包括样本数据和该样本数据对应的标注数据。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括数据标注模块,所述数据标注模块具体用于:
获取原始数据集;
基于用户的标注操作生成所述原始数据集中样本数据对应的标注数据;
根据所述原始数据集中的样本数据和所述样本数据对应的标注数据,生成已创建数据集并进行保存。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
自动数据校验模块,用于对所述标注数据进行校验,以根据校验结果提示用户对所述标注数据进行编辑;
数据预览与操作模块,用于生成并展示包含所述样本数据和/或所述样本数据对应的标记数据的预览页面,以使用户对预览页面中的数据进行编辑;
数据分析模块,用于对所述样本数据及所述样本数据对应的标记数据进行分析,输出分析结果;
数据集自动切分模块,用于将多个样本数据对进行划分,以划分为训练数据集、验证数据集和测试数据集。
20.根据权利要求17所述的装置,其特征在于,所述装置还包括数据增强模块,所述数据增强模块具体用于:
根据作用于当前应用界面的第三用户操作,确定数据增强策略;
基于所述数据增强策略和所述训练数据集生成新的训练数据集,并将所述新的训练数据集作为训练时使用的训练数据集。
21.根据权利要求13所述的装置,其特征在于,所述迁移学习工具模块具体用于:
获取已有的预训练模型的标识;
将获取的各预训练模型的标识进行展现;
检测用户在展现界面中对预训练模型的标识的选择操作,根据检测结果确定训练所使用的预训练模型。
22.根据权利要求13所述的装置,其特征在于,所述装置还包括:
训练进度可视化模块,用于将模型训练的过程中模型参数的变化情况,进行可视化展示,以使用户基于所述变化情况重新选择模型训练所使用的数据,并基于重新选择的数据重新进行模型训练。
23.根据权利要求13所述的装置,其特征在于,所述装置还包括:
模型评估模块,用于在模型训练结束后,基于验证数据集对训练完成的模型进行评估,并将评估结果进行可视化展示,以使用户基于所述评估结果重新选择模型训练所使用的数据,并基于重新选择的数据重新进行模型训练。
24.根据权利要求13-23中任一项所述的装置,其特征在于,所述部署集成模块具体用于:
基于用户选择的模型部署环境生成并输出训练后的模型对应的代码文件。
25.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-12中任一项所述的模型生成方法。
26.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-12中任一项所述的模型生成方法。
CN202010093240.6A 2020-02-14 2020-02-14 一种模型生成方法、装置、电子设备和存储介质 Active CN111310934B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010093240.6A CN111310934B (zh) 2020-02-14 2020-02-14 一种模型生成方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010093240.6A CN111310934B (zh) 2020-02-14 2020-02-14 一种模型生成方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN111310934A CN111310934A (zh) 2020-06-19
CN111310934B true CN111310934B (zh) 2023-10-17

Family

ID=71145008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010093240.6A Active CN111310934B (zh) 2020-02-14 2020-02-14 一种模型生成方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN111310934B (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782181A (zh) * 2020-06-28 2020-10-16 北京百度网讯科技有限公司 代码生成方法、装置、电子设备以及存储介质
CN111814862A (zh) * 2020-06-30 2020-10-23 平安国际智慧城市科技股份有限公司 果蔬识别方法及装置
CN111783872B (zh) * 2020-06-30 2024-02-02 北京百度网讯科技有限公司 训练模型的方法、装置、电子设备及计算机可读存储介质
CN111931944A (zh) * 2020-07-14 2020-11-13 东云睿连(武汉)计算技术有限公司 一种深度学习向导装置和方法
CN112000325A (zh) * 2020-08-11 2020-11-27 福建博思数字科技有限公司 一种可视化的算法模型构建方法和存储介质
WO2022037689A1 (zh) * 2020-08-20 2022-02-24 第四范式(北京)技术有限公司 一种基于数据形式的数据处理方法和应用机器学习的方法
CN111708564B (zh) * 2020-08-20 2020-11-20 上海森亿医疗科技有限公司 多模型的管理方法、系统、介质及服务器
CN112036577B (zh) * 2020-08-20 2024-02-20 第四范式(北京)技术有限公司 基于数据形式的应用机器学习的方法、装置和电子设备
CN112070149A (zh) * 2020-09-04 2020-12-11 深延科技(北京)有限公司 自动化目标检测平台
CN112015470B (zh) * 2020-09-09 2022-02-01 平安科技(深圳)有限公司 模型部署方法、装置、设备及存储介质
CN112416301A (zh) * 2020-10-19 2021-02-26 山东产研鲲云人工智能研究院有限公司 深度学习模型开发方法及装置、计算机可读存储介质
CN112230898A (zh) * 2020-10-23 2021-01-15 贝壳技术有限公司 模型应用交互系统、方法、可读存储介质及电子设备
CN112667221A (zh) * 2020-11-10 2021-04-16 中国科学院计算技术研究所 基于深度学习开发ide的深度学习模型构建方法及系统
CN112270376A (zh) * 2020-11-10 2021-01-26 北京百度网讯科技有限公司 模型训练方法、装置、电子设备、存储介质和开发系统
CN112256537B (zh) * 2020-11-12 2024-03-29 腾讯科技(深圳)有限公司 模型运行状态的展示方法、装置、计算机设备和存储介质
CN112328236A (zh) * 2020-11-25 2021-02-05 用友网络科技股份有限公司 模型构建方法、系统、电子设备和可读存储介质
CN112580706A (zh) * 2020-12-11 2021-03-30 北京地平线机器人技术研发有限公司 应用于数据管理平台的训练数据处理方法、装置和电子设备
CN112527296A (zh) * 2020-12-21 2021-03-19 Oppo广东移动通信有限公司 用户界面的定制方法及装置、电子设备、存储介质
CN112529167A (zh) * 2020-12-25 2021-03-19 东云睿连(武汉)计算技术有限公司 一种神经网络交互式自动训练系统和方法
CN112698848A (zh) * 2020-12-31 2021-04-23 Oppo广东移动通信有限公司 机器学习模型的下载方法、装置、终端及存储介质
CN112786141B (zh) * 2021-01-21 2023-07-14 北京晶泰科技有限公司 一种功能肽推荐方法、装置和计算设备
CN112817635B (zh) * 2021-01-29 2022-02-08 北京九章云极科技有限公司 一种模型处理方法和数据处理系统
CN114089889B (zh) * 2021-02-09 2024-04-09 京东科技控股股份有限公司 模型训练方法、装置以及存储介质
CN112966439A (zh) * 2021-03-05 2021-06-15 北京金山云网络技术有限公司 机器学习模型训练方法、装置以及虚拟实验箱
CN112883654B (zh) * 2021-03-24 2023-01-31 国家超级计算天津中心 一种基于数据驱动的模型训练系统
CN113052328B (zh) * 2021-04-02 2023-05-12 上海商汤科技开发有限公司 深度学习模型生产系统、电子设备和存储介质
CN113157183B (zh) * 2021-04-15 2022-12-16 成都新希望金融信息有限公司 深度学习模型构建方法、装置、电子设备及存储介质
CN113537007A (zh) * 2021-07-02 2021-10-22 中国铁道科学研究院集团有限公司电子计算技术研究所 应用于铁路站台的非工作人员入侵检测与报警方法和装置
CN113673577A (zh) * 2021-07-27 2021-11-19 机科发展科技股份有限公司 一种工业质检模型部署方法及平台
CN113608762A (zh) * 2021-07-30 2021-11-05 烽火通信科技股份有限公司 一种深度学习多模型统一部署方法与装置
CN113505895B (zh) * 2021-08-05 2023-05-05 上海高德威智能交通系统有限公司 一种机器学习引擎服务系统及模型训练方法和配置方法
CN113741887B (zh) * 2021-08-19 2022-09-27 北京百度网讯科技有限公司 模型生产方法、系统、装置及电子设备
CN115730631A (zh) * 2021-08-30 2023-03-03 华为云计算技术有限公司 联邦学习的方法和装置
CN113810943A (zh) * 2021-09-09 2021-12-17 国网信息通信产业集团有限公司北京分公司 智能视觉检测系统及方法
CN113760464A (zh) * 2021-09-14 2021-12-07 中化现代农业有限公司 一种基于深度学习的人工智能模型开发平台
WO2023044631A1 (en) * 2021-09-22 2023-03-30 Siemens Aktiengesellschaft A device, system, method and storage medium for ai application deployment
CN114169427B (zh) * 2021-12-06 2022-10-04 北京百度网讯科技有限公司 基于端到端自适应的分布式训练方法、装置、设备
CN114020323B (zh) * 2022-01-04 2022-05-10 阿里云计算有限公司 模型处理方法、代码获得方法、装置以及电子设备
CN114510305B (zh) * 2022-01-20 2024-01-23 北京字节跳动网络技术有限公司 模型训练方法、装置、存储介质及电子设备
CN114663437A (zh) * 2022-05-25 2022-06-24 苏州中科行智智能科技有限公司 一种深度学习模型部署方法、设备及介质
WO2023245522A1 (zh) * 2022-06-22 2023-12-28 极纳人工智能有限公司 用于生成目标深度学习模型的方法以及装置
CN115660064B (zh) * 2022-11-10 2023-09-29 北京百度网讯科技有限公司 基于深度学习平台的模型训练方法、数据处理方法和装置
CN115618239B (zh) * 2022-12-16 2023-04-11 四川金信石信息技术有限公司 一种深度学习框架训练的管理方法、系统、终端及介质
CN116992241B (zh) * 2023-09-26 2024-01-19 深圳前海环融联易信息科技服务有限公司 模型生成方法及装置、存储介质、计算机设备

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092751A (zh) * 2012-12-13 2013-05-08 华中科技大学 一种云环境下基于用户行为模型的web应用性能测试系统
CN104933588A (zh) * 2015-07-01 2015-09-23 北京京东尚科信息技术有限公司 用于拓展商品品类的数据标注平台及方法
CN108229686A (zh) * 2016-12-14 2018-06-29 阿里巴巴集团控股有限公司 模型训练、预测方法、装置、电子设备及机器学习平台
CN108241357A (zh) * 2017-10-18 2018-07-03 北京车和家信息技术有限公司 测试环境模型生成方法、装置、计算机设备和存储介质
CN108805422A (zh) * 2018-05-24 2018-11-13 国信优易数据有限公司 一种数据评估模型训练系统、数据评估平台和方法
CN109325541A (zh) * 2018-09-30 2019-02-12 北京字节跳动网络技术有限公司 用于训练模型的方法和装置
CN109375912A (zh) * 2018-10-18 2019-02-22 腾讯科技(北京)有限公司 模型序列化方法、装置及存储介质
KR20190028210A (ko) * 2017-09-08 2019-03-18 (주)케이아이엔엑스 컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템
CN110378463A (zh) * 2019-07-15 2019-10-25 北京智能工场科技有限公司 一种人工智能模型标准化训练平台及自动化系统
CN110533181A (zh) * 2019-07-25 2019-12-03 深圳市康拓普信息技术有限公司 一种深度学习模型的快速训练方法及系统
CN110554995A (zh) * 2019-08-13 2019-12-10 武汉中海庭数据技术有限公司 一种深度学习模型的管理方法及系统
CN110674831A (zh) * 2018-06-14 2020-01-10 佛山市顺德区美的电热电器制造有限公司 一种数据处理方法、装置及计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7458763B2 (en) * 2003-11-10 2008-12-02 Blueshift Technologies, Inc. Mid-entry load lock for semiconductor handling system
US10606847B2 (en) * 2016-05-31 2020-03-31 Microsoft Technology Licensing, Llc Generation of training data for ideal candidate search ranking model
US10713716B2 (en) * 2017-08-04 2020-07-14 Airbnb, Inc. Verification model using neural networks

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092751A (zh) * 2012-12-13 2013-05-08 华中科技大学 一种云环境下基于用户行为模型的web应用性能测试系统
CN104933588A (zh) * 2015-07-01 2015-09-23 北京京东尚科信息技术有限公司 用于拓展商品品类的数据标注平台及方法
CN108229686A (zh) * 2016-12-14 2018-06-29 阿里巴巴集团控股有限公司 模型训练、预测方法、装置、电子设备及机器学习平台
KR20190028210A (ko) * 2017-09-08 2019-03-18 (주)케이아이엔엑스 컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템
CN108241357A (zh) * 2017-10-18 2018-07-03 北京车和家信息技术有限公司 测试环境模型生成方法、装置、计算机设备和存储介质
CN108805422A (zh) * 2018-05-24 2018-11-13 国信优易数据有限公司 一种数据评估模型训练系统、数据评估平台和方法
CN110674831A (zh) * 2018-06-14 2020-01-10 佛山市顺德区美的电热电器制造有限公司 一种数据处理方法、装置及计算机可读存储介质
CN109325541A (zh) * 2018-09-30 2019-02-12 北京字节跳动网络技术有限公司 用于训练模型的方法和装置
CN109375912A (zh) * 2018-10-18 2019-02-22 腾讯科技(北京)有限公司 模型序列化方法、装置及存储介质
CN110378463A (zh) * 2019-07-15 2019-10-25 北京智能工场科技有限公司 一种人工智能模型标准化训练平台及自动化系统
CN110533181A (zh) * 2019-07-25 2019-12-03 深圳市康拓普信息技术有限公司 一种深度学习模型的快速训练方法及系统
CN110554995A (zh) * 2019-08-13 2019-12-10 武汉中海庭数据技术有限公司 一种深度学习模型的管理方法及系统

Also Published As

Publication number Publication date
CN111310934A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111310934B (zh) 一种模型生成方法、装置、电子设备和存储介质
EP3438813B1 (en) Component management platform
US10419585B2 (en) Dynamically surfacing UI controls
CN109739855B (zh) 实现数据表拼接及自动训练机器学习模型的方法和系统
US20160188304A1 (en) Execution optimization of mobile applications
US9626164B1 (en) Test-driven development module for repository-based development
US10877846B2 (en) Performing a closure merge operation
CN110941467A (zh) 数据处理方法、装置及系统
CN113449877B (zh) 用于展示机器学习建模过程的方法及系统
US20200183664A1 (en) User interface code re-use based upon machine learning of design documents
CN111582477B (zh) 神经网络模型的训练方法和装置
US11714625B2 (en) Generating applications for versatile platform deployment
CN111984476A (zh) 测试方法和装置
CN111158666A (zh) 实体归一化处理方法、装置、设备及存储介质
US11223873B1 (en) Methods and systems for remote streaming of a user-customized user interface
CN111813649A (zh) 根据单元测试自动生成集成测试
CN114036501A (zh) 一种app的检测方法、系统、装置、设备及存储介质
US10331436B2 (en) Smart reviews for applications in application stores
CN114048137A (zh) 一种应用测试方法、装置及电子设备
CN108960433B (zh) 用于运行机器学习建模过程的方法及系统
CN111767316A (zh) 目标任务处理方法、装置及电子设备
CN110865934A (zh) 代码验证方法、装置、电子设备及可读存储介质
CN112528608B (zh) 页面编辑方法、装置、电子设备和存储介质
CN116701146A (zh) 性能分析方法、装置、系统、计算设备及存储介质
Adeniji Kehinde et al. Web Application Development Using Visual Basic .NET and Microsoft SQL for Mobile and PC Devices

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