一种数据管理方法及装置与流程

文档序号:25543266发布日期:2021-06-18 20:40阅读:76来源:国知局
一种数据管理方法及装置与流程

本申请属于数据处理技术领域,尤其涉及一种数据管理方法及装置。



背景技术:

现有的模型训练过程中,模型的多个任务节点构成一个完整的任务链,多个任务节点间按着固定的顺序执行,并且,通常情况下,设定一个任务节点由一个客户端处理,由于任务节点的数据量庞大,导致客户端的训练进程缓慢,对模型进行训练的效率低下。



技术实现要素:

本申请实施例提供了数据管理方法及装置,可以解决数据管理问题。

第一方面,本申请实施例提供了一种数据管理方法,包括:

获取创建训练任务的请求,根据所述请求创建训练任务,并将所述训练任务的节点分配至任一数据存储管道中;

在接收到运行所述训练任务的请求时,获取客户端的工作状态;

若任一客户端的工作状态为空闲状态,则将所述数据存储管道中存储的训练任务中任一任务状态为待处理状态的节点分配至工作状态为空闲状态的客户端;

控制所述工作状态为空闲状态的客户端执行任务状态为待处理状态的节点的任务,以获得训练任务的训练结果。

第二方面,本申请实施例提供了一种数据管理装置,包括:

创建模块,用于获取创建训练任务的请求,根据所述请求创建训练任务,并将所述训练任务的节点分配至任一数据存储管道中;

接收模块,用于在接收到运行所述训练任务的请求时,获取客户端的工作状态;

第一分配模块,用于若任一客户端的工作状态为空闲状态,则将所述数据存储管道中存储的训练任务中任一任务状态为待处理状态的节点分配至工作状态为空闲状态的客户端;

第一控制模块,用于控制所述工作状态为空闲状态的客户端执行任务状态为待处理状态的节点的任务,以获得训练任务的训练结果。

第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的数据管理方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的数据管理方法。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的数据管理方法。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

本申请实施例通过将训练任务分配在数据存储管道上,并动态的调用空闲状态的客户端执行任一节点的任务,实现了在训练过程中任意切换节点,减小了客户端的数据处理量,提高了模型训练的效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提供的数据管理方法的流程示意图;

图2是本申请一实施例提供的基于数据管理方法的应用场景示意图;

图3是本申请一实施例提供的切换节点的流程示意图;

图4是本申请一实施例提供的基于数据管理方法的训练任务中节点的训练过程示意图;

图5是本申请一实施例提供的数据管理装置的结构示意图;

图6是本申请一实施例提供的终端设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请实施例提供的数据管理方法可以应用于手机、平板电脑、(包括gpu的)服务器、车载设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、上网本、个人数字助理(personaldigitalassistant,pda)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。

例如,所述终端设备可以是wlan中的站点(staion,st),可以是蜂窝电话、无绳电话、会话启动协议(sessioninitiationprotocol,sip)电话、无线本地环路(wirelesslocalloop,wll)站、个人数字处理(personaldigitalassistant,pda)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(settopbox,stb)、用户驻地设备(customerpremiseequipment,cpe)和/或用于在无线系统上进行通信的其它设备以及下一代通信系统,例如,5g网络中的移动终端或者未来演进的公共陆地移动网络(publiclandmobilenetwork,plmn)网络中的移动终端等。

图1示出了本申请提供的数据管理方法的示意性流程图,作为示例而非限定,该方法可以应用于笔记本电脑中。

s101、获取创建训练任务的请求,根据所述请求创建训练任务,并将所述训练任务的节点分配至任一数据存储管道中。

在具体应用中,获取客户端或用户的终端设备发送的创建训练任务的请求,根据训练任务的请求创建对应的训练任务,并将训练任务的节点分配至任一空闲的数据存储管道中。其中,训练任务中的节点包括但不限于训练集节点、验证集节点、测试集节点、训练节点、评估节点和部署节点中的至少一个。数据存储管道(pipelines)是一种链式模型,用于串接不同的程序或不同的组件,让它们组成一条有向无环图((directedacyclicgraph,dag)形式的工作流。

可以通过设置一个以上的数据存储管道可存储一个以上的不同类型的训练任务。

图2示例性的示出了一种基于数据管理方法的应用场景示意图。

s102、在接收到运行所述训练任务的请求时,获取客户端的工作状态。

在具体应用中,在接收到客户端发送的开始运行某一数据存储管道中的训练任务的请求时,获取所有客户端的工作状态。其中,客户端的工作状态包括但不限于空闲状态和任务处理状态。

客户端中不包括任何节点的任务时,该客户端的工作状态为空闲状态;若客户端接收到任一待处理状态的节点的任务,则该客户端的工作状态为任务处理状态,并且开始执行待处理节点的任务。

s103、若任一客户端的工作状态为空闲状态,则将所述数据存储管道中存储的训练任务中任一任务状态为待处理状态的节点分配至工作状态为空闲状态的客户端。

在具体应用中,若获取到任一客户端的工作状态为空闲状态,则将与运行训练任务的请求对应的数据存储管道中存储的训练任务的任一待处理状态的节点分配至工作状态为空闲状态的客户端。其中,节点的任务状态包括但不限于待处理状态、正在处理状态和处理完成状态中的任一种。当任一节点的任务被客户端执行的时候,该节点的任务状态为正在处理状态;任一节点的任务被执行完成后,该节点的任务状态为处理完成状态;若任一节点的任务未被执行,则该节点的任务状态为待处理状态。

通过动态分配客户端gpu/cpu等资源对节点的任务进行处理,能够提高对训练任务的训练效率。

s104、控制所述工作状态为空闲状态的客户端执行任务状态为待处理状态的节点的任务,以获得训练任务的训练结果。

在具体应用中,控制工作状态为空闲状态的客户端执行该客户端中的任务状态为待处理状态的节点的任务,并将上述客户端的工作状态更新为任务处理状态。

其中,控制上述客户端执行该客户端中的任务状态为待处理状态的节点的任务,包括:

将任务状态为待处理状态的节点(主要包括训练集节点、验证集节点、测试集节点和训练节点中至少一个节点)的任务分成多个子任务,并将多个子任务分配至与工作状态为空闲状态的客户端绑定的多个客户端,同时获取同一节点的子任务的执行结果。

实现在数据量大的实际情况下,将数据集节点和训练节点的任务拆分后并行处理,提高数据处理的效率。

然后,将同一节点的所有子任务的执行结果合并,获得节点的任务结果。

最后,获取同一训练任务的节点的任务结果,并将同一训练任务的所有节点的任务结果合并,获得训练任务的训练结果。

作为示例而非限定,训练任务的训练结果可以是任一训练模型或者基于任一训练模型的应用;

其中,训练模型可包括但不限于人脸识别模型、人体追踪模型或指纹识别模型。

在一个实施例中,步骤s104之后,包括:

s105、若接收到切换节点请求,则解析所述切换节点请求,获得所述切换节点请求中包含的目标客户端和待切换节点;其中,所述待切换节点的任务状态为待处理状态。

在具体应用中,接收到切换节点请求时,则解析切换节点请求,获得切换节点请求中包含的目标客户端和待切换节点;

切换节点请求是指将目标客户端的原节点替换为待切换节点的请求。

目标客户端中的原节点是指在接收到切换节点请求之前,被分配至该目标客户端的待处理状态的节点。

在一个实施例中,若解析切换节点请求后,获得目标客户端的工作状态为空闲状态(即该客户端内没有被分配任何节点),则直接将待切换节点分配至该目标客户端中。

s106、控制所述目标客户端停止执行目标客户端内的原节点的任务,并将所述目标客户端的工作状态更新为空闲状态。

在具体应用中,根据切换节点请求控制目标客户端停止执行目标客户端内的原节点的任务,并将目标客户端的工作状态更新为空闲状态;上述目标客户端的工作状态原应为任务处理状态,上述目标客户端中原节点的任务状态应为待处理状态、正在处理状态和处理完成状态中的任一种,若目标客户端中原节点的任务状态为待处理状态或处理完成状态,则不修改目标客户端中原节点的任务状态;

若目标客户端中原节点的任务状态为正在处理状态,则将目标客户端中原节点的任务状态更新为待处理状态。

s107、将所述待切换节点分配至所述目标客户端中,控制所述工作状态为空闲状态的客户端执行所述待切换节点的任务,以获得训练任务的训练结果。

在具体应用中,目标客户端的工作状态已更新为空闲状态,此时将待切换节点分配至目标客户端中,并控制工作状态为空闲状态的客户端执行待切换节点的任务,以获得训练任务的训练结果。

待切换节点是指切换节点请求中包含的用于替换原节点的任务状态为待处理状态的节点,待切换节点的任务状态为待处理状态。

如图3所示,提供了一种切换节点的流程示意图;

图3中,设定数据存储管道pipelines中创建了训练任务模板,训练任务模板包括a、b、c和d共4个节点;

分配并控制a、b、c、d四个工作状态为空闲状态的客户端分别执行节点a1、b1、c1和d1的任务;

接收到切换节点请求时,控制目标客户端a停止执行目标客户端a内的原节点a1的任务,更新目标客户端的工作状态为空闲状态。并将待切换节点a2分配至目标客户端a,控制目标客户端a执行待切换节点a2的任务,与目标客户端a绑定的b、c、d客户端分别执行节点b1、c1和d1的任务。

通过根据切换节点请求切换对应的节点,能够实现在训练过程中随时对各种类型数据集的进行训练,简化了数据集的操作难度,提高了对数据集训练的可延展性,同时提高了节点的复用性、易扩展性。

在一个实施例中,步骤s104,包括:

将任务状态为待处理状态的节点的任务分成多个子任务,并将多个子任务分配至一个以上的工作状态为空闲状态的客户端,使每个工作状态为空闲状态的客户端对应处理一个子任务;

获取同一节点的所有子任务的执行结果,并将同一节点的所有子任务的执行结果合并,作为所述节点的任务结果;

获取同一训练任务的所有节点的任务结果,并将同一训练任务的所有节点的任务结果合并,作为训练任务的训练结果。

在具体应用中,根据任务状态为待处理状态的节点的类型,将任意一个(或任意一个类型)任务状态为待处理状态的节点的任务分成对应类型的多个子任务,并将多个子任务分配至一个以上的空闲状态的客户端,以控制一个空闲状态的客户端对应处理一个子任务,由此获得同一个节点(或者同一个类型节点)的所有子任务的执行结果,并将同一个节点(或者同一个类型)的节点的所有子任务的执行结果合并,获得该节点(或者该类型节点)的任务结果。

然后,获取同一训练任务的所有节点(包括同一训练任务中所有同类型节点和不同类型的节点)的任务结果,并将同一训练任务的所有节点的任务结果合并,获得任意一个训练任务的训练结果。

例如,若节点为训练节点,则将训练数据集分成多个子训练数据集,并将多个子训练数据集分配至与当前客户端绑定的多个客户端,通过与当前客户端绑定的多个客户端对多个子训练数据集进行训练,获得子任务训练后的模型,对同一个节点的子任务训练后的模型(即所有与当前客户端绑定的多个客户端上的子任务训练后的模型)进行合并,获得上述训练节点的任务结果。

例如,获取同一训练任务的所有节点的任务结果(包括训练数据集节点的任务结果、验证数据集的任务结果、测试数据集的任务结果、训练节点的任务结果、评估节点的任务结果以及部署节点的任务结果),并将同一训练任务的所有节点的任务结果进行合并,获得上述训练任务的训练结果。

作为示例而非限定,若同一节点的子节点的执行结果为具有预设形式的结构化数据,则通过对同一节点的子节点的执行结果进行合并,获得最终的具有预设形式的结构化数据,即为节点的任务结果。其中,预设形式可根据实际情况进行具体设定。例如,预设形式可设为数组。

通过将训练任务分成多个节点的任务,将节点的任务分成多个子任务,并分配至空闲状态的客户端进行处理,减小了任一客户端需处理的数据量,提高了客户端训练的效率和训练任务的可执行性。并通过对多个子任务的执行结果进行合并获得节点的任务结果,对多个节点的任务结果进行合并获得训练任务的训练结果,保证了训练结果的准确性。

在一个实施例中,步骤s104之后,包括:

获取任一节点的操作参数;其中,操作参数包括输入数据、输出数据和运行环境参数中的至少一种;

对所述任一节点的操作参数进行数据处理,并将数据处理后的节点的操作参数存储至数据库中;其中,数据处理的方法包括消息队列服务和消息订阅发布中的至少一种。

在具体应用中,对任一节点的操作参数进行数据处理,然后将数据处理后的节点操作参数存储至数据库中,保证操作参数的数据持久化。数据库是指与服务器端节点通信连接的数据库。

数据处理的方法包括但不限于消息队列服务和消息订阅发布中的至少一种。操作参数包括但不限于输入数据、输出数据和运行环境参数中的至少一种。

需要说明的是,消息队列服务既可以集成到服务器端节点执行,也可以在外部服务执行。外部服务是指与当前终端通信连接的其他终端设备。例如,外部服务可以是云服务器。

通过实时或非实时的将任一节点的操作参数进行处理和保存,便于工作人员查询任一节点的训练过程中的操作参数,对训练过程进行分析和判断,并能在训练结果出现问题时,及时定位错误的操作参数。

在一个实施例中,训练任务的节点包括训练集节点、验证集节点、测试集节点、训练节点、评估节点和部署节点中的至少一个。

在一个实施例中,步骤s104,还包括:

s1041、若所述节点为训练集节点和验证集节点中的任一种,则控制所述工作状态为空闲状态的客户端获取对应的满足第一预设条件的训练数据集或验证数据集,打包所述训练数据集或验证数据集,并将打包后的训练数据集或验证数据集发送至任一训练节点;

s1042、若所述节点为测试集节点,则控制所述工作状态为空闲状态的客户端获取对应的满足第一预设条件的测试数据集,打包所述测试数据集,并将打包后的测试数据集发送至任一评估节点。

在具体应用中,若节点为训练集节点,则控制工作状态为空闲状态的客户端获取对应的满足第一预设条件的训练数据集;若节点为验证集节点,则控制工作状态为空闲状态的客户端获取对应的满足第一预设条件的验证数据集;打包训练数据集或验证数据集,并将打包后的训练数据集或验证数据集发送至任一训练节点;

若节点为测试集节点,则控制工作状态为空闲状态的客户端获取对应的满足第一预设条件的测试数据集;打包测试数据集,并将打包后的测试数据集发送至任一评估节点

第一预设条件可根据实际情况进行具体设定;作为示例而非限定,可设定第一预设条件为带有指定标签的数据集。

例如,若设定第一预设条件为带有标签为“aa”的数据集,则节点为验证集节点时,则控制工作状态为空闲状态的客户端获取对应的带有标签为“aa”的验证数据集。

通过获取满足第一预设条件的数据集,并对满足第一预设条件的数据集进行训练,在减小训练数据量的同时保证了训练效果的准确性和稳定性。

s1043、若所述节点为训练节点,则控制所述工作状态为空闲状态的客户端对所述打包后的训练数据集进行预设数量的迭代训练,获得训练后的模型;

s1044、通过打包后的验证数据集对迭代训练过程中每一次迭代训练后的模型进行验证;

若每一次迭代训练后的模型均满足预设要求,则验证通过,将所述训练后的模型发送至评估节点;其中,预设要求包括:模型输出的准确率大于或等于准确率阈值和模型输出的平均精度均值大于或等于平均精度均值阈值中的至少一种。

在具体应用中,打包后的训练数据集用于在训练节点进行迭代训练,打包后的验证数据集用于在训练节点对迭代训练过程进行验证;

若节点为训练节点,则控制工作状态为空闲状态的客户端对打包后的训练数据集进行预设数量的迭代训练,获得训练后的模型。然后,通过打包后的验证数据集对上述迭代训练过程中的每一次迭代训练后的模型进行验证,若验证每一次迭代训练后的模型均满足预设要求,则验证通过,判定迭代训练过程无误,将训练后的模型发送至评估节点;其中,预设数量可根据实际情况进行具体设定,例如,可设定预设数量为5。则可控制控制工作状态为空闲状态的客户端对打包后的训练数据集进行5次迭代训练,获得训练后的模型。其中,预设要求包括:输出的准确率大于或等于准确率阈值和输出的平均精度均值(meanaverageprecision,map)大于或等于平均精度均值阈值中的至少一种。

作为示例而非限定,验证某次迭代训练后的模型是否正确的标准可以根据在训练过程中从验证集输出的指标来判断,如准确率,平均精度均值。

s1045、或者,若所述节点为评估节点,则根据所述打包后的测试数据集对迭代训练过程中的每一次迭代训练后的模型进行测试,获得测试结果满足第二预设条件的任一次迭代训练后的模型作为最优训练后的模型,并发送至部署节点;

在具体应用中,打包后的测试数据集用于在评估节点对迭代训练过程中任一次迭代训练后的模型进行测试、评估,选取测试结果满足第二预设条件的任一次迭代训练后的模型作为最优训练后的模型。第二预设条件可根据实际情况进行具体设定,可作为选取迭代训练过程中测试结果最佳的某次迭代训练后的模型的标准。第二预设条件可设定为测试结果中准确率最大或测试结果中平均精度均值最大。

作为示例而非限定,测试评选标准可以是根据测试数据集对任一次迭代训练后的模型进行测试后输出的指标(即测试结果)来判断。例如,在评估节点上通过打包后的测试数据集对迭代训练过程中每一次迭代训练后的模型进行测试,选取其中输出的准确率最大的某一次迭代训练后的模型作为最优训练后的模型。

s1046、若所述节点为部署节点,发送所述最优迭代训练后的模型和应用部署通知至预设终端设备,接收所述预设终端设备返回的部署结果,作为训练任务的训练结果。

在具体应用中,预设终端设备可以是与当前终端通信连接的云服务器。

将最优迭代训练后的模型发送至部署节点后,通知与当前终端通信连接的云服务器根据最优迭代训练后的模型进行应用部署,接收所述预设终端设备返回的部署结果,作为训练任务的训练结果。其中,控制应用根据最优迭代训练后的模型进行对输入数据进行识别和检测。其中,输入数据根据训练模型的不同可进行具体设定。例如,若训练后的模型是人脸识别模型,则输入数据可以包括但不限于图像或视频。

图4示例性的示出了一种训练任务中节点的训练过程的示意图。

通过对任一节点的训练过程或者任一子任务的训练过程进行验证和评估,保证了训练过程的真实性和可靠性,使得基于评估出的较优或最优的训练后的模型部署的应用适用性更广。

在一个实施例中,步骤s1044之后,包括:

若迭代训练过程中任一次迭代训练后的模型不满足预设要求,则返回执行控制所述工作状态为空闲状态的客户端对所述打包后的训练数据集进行预设数量的迭代训练,直至迭代训练过程中每一次迭代训练后的模型均满足预设要求。

在具体应用中,若通过打包后的验证数据集验证在迭代过程中任一次迭代训练后的模型不满足预设要求,则可返回执行控制工作状态为空闲状态的客户端对原打包后的训练数据集进行预设数量的迭代训练及之后的步骤,直至打包后的验证数据集验证在迭代训练过程中每一次迭代训练后的模型均满足预设要求。

或者,可通过数据集切换节点请求将当前节点的打包后的验证数据集切换为新的打包后的训练数据集,通过控制工作状态为空闲状态的客户端对新的打包后的训练数据集进行新的迭代训练过程及之后的步骤,直至新的迭代训练过程中每一次迭代训练后的模型均满足预设要求。

通过对迭代训练过程的验证,在验证失败时返回重新进行迭代训练,保证迭代训练后的模型的准确性,并且,避免了因中间某一次迭代训练后的错误结果导致最终迭代训练后的结果失败的现象。

本实施例通过将训练任务分配在数据存储管道上,并动态的调用空闲状态的客户端执行任一节点的任务,实现了在训练过程中任意切换节点,减小了客户端的数据处理量,提高了模型训练的效率,同时实现资源利用率最大化。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的数据管理方法,图5示出了本申请实施例提供的数据管理装置100的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图5,该数据管理装置100包括:

创建模块101,用于获取创建训练任务的请求,根据所述请求创建训练任务,并将所述训练任务的节点分配至任一数据存储管道中;

接收模块102,用于在接收到运行所述训练任务的请求时,获取客户端的工作状态;

第一分配模块103,用于若任一客户端的工作状态为空闲状态,则将所述数据存储管道中存储的训练任务中任一任务状态为待处理状态的节点分配至工作状态为空闲状态的客户端;

第一控制模块104,用于控制所述工作状态为空闲状态的客户端执行任务状态为待处理状态的节点的任务,以获得训练任务的训练结果。

在一个实施例中,所述装置100,还包括:

更新模块105,用于若接收到切换节点请求,则解析所述切换节点请求,获得所述切换节点请求中包含的目标客户端和待切换节点;其中,所述待切换节点的任务状态为待处理状态;

第二控制模块106,用于控制所述目标客户端停止执行目标客户端内的原节点的任务,并将所述目标客户端的工作状态更新为空闲状态;

第二分配模块107,用于将所述待切换节点分配至所述目标客户端中,控制所述工作状态为空闲状态的客户端执行所述待切换节点的任务,以获得训练任务的训练结果。

在一个实施例中,数据管理装置100,还包括:

获取模块,用于获取任一节点的操作参数;其中,操作参数包括输入数据、输出数据和运行环境参数中的至少一种;

数据处理模块,用于对所述任一节点的操作参数进行数据处理,并将数据处理后的节点的操作参数存储至数据库中;其中,数据处理的方法包括消息队列服务和消息订阅发布中的至少一种。

本实施例通过将训练任务分配在数据存储管道上,并动态的调用空闲状态的客户端执行任一节点的任务,实现了在训练过程中任意切换节点,减小了客户端的数据处理量,提高了模型训练的效率,同时实现资源利用率最大化。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

图6为本申请一实施例提供的终端设备的结构示意图。如图6所示,该实施例的终端设备6包括:至少一个处理器60(图6中仅示出一个)处理器、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述任意各个数据管理方法实施例中的步骤。

所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的举例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

所称处理器60可以是中央处理单元(centralprocessingunit,cpu),该处理器60还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器61在一些实施例中可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例还提供了一种终端设备,该终端设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1