CN111079892A - 深度学习模型的训练方法、装置及系统 - Google Patents
深度学习模型的训练方法、装置及系统 Download PDFInfo
- Publication number
- CN111079892A CN111079892A CN201911044447.8A CN201911044447A CN111079892A CN 111079892 A CN111079892 A CN 111079892A CN 201911044447 A CN201911044447 A CN 201911044447A CN 111079892 A CN111079892 A CN 111079892A
- Authority
- CN
- China
- Prior art keywords
- training
- deep learning
- parameter information
- parameter
- preset algorithm
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种深度学习模型的训练方法、装置及系统,属于模型训练领域。所述方法包括:接收算法选择指令,所述算法选择指令用于指示用户在至少一个预置算法中选择的目标预置算法;接收数据集;获取所述目标预置算法的训练参数信息;基于所述训练参数信息和所述数据集,采用所述目标预置算法进行深度学习训练,得到深度学习模型。本申请能够提高深度模型训练的效率。
Description
技术领域
本申请涉及模型训练领域,特别涉及一种深度学习模型的训练方法、装置及系统。
背景技术
深度学习平台(deep learning Service)用于为用户提供针对数据集进行训练并输出深度学习模型的服务,并针对该服务提供周边配套功能。
目前,深度学习平台进行深度学习模型训练的完整流程为:用户编写训练脚本,并针对此脚本在深度学习平台的服务器输入参数信息,如数据集路径、图片宽高、输出路径等参数的信息,服务器基于获取的训练脚本和参数信息训练得到深度学习模型之后,用户需要编写推理脚本,由服务器基于该推理脚本对训练输出的深度学习模型进行推理(inference),以验证模型的可用性。
但是,上述流程中,用户需要编写训练脚本和推理脚本,该过程较为复杂,导致深度学习模型的训练效率较低。
发明内容
本申请实施例提供了一种深度学习模型的训练方法、装置及系统,能够解决深度学习模型的训练效率较低的问题。所述技术方案如下:
第一方面,提供了一种深度学习模型的训练方法,所述方法包括:
接收算法选择指令,所述算法选择指令用于指示用户在至少一个预置算法中选择的目标预置算法;接收数据集;获取所述目标预置算法的训练参数信息;基于所述训练参数信息和所述数据集,采用所述目标预置算法进行深度学习训练,得到深度学习模型。
本申请实施例,通过基于训练参数信息和数据集,采用目标预置算法进行深度学习训练,得到深度学习模型。无需用户编写训练脚本和推理脚本,操作过程简单,有效提高了深度学习模型的训练效率较低。相应的,简化了深度学习平台的使用复杂度,提高了其通用性。
可选的,所述获取所述目标预置算法的训练参数信息,包括:
确定用户的用户类型;基于确定的用户类型,在所述目标预置算法的训练参数中确定待填写训练参数信息的目标训练参数;获取所述用户填写的所述目标训练参数的训练参数信息;当所述目标预置算法的训练参数中包括除所述目标训练参数之外的其他参数,获取所述其他参数的默认训练参数信息。
可选的,所述基于确定的用户类型,在所述目标预置算法的训练参数中确定待填写训练参数信息的目标训练参数,包括:
当所述用户类型为第一用户类型,将所述目标预置算法的训练参数中的第一训练参数确定为目标训练参数;
当所述用户类型为第二用户类型,将所述目标预置算法的训练参数中的第二训练参数确定为目标训练参数;
其中,所述目标预置算法的训练参数中的第一训练参数包括所述目标预置算法的训练参数中的第二训练参数,且所述目标预置算法的训练参数中的第一训练参数的个数大于所述目标预置算法的训练参数中的第二训练参数的个数。
该多用户类型功能,可以在满足用户由于不同的能力要求以及对模型性能要求的基础上任务训练创建。
可选的,所述基于所述训练参数信息和所述数据集,采用所述目标预置算法进行深度学习训练,得到深度学习模型,包括:
检测所述数据集的格式;当所述格式与所述目标预置算法支持的数据集格式不同时,将所述数据集转换为所述目标预置算法支持的数据集格式的数据集;基于所述训练参数信息和所述数据集,采用所述目标预置算法对转换后的所述数据集进行深度学习训练,得到深度学习模型。
该格式识别功能,在任务创建前就可以自动识别出用户的数据集的格式,如果不是支持的数据集格式,还可进行自动格式转换。
可选的,所述基于所述训练参数信息和所述数据集,采用所述目标预置算法进行深度学习训练,得到深度学习模型,包括:
在对所述数据集进行深度学习训练的过程中,接收训练中断指令;基于所述训练中断指令,暂停对所述深度学习训练,保存所述训练参数信息、所述数据集以及训练得到的中间模型,并释放所述深度学习训练所占用的资源;在接收到继续训练指令后,基于所述训练参数信息,采用所述目标预置算法、所述数据集到对所述中间模型继续进行深度学习训练,得到深度学习模型。
可选的,所述基于所述训练参数信息和所述数据集,采用所述目标预置算法进行深度学习训练,得到深度学习模型,包括:
在接收到二次训练指令后,获取基础模型;基于所述训练参数信息和所述数据集,采用所述目标预置算法对所述基础模型进行深度学习训练,得到深度学习模型。
可选的,所述方法还包括:在所述训练参数信息中获取用于进行模型推理的推理参数信息;基于所述推理参数信息,对所述深度学习模型进行推理。
该自动联想功能,可以实现端到端流程自动化,可通过将训练的任务信息进行归档保存并筛选联想,自动填充至推理任务中,无需用户操作,减少了手动操作失误导致的问题。
在一种实现方式中,所述在所述训练参数信息中获取用于进行模型推理的推理参数信息,包括:
获取所述目标预置算法的训练参数与推理参数的匹配关系,所述匹配关系用于记录参数信息相同的训练参数和推理参数;对于所述目标预置算法的每个推理参数,当所述匹配关系中记录有所述推理参数,获取所述推理参数所对应的训练参数的参数信息,并将获取的参数信息确定为所述推理参数的参数信息。
在另一种实现方式中,所述在所述训练参数信息中获取用于进行模型推理的推理参数信息,包括:
对于所述目标预置算法的每个推理参数,将所述推理参数与所述目标预置算法的各个训练参数进行匹配;当任一训练参数与所述推理参数匹配,获取所述任一训练参数的参数信息,并将获取的参数信息确定为所述推理参数的参数信息。
第二方面,提供一种深度学习模型的训练装置,所述装置可以包括至少一个模块,该至少一个模块可以用于实现上述第一方面或者第一方面的各种可能实现提供的所述深度学习模型的训练方法。
第三方面,本申请提供一种计算设备,该计算设备包括处理器和存储器。该存储器存储计算机指令;该处理器执行该存储器存储的计算机指令,使得该计算设备执行上述第一方面或者第一方面的各种可能实现提供的方法,使得该计算设备部署上述第二方面或者第二方面的各种可能实现提供的该深度学习模型的训练装置。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,该计算机指令指示该计算设备执行上述第一方面或者第一方面的各种可能实现提供的方法,或者该计算机指令指示该计算设备部署上述第二方面或者第二方面的各种可能实现提供的深度学习模型的训练装置。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行上述第一方面或者第一方面的各种可能实现提供的方法,使得该计算设备部署上述第二方面或者第二方面的各种可能实现提供的深度学习模型的训练装置。
第六方面,提供一种分布式数据库系统,包括:管理节点和数据节点,所述管理节点包括第二方面或者第二方面的各种可能实现所述的深度学习模型的训练装置或第三方面所述的计算设备。
第七方面,提供一种芯片,所述芯片可以包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现如第一方面任一所述的深度学习模型的训练方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例,通过基于训练参数信息和数据集,采用目标预置算法进行深度学习训练,得到深度学习模型。无需用户编写训练脚本和推理脚本,操作过程简单,有效提高了深度学习模型的训练效率较低。相应的,简化了深度学习平台的使用复杂度,提高了其通用性。
本申请实施例中,前述多用户类型功能,可以在满足用户由于不同的能力要求以及对模型性能要求的基础上任务训练创建;前述自动联想功能,可以实现端到端流程自动化,可通过将训练的任务信息进行归档保存并筛选联想,自动填充至推理任务中,无需用户操作,减少了手动操作失误导致的问题;前述格式识别功能,在任务创建前就可以自动识别出用户的数据集的格式,如果不是支持的数据集格式,还可进行自动格式转换。本申请实施例通过上述功能,提供了端到端的预置算法解决方案,包括训练和推理,并围绕着整个流程的每个阶段都部署了功能点来保证流程的自动化和智能化,提高用户体验感。
附图说明
图1是本申请实施例提供的一种深度学习模型的训练方法所涉及的深度学习系统的环境示意图;
图2是本申请实施例提供的一种深度学习平台的结构示意图;
图3是本申请实施例提供一种深度学习模型的训练方法的流程示意图;
图4是本申请实施例提供的一种用户界面示意图;
图5是本申请实施例提供的一种获取目标预置算法的训练参数信息的方法流程图;
图6是本申请实施例提供的另一种用户界面示意图;
图7是本申请实施例提供的一种能力集的获取方法示意图;
图8是本申请实施例提供的一种推理参数信息的获取方法示意图;
图9是本申请实施例提供的一种深度学习模型的训练装置的框图;
图10是本申请实施例提供的另一种深度学习模型的训练装置的框图;
图11是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于读者理解,下面对本申请实施例所涉及的一些专有名词进行解释:
深度学习平台:一种可提供深度学习服务的平台,用于为用户提供针对数据集进行训练并输出深度学习模型的服务,并针对该服务提供周边配套功能。如用户可在平台上执行创建训练任务,进行数据标注,触发自动化训练等深度学习相关的操作。
预置算法:在产品出厂时就预置在平台中的算法,用户可直接使用此算法进行某些适配场景的训练以及推理,无需用户编写算法。
图1是本申请实施例提供的一种深度学习模型的训练方法所涉及的深度学习系统(即前述深度学习平台)的环境示意图。请参考图1,该深度学习系统包括终端110和深度学习服务器120。
终端110可以是显示器、计算机、智能手机、平板电脑和膝上型便携计算机等等。深度学习服务器120可以是一台服务器,或者由若干台服务器组成的服务器集群。终端110通与深度学习服务器120建立有线或无线的通信连接。
如图2所示,深度学习平台包括前台201和后台202两部分。前台201用于向用户呈现数据,以及接收用户输入的数据,实现与用户的交互;后台202用于与前台201进行数据交互,并进行管理操作和/或数据处理等。进一步的,在本申请实施例中,深度学习平台至少能够实现预置算法功能。该预置算法功能即基于预置算法进行深度学习模型的训练的功能。相应的,前台201可以用于进行预置算法的呈现(如显示),基于接收的用户触发的指令,进行预置算法任务的创建。后台202可以用于预置算法任务的执行。可选的,后台202中部署有数据库2021和预置算法仓库2022。其中,数据库2021用于存放预置算法信息,如脚本存放路径、参数列表和/或算法精度等。预置算法仓库2022存放各种预置算法的脚本、预置模型和/或能力(也称功能)库。其中,前台201可以部署于前述终端110中。后台202可以部署于前述深度学习服务器120。示例的,终端110中可以安装有客户端、脚本或者浏览器,以实现前台201的部署。如此,用户界面可以对应以客户端界面、终端界面或者与浏览器对应网页的形式通过终端110呈现。
本申请实施例在实际实现时,深度学习平台所支持的预置算法开发完成后,可以向深度学习服务器注册其能力集,如是否支持分布式训练功能,是否支持二次训练功能,以及本申请后续实施例所提供的其他功能。注册完成之后,深度学习服务器将能力集保存于数据库2021中,作为此预置算法的能力库,该预置算法的能力库可以以如表1所示的表格形式存储。表1假设预置算法为YOLOv3,表1记录有该预置算法的算法编号、算法名称、能力集和能力对应的参数。在本申请实施例中,每个预置算法都分配有一个算法身份标识(Identity,ID),用于在深度学习平台唯一标识该预置算法。后续所有和该预置算法相关的信息都可以通过该算法ID来进行检索。示例的,该算法ID为前述算法编号、算法名称和引擎框架的框架名称中的至少一个组成。能力集可以为JS对象简谱JSON(JavaScript ObjectNotation json)格式,能力集中记录的每个能力可以对应一个能力标识,该能力标识用于指示是否支持对应的能力。表1中假设1表示支持,0表示不支持。则对于算法YOLOv3,其支持的能力为“multi-gpu”和“resume”。深度学习服务器可以解析此json格式的能力集来获取预置算法的能力并进行相应的判断。能力对应的参数,是用于平台去启动相应功能时自动派发的,无需用户去填写。例如,能力集中能力:“resume”对应的参数为”checkpoint_path”。
表1
需要说明的是,对于不同的预置算法,其支持的能力不同,因此在终端显示相应的用户界面时,对于预置算法支持的能力,用户界面可以显示该能力的触发按钮;对于预置算法不支持的能力,用户界面可以不显示该能力的触发按钮,或者将该触发按钮置灰,不对用户的触发操作进行响应。例如,预置算法不支持二次训练功能,则相应的用户界面,对应的触发按钮置灰。
为了便于读者理解,表2示意性的示出预置算法所支持的能力,在每个预置算法将各自的能力集录入能力库后,深度学习服务器在为某一预置算法建立任务时,检索该预置算法的照能力库,如果某一能力不在该算法的能力集中时,可以通过终端提示该某一预置算法不支持该能力。
表2
本申请实施例提供一种深度学习模型的训练方法,应用于前述深度学习系统,如图3所示,该方法包括:
步骤301、终端接收算法选择指令。
该算法选择指令用于指示用户在至少一个预置算法中选择的目标预置算法。
如图4所示,终端可以在用户界面呈现预置算法功能触发按钮40。若用户需要使用预置算法功能,可以选择该预置算法功能触发按钮40。终端在通过该预置算法功能触发按钮接40收到触发指令后,通过用户界面向用户提供可选的至少一个预置算法。例如,呈现至少一个预置算法选项,每个选项对应一个深度学习服务器所支持的预置算法。通常情况下,该深度学习服务器所支持的预置算法可以有多个。终端可以在用户界面全部呈现该多个预置算法,或者以滚动方式呈现该多个预置算法,还可以呈现该多个预置算法中使用频率较高的一个或多个预置算法(其他预置算法可以由用户再次触发其他按钮,如下拉按钮,后来显示)等,本申请实施例对此不做限定。
用户可以在该终端提供的至少一个预置算法中选择目标算法。例如,通过点击目标预置算法所对应的预置算法选项来实现算法的选择。相应的,终端即可接收到算法选择指令。
示例的,深度学习服务器所支持的预置算法可以包括:多种深度学习算法,例如你只能看一次(you only look once,YOLO)v1(版本号,代表第一版)、YOLO v2、YOLOv3、视觉几何群网络、快速区域卷积神经网络(fast-Region Convolutional Neural Networks,fast-RCNN)、(Visual Geometry Group Network,VGG)和深度残差网络(Deep residualnetwork,ResNet)-50等中的至少一种。
步骤302、终端向深度学习服务器发送算法选择指令。
终端可以通过与深度学习服务器所建立的有线或无线连接,将该算法选择指令发送至深度学习服务器。相应的,深度学习服务器接收该算法选择指令。
步骤303、终端接收数据集。
终端可以在用户界面呈现数据集输入接口,如输入框,或者文件上传接口。用户通过该数据集输入接口输入数据集。相应的,终端接收数据集。示例的,用户在输入框输入或者选择数据集的存储路径,相应的,终端获取该存储路径下存储的数据集。
步骤304、终端向深度学习服务器发送数据集。
终端可以通过与深度学习服务器所建立的有线或无线连接,将该数据集发送至深度学习服务器。相应的,深度学习服务器接收该数据集。
步骤305、深度学习服务器获取目标预置算法的训练参数信息。
本申请实施例中,深度学习服务器可以通过多种方式获取目标预置算法的训练参数信息。本申请实施例以以下两种选方式为例进行说明:
在第一种可选方式中,深度学习服务器基于用户类型,获取目标预置算法的训练参数信息。深度学习服务器支持多种用户类型,每种用户类型对应一种用户模式,不同的用户类型对应的用户模式不同,不同的用户模式所需用户填写信息的训练参数不同。如图5所示,该获取目标预置算法的训练参数信息的过程包括:
步骤3051、深度学习服务器确定用户的用户类型。
在一种可选示例中,终端可以在用户界面呈现用户类型选项,用户在该用户类型选项选择自身的用户类型,或者,终端可以在用户界面呈现用户类型输入框,用户在该输入框输入自身的用户类型。
在另一种可选示例中,用户在深度学习服务器中注册阶段输入过用户类型,深度学习模型相应保存了获取的用户类型。因此,当前深度学习模型可以直接读取预先保存的用户类型即可。
在又一种可选示例中,用户在深度学习服务器中预先输入过用户类型,例如在注册阶段或前一次进行深度学习模型的训练时输入过用户类型,深度学习模型相应保存了获取的用户类型。因此,当前深度学习模型可以直接读取预先保存的用户类型即可。
在再一种可选示例中,用户可以获取深度学习服务器中默认设置的用户类型。
在本申请实施例中,用户类型可以基于不同划分方式划分得到。例如,用户类型可以基于付费金额划分得到,如划分为普通用户和VIP用户等,其中,普通用户的付费金额小于VIP用户的付费金额;又例如,用户类型可以基于用户的编程能力高低划分得到,如划分为普通用户(也称小白用户)和高级用户等,普通用户和高级用户的编程能力依次增强,又如划分为普通用户、高级用户和资深用户(也称大师用户)等,普通用户、高级用户和资深用户的编程能力依次增强。通过划分不同的用户类型,可以实现针对不同用户类型的用户提供不同用户模式的服务,从而在后续步骤中实现训练参数信息的定制化填写。
步骤3052、深度学习服务器基于确定的用户类型,在目标预置算法的训练参数中确定待填写训练参数信息的目标训练参数。
在本申请实施例中,深度学习服务器可以支持多种用户类型,例如两种或三种以上用户类型,不同的用户类型对应的需要填写信息的训练参数不同。任一用户类型对应的需要填写信息的训练参数都是目标预置算法对应的所有训练参数的子集。
以深度学习服务器可以支持至少两种用户类型为例,该步骤3052,包括:
步骤A1、当用户类型为第一用户类型,将目标预置算法的训练参数中的第一训练参数确定为目标训练参数。
步骤A2、当用户类型为第二用户类型,将目标预置算法的训练参数中的第二训练参数确定为目标训练参数。
其中,目标预置算法的训练参数中的第一训练参数包括目标预置算法的训练参数中的第二训练参数,且目标预置算法的训练参数中的第一训练参数的个数大于目标预置算法的训练参数中的第二训练参数的个数。
在本申请实施例中,深度学习服务器可以在数据库中保存目标预置算法的所有的训练参数,每个训练参数具有与一个用户类型属性,该用户类型属性用于标识该训练参数所对应的用户类型,在当前的用户类型为该用户属性所标识的用户类型时,可以提取该训练参数。例如,每个训练参数的用户类型属性标识第一用户类型或第二用户类型,则当用户类型为第一用户类型时,深度学习服务器在目标预置算法的训练参数中筛选用户类型属性标识第一用户类型的训练参数,作为目标训练参数;当用户类型为第二用户类型时,深度学习服务器在目标预置算法的训练参数中筛选用户类型属性标识第二用户类型的训练参数,作为目标训练参数。
示例的,当用户类型基于付费金额划分得到时,付费金额的多少与目标预置算法的个数呈正比,也即是付费金额越多的用户,其可变更的参数信息越多,用户权限越大。则前述第一用户类型可以为普通用户,第二用户类型可以为VIP用户。这样VIP用户相对于普通用户能够更改更多的参数信息。
当用户类型基于用户的编程能力高低划分得到时,编程能力的高低与目标预置算法的个数呈正比,也即是编程能力越高的用户,其可变更的参数信息越多,用户权限越大。则前述第一用户类型可以为普通用户,第二用户类型可以为高级用户;或者,第一用户类型可以为高级用户,第二用户类型可以为资深用户。这样编程能力高的用户可以更改更多的参数信息,而编程能力低的用户无需考虑过多的参数,填写的参数信息少,从而减少操作复杂度。因此,本申请实施例提供的深度学习模型的训练方法,编程能力较低的用户也可以通过填写少量参数信息,来进行模型的有效训练。降低了深度学习算法的训练门槛,提高了该深度学习平台的用户粘度和可推广性。
步骤3053、深度学习服务器获取用户填写的目标训练参数的训练参数信息。
终端可以接收目标预置算法的训练参数信息,并向深度学习服务器发送目标预置算法的训练参数信息。
示例的,终端可以在用户界面呈现目标训练参数的信息输入接口,如输入框。用户通过该目标预置算法的信息输入接口输入目标训练参数的训练参数信息。相应的,终端接收目标训练参数的训练参数信息。如图6所示,图6假设目标训练参数有多个,在训练参数输入区域60中,终端显示与多个目标训练参数对应的输入框,通过该多个输入框分别接收用户输入的训练参数信息。
终端可以通过与深度学习服务器所建立的有线或无线连接,将该目标训练参数的训练参数信息发送至深度学习服务器。相应的,深度学习服务器接收该目标训练参数的训练参数信息。
步骤3054、当目标预置算法的训练参数中包括除目标训练参数之外的其他参数,深度学习服务器获取其他参数的默认训练参数信息。
深度学习服务器可以直接从预先存储的默认训练参数信息中获取其他参数的默认训练参数信息。
该第一种可选方式可以称为多用户类型功能,此功能针对模型训练任务中的参数列表设计。对于目标预置算法,不同的参数信息会导致该算法的不同的训练性能、训练时间和/或训练策略。该目标预置算法的很多参数的参数信息是存在默认信息的,即存在默认训练参数信息。通过这组默认训练参数信息也可以使得训练得到的深度学习模型达到一个较佳的性能,但如果想要将深度学习模型调整到最新或者想达到的性能,还是不断的进行参数调试。另外,有一些参数的参数信息是根据具体场景而设置的,比如数据集种类数,图片宽度和高度等,前述目标训练参数通常需要包括这些根据具体场景设置的参数。
示例的,在执行该第一种可选方式时,深度学习服务器可以对外暴露一个参数列表,该参数列表即为前述步骤3053中目标训练参数的列表。
以用户类型基于用户的编程能力高低划分得到为例,第一用户类型可以为普通用户,第二用户类型可以为高级用户。该普通用户是不想进行参数调优,或者对算法脚本训练不熟悉的用户,则前述目标训练参数可以为目标预置算法的所有参数中筛选出和场景相关的参数,由用户根据具体情况填写相应的参数信息。终端可以显示目标训练参数的参数名或者提示信息来提示用户目标训练参数的意义,由用户进行信息填写。通常在保证性能的前提下,终端对外暴露的参数(即目标训练参数)越少越好,这样能有效减少用户操作复杂度。
该高级用户是有经验,熟悉模型训练的开发者或者资深程序员等。终端可以对外暴露尽量多的参数(即目标训练参数),例如目标预置算法的所有训练参数均可以作为目标训练参数呈现给用户,用户可以对具体参数进行调整并训练出对应的模型。
在另一种可选方式中,深度学习服务器通过终端获取目标预置算法的指定训练参数的训练参数信息。示例的,该获取目标预置算法的训练参数信息的过程包括:
步骤B1、深度学习服务器确定指定训练参数。
在一种可选方式中,该指定训练参数是预先配置的,这些参数通常根据具体场景设置,因此需要用户填写。在另一种可选方式中,深度学习服务器可以通过终端向用户呈现目标预置算法对应的多个训练参数(例如,所有训练参数),由用户选择想要填写的参数作为指定训练参数。
步骤B2、深度学习服务器获取用户填写的指定训练参数的训练参数信息。
终端呈现该指定训练参数的信息输入接口,如输入框。用户通过该目标预置算法的信息输入接口输入指定训练参数的训练参数信息。相应的,终端接收指定训练参数的训练参数信息。该获取指定训练参数的训练参数信息的过程可以参考前述步骤3053,本申请实施例对此不做限定。
步骤B3、当目标预置算法的训练参数中包括除指定训练参数之外的其他参数,深度学习服务器获取其他参数的默认训练参数信息。
该获取其他参数的默认训练参数信息的过程可以参考前述步骤3054,本申请实施例对此不做限定。
步骤306、深度学习服务器基于训练参数信息和数据集,采用目标预置算法进行深度学习训练,得到深度学习模型。
深度学习服务器基于算法选择指令,可以创建目标预置算法的训练任务。如图7所示,在创建该训练任务时可以基于算法选择指令中携带的算法名称和预先设置的引擎框架的框架名称查询第一索引表获取该目标预置算法的算法ID,该第一索引表记录有算法名称和框架名称与算法ID的对应关系,再通过算法ID查询第二索引表获取此算法的能力集,该第二索引表记录有算法ID与能力集的对应关系,基于该能力集可以确定目标预置算法支持模型训练能力,基于该能力对应参数,以及训练参数信息和数据集,采用目标预置算法进行深度学习训练,得到深度学习模型。
本申请实施例,通过基于训练参数信息和数据集,采用目标预置算法进行深度学习训练,得到深度学习模型。无需用户编写训练脚本和推理脚本,操作过程简单,有效提高了深度学习模型的训练效率。相应的,简化了深度学习平台的使用复杂度,提高了其通用性。
示例的,深度学习服务器在采用目标预置算法进行深度学习训练的过程中,可以生成此次任务的训练信息表,并保存该训练信息表,该训练信息表用于为后续中断后继续训练或者二次训练时提供信息,例如该训练信息包括模型网络、数据集格式和图片宽高等训练参数信息。示例的,该训练信息表如下:
目前,深度学习领域,有很多公开的数据集,如imagenet,coco,voc,cifar-10等,每种数据集都可能有自己的格式,而深度学习服务器难以去支持所有的格式,因此会选择一种或多种格式作为可支持的格式,深度学习服务器所支持的格式通常为较为常见的格式。通常情况下,深度学习服务可以通过终端呈现深度学习服务器所支持的数据集格式。但是多时候用户仍然可能会上传该深度学习服务器不支持的格式的数据集。对于此种情况,传统的深度学习服务器可以在任务运行过程报错来发现问题,但是如此运算代价较高,用户体验较差。
本申请实施例中,深度学习服务器提供了一种格式检测功能,可以对数据集格式进行检测。则基于训练参数信息和数据集,采用目标预置算法进行深度学习训练,得到深度学习模型的过程可以包括:
步骤C1、深度学习服务器检测获取的数据集的格式。
步骤C2、当数据集的格式与目标预置算法支持的数据集格式不同时,深度学习服务器将数据集转换为目标预置算法支持的数据集格式的数据集。
在本申请实施例中,可以通过预设脚本实现数据集的格式转换。例如,将voc数据集转换为coco数据集。
在本申请实施例中,深度学习服务器可以存储有目标预置算法的能力库,该能力库中存储有目标预置算法所支持的数据集格式。深度学习服务器可以通过将识别得到的数据集格式与能力库中存储的目标预置算法所支持的数据集格式进行比较,当存在与识别得到的数据集格式相同的目标预置算法所支持的数据集格式时,确定数据集的格式与目标预置算法支持的数据集格式相同;当不存在与识别得到的数据集格式相同的目标预置算法所支持的数据集格式时,确定数据集的格式与目标预置算法支持的数据集格式不同。
示例的,深度学习服务器提供数据集格式转换工具,该数据集格式转换工具可以集成至终端的任务创建页面,当数据集的格式与目标预置算法支持的数据集格式不同时,终端的任务创建页面可以直接对该数据集的格式进行转换,用户无需跳转至数据集管理页面进行操作。从而提高转换效率,减少用户操作。
步骤C3、深度学习服务器基于训练参数信息和数据集,采用目标预置算法对转换后的数据集进行深度学习训练,得到深度学习模型。
前述步骤C1至C3,在数据集的格式与目标预置算法支持的数据集格式不同时,将数据集转换为目标预置算法支持的数据集格式的数据集,从而无需用户操作,即可保证深度学习模型的有效训练,减少运算代价,提高用户体验。
在实际实现时,前述步骤C2还可以替换为:当深度学习服务器检测到数据集的格式与目标预置算法支持的数据集格式不同时,通过终端提示用户不支持该数据集格式,从而由用户重新上传数据集。如此虽然仍然需要用户操作,但是避免后续任务运行报错的情况出现,仍然可以减少运算代价。
模型训练是一个很耗时的过程,在训练过程中,深度学习服务器对应的训练脚本会一直占用图形处理器(Graphics Processing Unit,GPU)和/或内存等资源,但整个深度学习服务器环境的资源是固定的,在实际业务中存在一些紧急任务需要优先执行的场景,如果资源不足,则紧急任务也就无法执行,导致资源使用的灵活性低。
本申请实施例中,深度学习服务器支持训练中断功能,可以提高资源使用的灵活性。则基于训练参数信息和数据集,采用目标预置算法进行深度学习训练,得到深度学习模型的过程,包括:
步骤D1、深度学习服务器在对数据集进行深度学习训练的过程中,接收训练中断指令。
训练中断指令可以有多种产生场景,在一种可选方式中,深度学习服务器可以通过终端接收用户触发的训练中断指令;在另一种可选方式中,深度学习服务器在检测到优先级比模型训练任务更高的任务时,自动生成训练中断指令。示例的,该优先级较高的任务可以为前述紧急任务。该紧急任务可以为预先设定类型的任务。
步骤D2、深度学习服务器基于训练中断指令,暂停对目标预置算法的深度学习训练,保存训练参数信息、数据集以及训练得到的中间模型,并释放该深度学习训练所占用的资源。
在前述步骤306的深度学习模型的训练过程中,深度学习服务器会每隔一段时间把中间模型保存,例如按照指定输出路径(output_path)保存。在中断训练后,深度学习服务器会将与目标预置算法的深度学习训练对应的整个容器(docker)关闭,但会保存此任务的信息(该信息可以包括前述步骤306中的训练信息表)至本地(即深度学习服务器中),如训练参数信息、数据集和/或训练得到的中间模型(还可以保存该模型的输出模型路径,后续通过该路径获取中间模型)等。深度学习服务器(即后台)中,对应的目标预置算法的训练任务已不存在,但在终端显示的用户界面(即前台)上,任务状态为暂停,任务依然存在。在后台容器的动作,用户不感知。
步骤D3、深度学习服务器在接收到继续训练指令后,基于训练参数信息,采用目标预置算法、数据集到对中间模型继续进行深度学习训练,得到深度学习模型。
深度学习服务器在中断训练后,可以通过终端呈现继续训练按钮,用户需要继续进行目标预置算法的训练时,可以点击该继续训练按钮,相应的,终端接收继续训练指令,并将该指令发送给深度学习服务器。深度学习服务器在接收到继续训练指令后,可以检索本地是否存储有被中断的任务的信息,当存在被中断的任务的信息,获取该任务的信息,如训练参数信息、数据集以及训练得到的中间模型,从而进行继续训练。
示例的,用户可以通过终端输入模型标识(如模型名称)检索本地是否存储有被中断的任务的信息,在前述步骤D2中,深度学习服务器保存中断的任务的标识,该标识包括模型的标识,或与该模型的标识相同。则深度学习服务器检索本地是否存储有被中断的任务的信息的过程可以包括:终端在继续训练指令中携带模型标识,深度学习服务器在继续训练指令中获取该模型标识,通过该模型标识与预先存储的中断的任务的标识进行比较,将匹配的标识所对应的任务作为继续训练的任务。
示例的,深度学习服务器获取步骤205保存的训练信息表,并对参数信息重新进行组合,在参数中添加里增加中间模型的获取路径,得到如下脚本:
其中checkpoint_path路径即为前述指定输出路径:output_path。在此checkpoint_path为参数名,通常在目标预置算法注册时填写,参加前述表1。深度学习服务器添加此参数后,创建训练任务,整个流程和创建新的训练任务一致。
可选的,深度学习服务器支持二次训练功能。则基于训练参数信息和数据集,采用目标预置算法进行深度学习训练,得到深度学习模型的过程,包括:
步骤E1、深度学习服务器在接收到二次训练指令后,获取基础模型。
二次训练功能实际上是在基于训练参数信息和数据集训练得到一个基础模型之后,再次进行训练的功能。可以实现基础模型的优化。该基础模型为深度学习模型。当深度学习服务器支持二次训练功能时,深度学习服务器可以通过终端显示二次训练功能触发按钮,用户需要进行模型的二次训练时,可以通过点击该二次训练功能触发按钮。相应的,终端接收二次训练指令,并可以将该二次训练指令发送给深度学习服务器。
深度学习服务器可以基于该二次训练指令,创建二次训练任务,通过终端呈现模型获取接口,如模型获取框,通过该模型获取框提示用户输入基础模型的获取路径,在终端接收到该获取路径后,基于该获取路径获取基础模型。该基础模型可以存储在终端或者深度服务器或者其他服务器,本申请实施例对此不做限定。
步骤E2、深度学习服务器基于训练参数信息和数据集,采用目标预置算法对基础模型进行深度学习训练,得到深度学习模型。
在刚创建训练任务得到基础模型后,可以采用二次训练功能,如此无需从头开始训练深度学习模型,减少模型训练耗时。
值得说明的是,前述训练中断功能中再次进行模型训练(即前述步骤D2)的原理与二次训练功能(即前述步骤E1和E2)的原理相同,只是在前台的呈现方式不同。深度学习服务器对两者的后台脚本可以设置为相同,从而节约计算资源。则在执行前述步骤D2时,深度学习服务器可以将中间模型作为前述步骤E1中的基础模型,将获取的输出模型路径作为前述步骤E1中的基础模型的获取路径,从而将步骤E1的输出模型路径和模型标识(如模型名称)作为二次训练所需要的参数信息获取,最终创建一个新的二次训练任务,以执行二次训练任务的方式实现中断后的再训练。
步骤307、深度学习服务器在训练参数信息中获取用于进行模型推理的推理参数信息。
传统的深度学习服务器通常通过接收用户填写的信息的方式获取推理参数信息。但是如此用户填写的信息较多,操作复杂,用户体验较差。
本申请实施例中,深度学习服务器除了支持传统的用户填写的方式,还支持推理参数信息自动联想功能,从而自动获取一个或多个推理参数的推理参数信息。该自动联想功能可以通过预先配置匹配关系和实时匹配两种实现方式来实现,本申请实施例以以下两种实现方式为例进行说明:
在第一种实现方式中,通过预先配置匹配关系的方式实现推理参数信息自动联想功能。则在训练参数信息中获取用于进行模型推理的推理参数信息的过程可以包括:
步骤F1、获取目标预置算法的训练参数与推理参数的匹配关系,该匹配关系用于记录参数信息相同的训练参数和推理参数。
该匹配关系可以是预先生成的,其可以以图形、表格或数据集的方式表征。
示例的,在深度学习服务器生成该目标预置算法后,需要对该目标预置算法进行注册,并生成相应的数据表,该数据表用于记录该目标预置算法的相关参数。该数据表中可记录该匹配关系。
假设该目标预置算法为YOLOv3,表3为该目标预置算法所对应的数据表,则其相关参数可以如表3所示。该表3中记录有该目标预置算法的算法编号,算法名称、训练参数、推理参数,以及匹配关系,前述匹配关系即可通过该表3中的匹配关系表征。其中,“image_w”:”network_w”表示训练参数“network_w”与推理参数“image_w”的参数信息相同;“image_h”:”network_h”表示训练参数”network_h”与推理参数“image_h”的参数信息相同。
表3
示例的,前述匹配关系可以以键-值(key-value)的方式保存,其中,推理参数可以作为key,训练参数可以作为value。这样在查询前述匹配关系时,可以迅速确定与推理参数所匹配的训练参数。
步骤F2、对于目标预置算法的每个推理参数,当匹配关系中记录有推理参数,获取推理参数所对应的训练参数的参数信息,并将获取的参数信息确定为推理参数的参数信息。
以表3为例,算法:YOLOv3的推理参数包括:“arch”,“image_w”,“image_h”等等,对于该三个推理参数中的每个推理参数,查询前述表3中的匹配关系,即表3中的匹配关系,获取推理参数所对应的训练参数的参数信息,并将获取的参数信息确定为推理参数的参数信息。其中,匹配关系中记录有推理参数“image_w”和“image_h”,则获取对应的训练参数:“network_w”和”network_h”的参数信息。例如,“network_w”的训练参数信息为224,即network_w=224,则将该参数信息作为推理参数“image_w”的参数信息,则image_w=224。深度学习服务器可以将该参数信息自动填写至推理创建任务页面中的推理参数的参数栏里。
在前述步骤305中,深度学习服务器会保存模型训练任务的所有训练参数信息,其中,包括用户需要填写的所有训练参数信息。数据表中记录的训练参数至少包括需要用户填写的训练参数。例如,前述目标训练参数或者指定训练参数。如此,前述过程已经获取过相关的训练参数的训练参数信息,则通过该自动联想功能,可以实现在推理阶段用户无需对相同的参数信息进行二次填写。
步骤F3、当匹配关系中未记录有推理参数,获取用户填写的推理参数的推理参数信息。
该推理参数的推理参数信息的获取过程可以参考前述步骤3053中目标训练参数的训练参数信息的获取过程,本申请实施例对此不做赘述。
在另一种实现方式中,通过实时匹配的方式实现推理参数信息自动联想功能。则在训练参数信息中获取用于进行模型推理的推理参数信息的过程,包括:
步骤G1、对于目标预置算法的每个推理参数,将推理参数与目标预置算法的各个训练参数进行匹配。
示例的,该实时匹配的方式可以通过相似度检测的方式实现。例如,对于每个推理参数,计算该推理参数与目标预置算法的各个训练参数的相似度,当某一训练参数与该推理参数的相似度大于指定相似度阈值,确定该某一训练参数为与该推理参数匹配的训练参数;当各个训练参数均与该推理参数的相似度均不大于指定相似度阈值,则不存在与该推理参数匹配的训练参数。
在一种可选方式中,由于一些场景中,两种参数出现包含连续相同字符的情况,针对这种情况,两种参数实际表征相同或相近的含义,本申请实施例可以识别这种情况,假设第一训练参数为目标预置算法中任一训练参数,对于每个推理参数,计算该推理参数与目标预置算法的第一训练参数的相似度的过程包括:
获取该推理参数与第一训练参数中连续且相同的字符个数m;获取该推理参数与该第一训练参数中字符数最多的参数的字符总数n;将该字符个数m与字符总数n的比值作为该推理参数与该第一训练参数相似度。例如训练参数为:data_path,推理参数为data_url,两者连续且的字符为“data_”中的四个字符,也即是字符个数m=5;训练参数和推理参数中字符最多的参数为训练参数“data_path”,字符总数n=9,则相似度为:5/9=55.5%。又例如,训练参数为:output_url,推理参数为output,相似度为6/10=60%。
在另一种可选方式中,由于一些场景中,参数出现缩写的情况,针对这种情况,缩写与未缩写的参数实际表征相同或相近的含义,本申请实施例可以识别这种情况,假设第一训练参数为目标预置算法中任一训练参数,对于每个推理参数,计算该推理参数与目标预置算法的第一训练参数的相似度的过程包括:
当推理参数和第一训练参数中存在包括指定分隔符的第一参数,按照排列顺序将第一参数中由指定分隔符分隔得到的每组中字符中的首字母依次与第二参数的每个字符对应比较,第二参数为推理参数和第一训练参数中除第一参数之外的参数,将与对应字符相同的首字母的总数r与第一参数的首字母总数q的比值作为该推理参数与该第一训练参数相似度,示例的,该指定分隔符可以为“_”。例如,训练参数为learning_rate,推理参数为lr,则第一参数为learning_rate,第二参数为lr,第一参数的首字母总数q为2,与对应字符相同的首字母的总数r为2,则相似度为100%。又例如,learning_rate_tmp和lr的相似度则为2/3=66.7%。
前述两种可选方式仅以第一训练参数为例进行说明,目标预置算法中的其他训练参数与推理参数的相似度也可以参考前述过程,本申请实施例对此不再赘述。
步骤G2、当任一训练参数与推理参数匹配,获取任一训练参数的参数信息,并将获取的参数信息确定为推理参数的参数信息。
步骤G3、目标预置算法的各个训练参数中不存在与推理参数匹配的训练参数,获取用户填写的推理参数的推理参数信息。
该推理参数的推理参数信息的获取过程可以参考前述步骤3053中目标训练参数的训练参数信息的获取过程,本申请实施例对此不做赘述。
前述步骤G1至G3的过程可以参考图8,深度学习服务器可以既有获取的目标预置算法的算法ID查询推理参数列表,得到该目标预置算法的推理参数列表,再通过查询匹配关系,将匹配的训练参数的训练参数读取,作为推理参数信息。
前述自动联想功能针对使用预置算法训练出来的深度学习模型进行验证推理。使用深度学习模型进行推理时所需要输入的参数信息和此深度学习模型的训练任务相关,如需要输入的推理参数包括以下至少一种:深度学习模型训练时的算法架构(如ResNet-50、vgg或fast-RCNN等)、深度学习模型的输入数据尺寸(宽+高)、数据集种类数等。通过该自动联想功能,深度学习服务器会自动筛选出这些信息,并在创建推理任务时,进行自动联想和自动填充,无需用户填写联想到的推理参数的参数信息,实现流程自动化,提高用户体验。此外也可降低操作失误导致的任务失败的风险。
步骤308、深度学习服务器基于推理参数信息,对深度学习模型进行推理。
深度学习服务器完成深度学习模型的推理后,可以通过终端向用户输出该深度学习模型。
本申请实施例,通过基于训练参数信息和数据集,采用目标预置算法进行深度学习训练,得到深度学习模型。无需用户编写训练脚本和推理脚本,操作过程简单,有效提高了深度学习模型的训练效率较低。相应的,简化了深度学习平台的使用复杂度,提高了其通用性。
请参考图6,图6示出了深度学习训练平台提供的服务端到端的整个流程,依次为数据管理(即数据集上传)、模型训练、模型管理(即训练输出的模型)、模型发布(即前述模型推理),无需经过模型开发这个步骤。用户页面提供预置算法页签(或按钮),用户可以选择一种预置算法(如YOLOv3),深度学习服务器会自动填充参数列表,用户只需要再填写一些必要信息(如前述目标训练参数的训练参数信息)就可以创建训练作业。因此极大地简化了操作复杂度和模型训练难度。
本申请实施例中,前述多用户类型功能,可以在满足用户由于不同的能力要求以及对模型性能要求的基础上任务训练创建;前述自动联想功能,可以实现端到端流程自动化,可通过将训练的任务信息进行归档保存并筛选联想,自动填充至推理任务中,无需用户操作,减少了手动操作失误导致的问题;前述格式识别功能,在任务创建前就可以自动识别出用户的数据集的格式,如果不是支持的数据集格式,还可进行自动格式转换。本申请实施例通过上述功能,提供了端到端的预置算法解决方案,包括训练和推理,并围绕着整个流程的每个阶段都部署了功能点来保证流程的自动化和智能化,提高用户体验感。
需要说明的是,本申请实施例提供的深度学习模型的训练步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
本申请实施例提供一种深度学习模型的训练装置70,如图9所示,所述装置包括:
第一接收模块701,用于接收算法选择指令,所述算法选择指令用于指示用户在至少一个预置算法中选择的目标预置算法;
第二接收模块702,用于接收数据集;
第一获取模块703,用于获取所述目标预置算法的训练参数信息;
训练模块704,用于基于所述训练参数信息和所述数据集,采用所述目标预置算法进行深度学习训练,得到深度学习模型。
本申请实施例提供的深度学习模型的训练装置,通过基于训练参数信息和数据集,采用目标预置算法进行深度学习训练,得到深度学习模型。无需用户编写训练脚本和推理脚本,操作过程简单,有效提高了深度学习模型的训练效率较低。相应的,简化了深度学习平台的使用复杂度,提高了其通用性。
可选的,所述第一获取模块703,用于:确定用户的用户类型;基于确定的用户类型,在所述目标预置算法的训练参数中确定待填写训练参数信息的目标训练参数;获取所述用户填写的所述目标训练参数的训练参数信息;当所述目标预置算法的训练参数中包括除所述目标训练参数之外的其他参数,获取所述其他参数的默认训练参数信息。
可选的,所述第一获取模块703,用于:当所述用户类型为第一用户类型,将所述目标预置算法的训练参数中的第一训练参数确定为目标训练参数;当所述用户类型为第二用户类型,将所述目标预置算法的训练参数中的第二训练参数确定为目标训练参数;其中,所述目标预置算法的训练参数中的第一训练参数包括所述目标预置算法的训练参数中的第二训练参数,且所述目标预置算法的训练参数中的第一训练参数的个数大于所述目标预置算法的训练参数中的第二训练参数的个数。
可选的,所述训练模块704,用于:
检测所述数据集的格式;当所述格式与所述目标预置算法支持的数据集格式不同时,将所述数据集转换为所述目标预置算法支持的数据集格式的数据集;基于所述训练参数信息和所述数据集,采用所述目标预置算法对转换后的所述数据集进行深度学习训练,得到深度学习模型。
可选的,所述训练模块704,用于:在对所述数据集进行深度学习训练的过程中,接收训练中断指令;基于所述训练中断指令,暂停对所述深度学习训练,保存所述训练参数信息、所述数据集以及训练得到的中间模型,并释放所述深度学习训练所占用的资源;在接收到继续训练指令后,基于所述训练参数信息,采用所述目标预置算法、所述数据集到对所述中间模型继续进行深度学习训练,得到深度学习模型。
可选的,所述训练模块704,用于:在接收到二次训练指令后,获取基础模型;基于所述训练参数信息和所述数据集,采用所述目标预置算法对所述基础模型进行深度学习训练,得到深度学习模型。
可选的,如图10所示,所述装置70还包括:
第二获取模块705,用于在所述训练参数信息中获取用于进行模型推理的推理参数信息;
推理模块706,用于基于所述推理参数信息,对所述深度学习模型进行推理。
可选的,所述第二获取模块705,用于:获取所述目标预置算法的训练参数与推理参数的匹配关系,所述匹配关系用于记录参数信息相同的训练参数和推理参数;对于所述目标预置算法的每个推理参数,当所述匹配关系中记录有所述推理参数,获取所述推理参数所对应的训练参数的参数信息,并将获取的参数信息确定为所述推理参数的参数信息。
可选的,所述第二获取模块705,用于:对于所述目标预置算法的每个推理参数,将所述推理参数与所述目标预置算法的各个训练参数进行匹配;当任一训练参数与所述推理参数匹配,获取所述任一训练参数的参数信息,并将获取的参数信息确定为所述推理参数的参数信息。
可选地,图11示意性地提供本申请所述服务器的一种可能的基本硬件架构。该服务器可以是前述深度学习服务器。
参见图11,服务器800包括处理器801、存储器802、通信接口803和总线804。
服务器800中,处理器801的数量可以是一个或多个,图11仅示意了其中一个处理器801。可选地,处理器801,可以是中央处理器(central processing unit,CPU)。如果服务器800具有多个处理器801,多个处理器801的类型可以不同,或者可以相同。可选地,服务器800的多个处理器801还可以集成为多核处理器。
存储器802存储计算机指令和数据;存储器802可以存储实现本申请提供的深度学习模型的训练方法所需的计算机指令和数据,例如,存储器802存储用于实现深度学习模型的训练方法的步骤的指令。存储器802可以是以下存储介质的任一种或任一种组合:非易失性存储器(例如只读存储器(ROM)、固态硬盘(SSD)、硬盘(HDD)、光盘),易失性存储器。
通信接口803可以是以下器件的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
通信接口803用于服务器800与其它服务器或者终端进行数据通信。
总线804可以将处理器801与存储器802和通信接口803连接。这样,通过总线804,处理器801可以访问存储器802,还可以利用通信接口803与其它服务器或者终端进行数据交互。
在本申请中,服务器800执行存储器802中的计算机指令,使得计算设备800实现本申请提供的深度学习模型的训练方法,或者使得计算设备800部署深度学习模型的训练装置。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器的处理器执行以完成本申请各个实施例所示的深度学习模型的训练系统。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例提供一种深度学习模型的训练系统,该系统的结构可以参考图1,所述系统包括:
终端和深度学习服务器,所述深度学习服务器前述实施例中任一所述的深度学习模型的训练装置。
本申请实施例提供一种存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序在被处理器执行时使得所述处理器实现本申请实施例提供的所述的深度学习模型的训练方法。
需要说明的是:上述实施例提供的深度学习模型的训练装置在深度学习模型的训练时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的深度学习模型的训练装置与深度学习模型的训练的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请中术语“A和B的至少一种”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和B的至少一种,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请中术语“A参考B”,可以表示:A和B相同,或者A在B的基础上进行简单变形。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (21)
1.一种深度学习模型的训练方法,其特征在于,所述方法包括:
接收算法选择指令,所述算法选择指令用于指示用户在至少一个预置算法中选择的目标预置算法;
接收数据集;
获取所述目标预置算法的训练参数信息;
基于所述训练参数信息和所述数据集,采用所述目标预置算法进行深度学习训练,得到深度学习模型。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标预置算法的训练参数信息,包括:
确定用户的用户类型;
基于确定的用户类型,在所述目标预置算法的训练参数中确定待填写训练参数信息的目标训练参数;
获取所述用户填写的所述目标训练参数的训练参数信息;
当所述目标预置算法的训练参数中包括除所述目标训练参数之外的其他参数,获取所述其他参数的默认训练参数信息。
3.根据权利要求2所述的方法,其特征在于,所述基于确定的用户类型,在所述目标预置算法的训练参数中确定待填写训练参数信息的目标训练参数,包括:
当所述用户类型为第一用户类型,将所述目标预置算法的训练参数中的第一训练参数确定为目标训练参数;
当所述用户类型为第二用户类型,将所述目标预置算法的训练参数中的第二训练参数确定为目标训练参数;
其中,所述目标预置算法的训练参数中的第一训练参数包括所述目标预置算法的训练参数中的第二训练参数,且所述目标预置算法的训练参数中的第一训练参数的个数大于所述目标预置算法的训练参数中的第二训练参数的个数。
4.根据权利要求1至3任一所述的方法,其特征在于,所述基于所述训练参数信息和所述数据集,采用所述目标预置算法进行深度学习训练,得到深度学习模型,包括:
检测所述数据集的格式;
当所述格式与所述目标预置算法支持的数据集格式不同时,将所述数据集转换为所述目标预置算法支持的数据集格式的数据集;
基于所述训练参数信息和所述数据集,采用所述目标预置算法对转换后的所述数据集进行深度学习训练,得到深度学习模型。
5.根据权利要求1至4任一所述的方法,其特征在于,所述基于所述训练参数信息和所述数据集,采用所述目标预置算法进行深度学习训练,得到深度学习模型,包括:
在对所述数据集进行深度学习训练的过程中,接收训练中断指令;
基于所述训练中断指令,暂停对所述深度学习训练,保存所述训练参数信息、所述数据集以及训练得到的中间模型,并释放所述深度学习训练所占用的资源;
在接收到继续训练指令后,基于所述训练参数信息,采用所述目标预置算法、所述数据集到对所述中间模型继续进行深度学习训练,得到深度学习模型。
6.根据权利要求1至4任一所述的方法,其特征在于,所述基于所述训练参数信息和所述数据集,采用所述目标预置算法进行深度学习训练,得到深度学习模型,包括:
在接收到二次训练指令后,获取基础模型;
基于所述训练参数信息和所述数据集,采用所述目标预置算法对所述基础模型进行深度学习训练,得到深度学习模型。
7.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
在所述训练参数信息中获取用于进行模型推理的推理参数信息;
基于所述推理参数信息,对所述深度学习模型进行推理。
8.根据权利要求7所述的方法,其特征在于,所述在所述训练参数信息中获取用于进行模型推理的推理参数信息,包括:
获取所述目标预置算法的训练参数与推理参数的匹配关系,所述匹配关系用于记录参数信息相同的训练参数和推理参数;
对于所述目标预置算法的每个推理参数,当所述匹配关系中记录有所述推理参数,获取所述推理参数所对应的训练参数的参数信息,并将获取的参数信息确定为所述推理参数的参数信息。
9.根据权利要求7所述的方法,其特征在于,所述在所述训练参数信息中获取用于进行模型推理的推理参数信息,包括:
对于所述目标预置算法的每个推理参数,将所述推理参数与所述目标预置算法的各个训练参数进行匹配;
当任一训练参数与所述推理参数匹配,获取所述任一训练参数的参数信息,并将获取的参数信息确定为所述推理参数的参数信息。
10.一种深度学习模型的训练装置,其特征在于,所述装置包括:
第一接收模块,用于接收算法选择指令,所述算法选择指令用于指示用户在至少一个预置算法中选择的目标预置算法;
第二接收模块,用于接收数据集;
第一获取模块,用于获取所述目标预置算法的训练参数信息;
训练模块,用于基于所述训练参数信息和所述数据集,采用所述目标预置算法进行深度学习训练,得到深度学习模型。
11.根据权利要求10所述的装置,其特征在于,所述第一获取模块,用于:
确定用户的用户类型;
基于确定的用户类型,在所述目标预置算法的训练参数中确定待填写训练参数信息的目标训练参数;
获取所述用户填写的所述目标训练参数的训练参数信息;
当所述目标预置算法的训练参数中包括除所述目标训练参数之外的其他参数,获取所述其他参数的默认训练参数信息。
12.根据权利要求11所述的装置,其特征在于,所述第一获取模块,用于:
当所述用户类型为第一用户类型,将所述目标预置算法的训练参数中的第一训练参数确定为目标训练参数;
当所述用户类型为第二用户类型,将所述目标预置算法的训练参数中的第二训练参数确定为目标训练参数;
其中,所述目标预置算法的训练参数中的第一训练参数包括所述目标预置算法的训练参数中的第二训练参数,且所述目标预置算法的训练参数中的第一训练参数的个数大于所述目标预置算法的训练参数中的第二训练参数的个数。
13.根据权利要求10至12任一所述的装置,其特征在于,所述训练模块,用于:
检测所述数据集的格式;
当所述格式与所述目标预置算法支持的数据集格式不同时,将所述数据集转换为所述目标预置算法支持的数据集格式的数据集;
基于所述训练参数信息和所述数据集,采用所述目标预置算法对转换后的所述数据集进行深度学习训练,得到深度学习模型。
14.根据权利要求10至13任一所述的装置,其特征在于,所述训练模块,用于:
在对所述数据集进行深度学习训练的过程中,接收训练中断指令;
基于所述训练中断指令,暂停对所述深度学习训练,保存所述训练参数信息、所述数据集以及训练得到的中间模型,并释放所述深度学习训练所占用的资源;
在接收到继续训练指令后,基于所述训练参数信息,采用所述目标预置算法、所述数据集到对所述中间模型继续进行深度学习训练,得到深度学习模型。
15.根据权利要求10至13任一所述的装置,其特征在于,所述训练模块,用于:
在接收到二次训练指令后,获取基础模型;
基于所述训练参数信息和所述数据集,采用所述目标预置算法对所述基础模型进行深度学习训练,得到深度学习模型。
16.根据权利要求10至15任一所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于在所述训练参数信息中获取用于进行模型推理的推理参数信息;
推理模块,用于基于所述推理参数信息,对所述深度学习模型进行推理。
17.根据权利要求16所述的装置,其特征在于,所述第二获取模块,用于:
获取所述目标预置算法的训练参数与推理参数的匹配关系,所述匹配关系用于记录参数信息相同的训练参数和推理参数;
对于所述目标预置算法的每个推理参数,当所述匹配关系中记录有所述推理参数,获取所述推理参数所对应的训练参数的参数信息,并将获取的参数信息确定为所述推理参数的参数信息。
18.根据权利要求16所述的装置,其特征在于,所述第二获取模块,用于:
对于所述目标预置算法的每个推理参数,将所述推理参数与所述目标预置算法的各个训练参数进行匹配;
当任一训练参数与所述推理参数匹配,获取所述任一训练参数的参数信息,并将获取的参数信息确定为所述推理参数的参数信息。
19.一种服务器,其特征在于,包括:处理器和存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的所述计算机程序时实现如权利要求1至9任一所述的深度学习模型的训练方法。
20.一种深度学习模型的训练系统,其特征在于,所述系统包括:
终端和深度学习服务器,所述深度学习服务器包括权利要求10至18任一所述的深度学习模型的训练装置。
21.一种存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序在被处理器执行时使得所述处理器实现如权利要求1至9任一所述的深度学习模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911044447.8A CN111079892A (zh) | 2019-10-30 | 2019-10-30 | 深度学习模型的训练方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911044447.8A CN111079892A (zh) | 2019-10-30 | 2019-10-30 | 深度学习模型的训练方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111079892A true CN111079892A (zh) | 2020-04-28 |
Family
ID=70310585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911044447.8A Pending CN111079892A (zh) | 2019-10-30 | 2019-10-30 | 深度学习模型的训练方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111079892A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582872A (zh) * | 2020-05-06 | 2020-08-25 | 支付宝(杭州)信息技术有限公司 | 异常账号检测模型训练、异常账号检测方法、装置及设备 |
CN111797294A (zh) * | 2020-07-09 | 2020-10-20 | 上海商汤智能科技有限公司 | 可视化方法及相关设备 |
CN112508193A (zh) * | 2021-02-02 | 2021-03-16 | 江西科技学院 | 一种深度学习平台 |
CN112508191A (zh) * | 2020-12-14 | 2021-03-16 | 北京地平线信息技术有限公司 | 训练深度学习模型的方法及装置、电子设备及存储介质 |
CN113408638A (zh) * | 2021-06-30 | 2021-09-17 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备和计算机存储介质 |
CN115796272A (zh) * | 2022-11-24 | 2023-03-14 | 北京百度网讯科技有限公司 | 基于深度学习平台的模型训练方法、数据处理方法和装置 |
WO2024041130A1 (zh) * | 2022-08-25 | 2024-02-29 | 华为技术有限公司 | 权益分配方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170323199A1 (en) * | 2016-05-05 | 2017-11-09 | Baidu Usa Llc | Method and system for training and neural network models for large number of discrete features for information rertieval |
US20170337478A1 (en) * | 2016-05-22 | 2017-11-23 | Microsoft Technology Licensing, Llc | Self-Learning Technique for Training a PDA Component and a Simulated User Component |
CN107480725A (zh) * | 2017-08-23 | 2017-12-15 | 京东方科技集团股份有限公司 | 基于深度学习的图像识别方法、装置和计算机设备 |
CN109032671A (zh) * | 2018-06-25 | 2018-12-18 | 电子科技大学 | 一种基于数据并行策略的分布式深度学习方法及系统 |
CN109325541A (zh) * | 2018-09-30 | 2019-02-12 | 北京字节跳动网络技术有限公司 | 用于训练模型的方法和装置 |
CN109447248A (zh) * | 2018-11-09 | 2019-03-08 | 深圳增强现实技术有限公司 | 深度学习平台及方法 |
CN109564505A (zh) * | 2016-01-27 | 2019-04-02 | 伯尼塞艾公司 | 被配置为使用教学编程语言进行工作以训练经训练的人工智能模型的人工智能引擎 |
CN109561830A (zh) * | 2016-07-19 | 2019-04-02 | J·斯特雷冈德森 | 基于功效的血流限制训练反馈系统 |
CN110119271A (zh) * | 2018-12-19 | 2019-08-13 | 厦门渊亭信息科技有限公司 | 一种跨机器学习平台的模型定义协议及适配系统 |
CN110163269A (zh) * | 2019-05-09 | 2019-08-23 | 北京迈格威科技有限公司 | 基于深度学习的模型生成方法、装置和计算机设备 |
-
2019
- 2019-10-30 CN CN201911044447.8A patent/CN111079892A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109564505A (zh) * | 2016-01-27 | 2019-04-02 | 伯尼塞艾公司 | 被配置为使用教学编程语言进行工作以训练经训练的人工智能模型的人工智能引擎 |
US20170323199A1 (en) * | 2016-05-05 | 2017-11-09 | Baidu Usa Llc | Method and system for training and neural network models for large number of discrete features for information rertieval |
US20170337478A1 (en) * | 2016-05-22 | 2017-11-23 | Microsoft Technology Licensing, Llc | Self-Learning Technique for Training a PDA Component and a Simulated User Component |
CN109561830A (zh) * | 2016-07-19 | 2019-04-02 | J·斯特雷冈德森 | 基于功效的血流限制训练反馈系统 |
CN107480725A (zh) * | 2017-08-23 | 2017-12-15 | 京东方科技集团股份有限公司 | 基于深度学习的图像识别方法、装置和计算机设备 |
CN109032671A (zh) * | 2018-06-25 | 2018-12-18 | 电子科技大学 | 一种基于数据并行策略的分布式深度学习方法及系统 |
CN109325541A (zh) * | 2018-09-30 | 2019-02-12 | 北京字节跳动网络技术有限公司 | 用于训练模型的方法和装置 |
CN109447248A (zh) * | 2018-11-09 | 2019-03-08 | 深圳增强现实技术有限公司 | 深度学习平台及方法 |
CN110119271A (zh) * | 2018-12-19 | 2019-08-13 | 厦门渊亭信息科技有限公司 | 一种跨机器学习平台的模型定义协议及适配系统 |
CN110163269A (zh) * | 2019-05-09 | 2019-08-23 | 北京迈格威科技有限公司 | 基于深度学习的模型生成方法、装置和计算机设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582872A (zh) * | 2020-05-06 | 2020-08-25 | 支付宝(杭州)信息技术有限公司 | 异常账号检测模型训练、异常账号检测方法、装置及设备 |
CN111797294A (zh) * | 2020-07-09 | 2020-10-20 | 上海商汤智能科技有限公司 | 可视化方法及相关设备 |
CN112508191A (zh) * | 2020-12-14 | 2021-03-16 | 北京地平线信息技术有限公司 | 训练深度学习模型的方法及装置、电子设备及存储介质 |
CN112508193A (zh) * | 2021-02-02 | 2021-03-16 | 江西科技学院 | 一种深度学习平台 |
CN113408638A (zh) * | 2021-06-30 | 2021-09-17 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备和计算机存储介质 |
WO2024041130A1 (zh) * | 2022-08-25 | 2024-02-29 | 华为技术有限公司 | 权益分配方法及装置 |
CN115796272A (zh) * | 2022-11-24 | 2023-03-14 | 北京百度网讯科技有限公司 | 基于深度学习平台的模型训练方法、数据处理方法和装置 |
CN115796272B (zh) * | 2022-11-24 | 2024-03-12 | 北京百度网讯科技有限公司 | 基于深度学习平台的模型训练方法、数据处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111079892A (zh) | 深度学习模型的训练方法、装置及系统 | |
US10692030B2 (en) | Process visualization platform | |
CN106067080B (zh) | 提供可配置工作流能力 | |
CN108304201B (zh) | 对象更新方法、装置及设备 | |
CN111061817B (zh) | 自适应业务构建系统、方法及计算机可读介质 | |
CN111176697A (zh) | 服务实例部署方法、数据处理方法及集群联邦 | |
US10902339B2 (en) | System and method providing automatic completion of task structures in a project plan | |
US10606450B2 (en) | Method and system for visual requirements and component reuse driven rapid application composition | |
US11468786B2 (en) | Generating tool-based smart-tutorials | |
US11983636B2 (en) | Automated analytical model retraining with a knowledge graph | |
CN111930290B (zh) | 资源部署方法及装置 | |
US10402399B2 (en) | Computer implemented system and method for dynamically optimizing business processes | |
EP3413149A1 (en) | Field device commissioning system and field device commissioning method | |
CN115392501A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN112035555B (zh) | 一种信息展示方法、装置及设备 | |
US20210124752A1 (en) | System for Data Collection, Aggregation, Storage, Verification and Analytics with User Interface | |
EP3009900A1 (en) | Dynamic recommendation of elements suitable for use in an engineering configuration | |
CN113268232A (zh) | 一种页面皮肤生成方法、装置和计算机可读存储介质 | |
US20230132064A1 (en) | Automated machine learning: a unified, customizable, and extensible system | |
CN114490694A (zh) | 一种业务规则处理方法、装置、服务器及存储介质 | |
CN114217825A (zh) | 用于决策引擎的方法、装置、机器可读存储介质及处理器 | |
CN113467782A (zh) | 一种确定业务流程的方法、装置及设备 | |
CN115248891A (zh) | 一种页面展示方法、装置、电子设备和存储介质 | |
CN112558968A (zh) | 一种资源树视图的生成方法、装置、设备及存储介质 | |
US20190238400A1 (en) | Network element operational status ranking |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220221 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right |