CN112394944B - 分布式开发方法、装置、存储介质及计算机设备 - Google Patents
分布式开发方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN112394944B CN112394944B CN201910746048.XA CN201910746048A CN112394944B CN 112394944 B CN112394944 B CN 112394944B CN 201910746048 A CN201910746048 A CN 201910746048A CN 112394944 B CN112394944 B CN 112394944B
- Authority
- CN
- China
- Prior art keywords
- training
- distributed
- computing nodes
- tasks
- file system
- 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
Links
- 238000011161 development Methods 0.000 title claims abstract description 147
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012549 training Methods 0.000 claims abstract description 347
- 238000004891 communication Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013459 approach Methods 0.000 claims description 5
- 238000012423 maintenance Methods 0.000 abstract description 13
- 238000005516 engineering process Methods 0.000 abstract description 4
- 239000002699 waste material Substances 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种分布式开发方法、装置、存储介质及计算机设备。其中,该方法包括:建立Docker,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;接收进行分布式开发的训练任务;为训练任务分配计算资源,其中,计算资源包括集群中的计算节点;为分配有训练任务的计算节点挂载分布式文件系统;通过在分配有训练任务的计算节点加载Docker的方式,分别执行分配给计算节点的训练任务。通过本发明,解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种分布式开发方法、装置、存储介质及计算机设备。
背景技术
在相关技术的分布式开发(例如,语音识别)中,语言模型和声学模型的训练,对数据量要求非常高,随之带来的问题就是如何提高计算效率。传统的隐马尔可夫模型-高斯混合模型(Hidden Markov Model-Gaussian Mixture Model,简称为HMM-GMM)、隐马尔可夫模型-深度神经网络(Hidden Markov Model-Deep Neural Ne tworks,简称为HMM-DNN)技术需要的训练数据量在一万小时左右就能达到不错的效果。为了达到更高的精度,新的如deep speech需要的数据量在10万小时,传统的单机多卡的训练方式已经无法满足更大量数据的训练需求。
为满足大量数据的训练需求,在相关技术中,公开号为CN104853061B的专利申请提出了一种基于Hadoop的视频处理方法及系统:将待处理视频文件上传至Hadoop分布式文件系统;基于Fuse-DFS子项目,将所述待处理视频文件挂载到所述Hadoop分布式文件系统中各集群节点的本地文件系统上;通过JavaCV调用OpenCV和FFMEPG对挂载于本地文件系统,但存储于所述Hadoop分布式文件系统中的待处理视频文件基于MapReduce并行计算模型进行并行分析。该视频处理方法在Hadoop系统上实现与集群节点数成正比的加速。
但采用该视频处理方法,存在使用场景的限制,需要专门定制集群。主要存在两个问题:一个是企业内部计算机群是公用的,定制集群意味着集群规模受限,无法在训练期间达到很高的算力;第二是,在非训练时段,集群的闲置,会导致计算资源的浪费,从而导致无法充分的利用分布式集群的弹性计算。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种分布式开发方法、装置、存储介质及计算机设备,以至少解决在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
根据本发明实施例的一个方面,提供了一种分布式开发方法,包括:建立Docker,其中,所述Docker中部署有进行分布式开发的工具代码和框架;接收进行分布式开发的训练任务;为所述训练任务分配计算资源,其中,所述计算资源包括集群中的计算节点;为分配有所述训练任务的计算节点挂载分布式文件系统;通过在分配有所述训练任务的计算节点加载所述Docker的方式,分别执行分配给所述计算节点的训练任务。
根据本发明实施例的另一个方面,提供了一种分布式开发方法,包括:接收进行分布式开发的的训练请求,其中,所述训练请求中携带有进行分布式开发的训练任务;采用以下训练方式,执行所述训练任务,得到训练结果,其中,所述训练方式包括:为所述训练任务分配集群中的计算节点,在所述计算节点挂载分布式文件系统,通过在所述计算节点上加载预先建立的Docker的方式,分别执行所述训练任务,得到训练结果,其中,所述Docker中部署有进行分布式开发的的工具代码和框架;反馈进行分布式开发的训练结果。
根据本发明实施例的一个方面,提供了一种分布式开发装置,包括:建立模块,用于建立Docker,其中,所述Docker中部署有进行进行分布式开发的工具代码和框架;第一接收模块,用于接收进行分布式开发的训练任务;分配模块,用于为所述训练任务分配计算资源,其中,所述计算资源包括集群中的计算节点;挂载模块,用于为分配有所述训练任务的计算节点挂载分布式文件系统;第一执行模块,用于通过在分配有所述训练任务的计算节点加载所述Docker的方式,分别执行分配给所述计算节点的训练任务。
根据本发明实施例的另一个方面,提供了一种分布式开发装置,包括:第二接收模块,用于接收进行分布式开发的训练请求,其中,所述训练请求中携带有进行分布式开发的的训练任务;第二执行模块,用于采用以下训练方式,执行所述训练任务,得到训练结果,其中,所述训练方式包括:为所述训练任务分配集群中的计算节点,在所述计算节点挂载分布式文件系统,通过在所述计算节点上加载预先建立的Docker的方式,分别执行所述训练任务,得到训练结果,其中,所述Docker中部署有进行分布式开发的工具代码和框架;反馈模块,用于反馈进行分布式开发的训练结果。
根据本发明实施例的一个方面,提供了一种存储介质,所述存储介质存储有程序,其中,在所述程序被处理器运行时控制所述处理器执行上述任意一项所述的分布式开发方法。
根据本发明实施例的另一个方面,提供了一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序;所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行上述任意一项所述的分布式开发方法。
在本发明实施例中,采用为进行分布式开发的训练任务分配集群中的计算节点,在所述计算节点挂载分布式文件系统,并通过在所述计算节点上加载预先建立的部署有进行分布式开发的工具代码和框架的Docker的方式,分别执行所述训练任务。采用在计算节点上加载Docker,因而不需要重复部署训练环境,维护成本低;而且为分配的计算节点挂载分布式文件系统进行训练,实现多个计算节点共享一块分布式文件系统的硬盘,实现了能够依据训练需求灵活申请集群的计算资源的目的,达到了通过低成本的对分布式集群进行改造,从而实现大规模的分布式开发的效果,进而解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现分布式开发方法的计算机终端的硬件结构框图;
图2是根据本发明实施例提供的分布式开发方法一的流程图;
图3是根据本发明实施例提供的分布式开发方法二的流程图;
图4是根据本发明优选实施方式提供的分布式的弹性训练方案的流程图;
图5是根据本发明实施例2的分布式开发装置一的结构框图;
图6是根据本发明实施例3的分布式开发装置二的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到个可移植的容器中,然后发布到任何流行的Linux机器上或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
Hadoop分布式文件系统,即HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集的应用处理带来了很多便利。
fuse-DFS,是hadoop项目自带的一个功能模块。主要实现把dfs上的数据映射至本地指定mount点。由于现存的软件无法直接使用hdfs上的数据,所以此时可以借助fuse来实现本地文件系统的映射。
mpi,是一个跨语言的通讯协议,用于编写并行计算机。支持点对点和广播。mpi是一个信息传递应用程序接口,包括协议和和语义说明,他们指明其如何在各种实现中发挥其特性。mpi的目标是高性能,大规模性,和可移植性。mpi在今天仍为高性能计算的主要模型。
实施例1
根据本发明实施例,还提供了一种分布式开发方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现分布式开发方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:传输模块、显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的远程认证方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的基于安全计算卡的度量方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述传输模块用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
基于上述运行环境,在本发明实施例中,提供了一种分布式开发方法,图2是根据本发明实施例提供的分布式开发方法一的流程图,如图2所示,该流程包括如下步骤:
步骤S202,建立Docker,其中,Docker中部署有进行分布式开发的工具代码和框架;
作为一种可选的实施例,本实施例的执行主体可以是一种计算机终端,该计算机终端的类型可以是多种,例如,可以是一种移动终端,例如,手机,移动电话,Ipad等。该计算机终端还可以是一种服务器,其中,该服务器可以是本地服务器,也可以是位于某一网络上的远程服务器。
作为一种可选的实施例,本实施例所提供的分布式开发方法可以适用于任何分布式环境下的开发,例如,可以应用于语音识别的训练,可以应用于图像识别的训练,以及其它与人工智能相关的其它训练等。
作为一种可选的实施例,建立Docker可以由某一事件触发,例如,在接收到需要对进行分布式开发的训练任务时,触发建立Docker。也可以是设备出厂或者系统默认建立的,例如,在出厂设备中的默认系统中建立有该Docker,也可以是后续安装预定功能的系统时建立该Docker。
作为一种可选的实施例,建立Docker,Docker中部署有进行进行分布式开发的训练的工具代码和框架。由于进行分布式开发的训练对工具代码和框架的依赖较强,因此,在Docker内部署了所有的用于训练的工具代码和框架。这样,当任务提交后,可以直接进入Docker执行子任务,就不需要重复部署环境。
步骤S204,接收进行分布式开发的训练任务;
作为一种可选的实施例,接收进行分布式开发的训练任务的方式可以有多种,例如,可以由本发明实施例的执行主体直接接收该训练任务,也可以由其它实体通过转发到执行主体的方式。例如,接收训练任务可以采用以下方式:通过网关接收训练任务。
步骤S206,为训练任务分配计算资源,其中,该计算资源包括集群中的计算节点;
作为一种可选的实施例,为训练任务分配计算资源时,也可以采用多种方式,例如,当计算资源为集群中的计算节点时,并且通过网关来分配计算资源时,为训练任务分配计算资源可以采用以下方式:通过网关向集群申请计算资源,并将申请的计算资源分配给训练任务。通过网关的方式为训练任务分配计算资源,以及计算资源包括集群中的计算节点均属于一种举例,为训练任务分配计算资源还可以采用其它方式,在此不进行一一列举。
步骤S208,为分配有训练任务的计算节点挂载分布式文件系统;
作为一种可选的实施例,为分配有训练任务的计算节点挂载分布式文件系统也可以采用多种方式,例如,可以采用以下方式为分配有训练任务的计算节点挂载分布式文件系统:使用fuse-DFS对分布式文件系统进行抽象,得到抽象的分布式文件系统;为分配有训练任务的计算节点挂载抽象的分布式文件系统。这样每个计算节点共享了同一块分布式文件系统抽象出来的硬盘,这样就将分布式文件系统的计算集群组成了类似单机多卡的环境。
步骤S210,通过在分配有训练任务的计算节点加载Docker的方式,分别执行分配给计算节点的训练任务。
作为一种可选的实施例,在分配有训练任务的计算节点加载Docker,由于Docker部署有所有进行分布式开发的训练的工具代码和框架,因此,在训练时加入了具体的分布式开发的训练环境(例如,对于语音识别的语音的训练环境),进入Docker后就可以直接执行提交的训练任务。
作为一种可选的实施例,在分配有训练任务的计算节点加载建立的Docker的方式,依据不同的训练任务,可以针对不同的方式,例如,可以包括以下之一:在分配有训练任务的计算节点存在多个,并且训练任务之间不需要通信的情况下,采用map/reduce的方式加载建立的Docker;在分配有训练任务的计算节点存在多个,并且训练任务之间需要通信的情况下,采用mpi的方式加载建立的Docker。不同的训练任务对应采用不同的加载Docker的方式,使得上述训练方式可以适用于所有类型的训练任务。
作为一种可选的实施例,在通过在分配有训练任务的计算节点加载建立的Docker的方式,分别执行分配给计算节点的训练任务之后,还包括:释放为训练任务分配的计算资源。因此,在训练任务执行完成时,释放出对应的计算资源,随着任务结束,计算资源会得到释放,可以被其他计算任务复用,同时不会污染计算环境,使得集群中的计算资源能够得到充分弹性地应用。
在本发明实施例中,采用为语音识别的训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,并通过在计算节点上加载预先建立的部署有进行语音识别的训练的工具代码和框架的Docker的方式,分别执行训练任务。采用在计算节点上加载Docker,因而不需要重复部署训练环境,维护成本低;而且为分配的计算节点挂载分布式文件系统进行训练,实现多个计算节点共享一块分布式文件系统的硬盘,实现了能够依据训练需求灵活申请集群的计算资源的目的,达到了通过低成本的对分布式集群进行改造,从而实现大规模的进行分布式开发的效果,进而解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
在本发明实施例中,提供了一种分布式开发方法,图3是根据本发明实施例提供的分布式开发方法二的流程图,如图3所示,该流程包括如下步骤:
步骤S302,接收进行分布式开发的训练请求,其中,训练请求中携带有进行分布式开发的训练任务;
作为一种可选的实施例,接收进行分布式开发的训练请求的执行主体可以是用于执行分布式开发的任何设备,例如,可以是一种计算机终端,该计算机终端的类型可以是多种,例如,可以是一种移动终端,例如,手机,移动电话,Ipad等。该计算机终端还可以是一种服务器,其中,该服务器可以是本地服务器,也可以是位于某一网络上的远程服务器。
作为一种可选的实施例,本实施例所提供的分布式开发方法可以适用于任何分布式环境下的开发,例如,可以应用于语音识别的训练,可以应用于图像识别的训练,以及其它与人工智能相关的其它训练等。
作为一种可选的实施例,接收进行分布式开发的训练请求可以是通过预定的用户界面接收来自用户的训练请求,即通过用户接口直接接收来自用户的训练需求,使得进行分布式开发的训练可以适用于多种个性的用户需求。
作为一种可选的实施例,接收进行分布式开发的训练请求也可以通过多种方式,例如,可以通过网络中的硬件实体接收的方式来实现,例如,可以通过网关接收语音识别的训练请求。需要说明的是,通过该网关来接收进行分布式开发的训练请求仅是一种举例,并不限定于此。
步骤S304,采用以下训练方式,执行训练任务,得到训练结果,其中,训练方式包括:为训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,通过在计算节点上加载预先建立的Docker的方式,分别执行训练任务,得到训练结果,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;
作为一种可选的实施例,在采用的训练方式中,为训练任务分配集群中的计算节点也可以采用多种方式,例如,为训练任务分配集群中的计算节点可以采用以下方式:通过网关向集群申请计算资源的方式,为训练任务分配集群中的计算节点。
作为一种可选的实施例,在对执行训练任务,得到训练结果之后,还包括:释放此轮为训练任务申请的计算资源。使得执行完训练任务的计算资源可以用于其它任务的计算,实现了集群中的计算资源能够灵活地,充分地弹性应用。
步骤S306,反馈进行分布式开发的训练结果。
作为一种可选的实施例,响应上述训练请求,反馈进行分布式开发的训练结果。反馈进行分布式开发的训练结果可以依据训练结果的表现形式,采用不同的展示方式。例如,可以采用屏幕显示的方式展示,可以采用语音播报的方式展示,还可以采用屏幕显示和语音播报的方式同时展示。
作为一种可选的实施例,应用上述进行分布式开发的训练任务也可以是多种类型的,例如,该训练任务可以包括:需要在多个计算节点间通信的训练任务和不需要在多个计算节点间通信的训练任务,其中,针对需要在多个计算节点间通信的训练任务,采用mpi的方式加载预先建立的Docker;针对不需要在多个计算节点间通信的训练任务,采用map/reduce的方式加载预先建立的Docker。
基于上述实施例及优选实施例,提供了一种优选的实施方式。
在本优选实施方式中,以语音识别的训练任务为例进行举例说明。语音识别的训练有如下特点,一个是数据量大,对计算要求高,另一个就是对工具代码和框架依赖强,比如,隐马尔可夫模型工具包(Hidden Markov Model Toolkit,简称为HTK)、KALDI、tensorflow等。由于工具代码和框架比较重,所以在训练开始阶段,需要对环境进行配置,编译部署工具代码和框架,然后才可以开始做训练工作。但是,如果要使用分布式计算集群,由于分布式计算集群是通用计算集群,所以在没有环境以来的情况下,无法做订制的训练,这里最直接的做法就如上述所介绍的,将分布式集群的所有节点都部署和开发环境一样的代码工具和框架,这样当任务提交的时候,不论提交在任何节点,都可以运行任务。但这种定制集群的方法限制了可以试用的整个集群的规模,同时也会造成计算资源的浪费,最关键的一点,搭建和维护成本过高。基于上述问题,在本发明的优选实施方式中,提供了一种分布式的弹性训练方案,用于语音识别的训练,以满足算法日益增长的计算量需求。
本优选实施方式所提供的分布式的弹性训练方案是一种更轻量级的解决方案,图4是根据本发明优选实施方式提供的分布式的弹性训练方案的流程图,如图4所示,该流程包括如下步骤:
第(0)步,开发功能模块,使用fuse-DFS对分布式文件系统进行抽象,可以使挂载抽象出来的分布式文件系统的机器,像操作本地磁盘一样操作分布式文件系统,这个开发功能模块在提交任务后使用。
第(1)步,建立一个Docker,并在Docker内部署了所有的用于训练的工具代码和框架。这样,当任务提交后,可以直接进入Docker执行子任务,就不需要重复部署环境。
第(2)步,将需要做的训练任务提交到网关(Gateway),网关发起任务,向分布式文件系统申请计算资源。
第(3)步,当计算资源(多个计算节点)分配给提交的任务时,每个节点就都可以执行训练任务了,在执行训练任务之前,先执行轻量级改造逻辑。
第(4)步,挂载文件系统,挂载使用fuse-DFS抽象的分布式文件系统,这样每个计算节点共享了同一块分布式文件系统抽象出来的硬盘,这样就将分布式文件系统的计算集群组成了类似单机多卡的环境。
第(5)步,把Docker拉起来,这样语音的训练环境也有了,最后进入Docker,执行提交的训练任务。
第(6)步,结束后返回结果,完成一轮任务训练。
在上述优选实施方式中,提供了一套完整的语音弹性训练方案,其中的分布式集群既可以hadoop的map/reduce,也可以mpi,该方案实现了低成本的改造计算集群来适应训练,不仅不会污染集群,而且通用性好。
在上述优选实施方式中,随着任务结束,计算资源会得到释放,可以被其他计算任务复用,同时不会污染计算环境。
另外,针对不同类型的任务,对于不需要计算节点间有通信的任务,可以采用map/reduce的方式拉起;对于需要有通信的任务,采用mpi的方式拉起,这样可以满足所有类型的任务训练。
通过上述优选实施方式,采用在计算节点上加载Docker,因而不需要重复部署训练环境,维护成本低;而且为分配的计算节点挂载分布式文件系统进行训练,实现多个计算节点共享一块分布式文件系统的硬盘,实现了能够依据训练需求灵活申请集群的计算资源的目的,达到了通过低成本的对分布式集群进行改造,从而实现大规模的进行分布式开发的效果,进而解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
在本发明实施例中,还提供了一种分布式开发装置,图5是根据本发明实施例2的分布式开发装置一的结构框图,如图5所示,该装置包括:建立模块50,第一接收模块52,分配模块54,挂载模块56和第一执行模块58,下面对该装置进行说明。
建立模块50,用于建立Docker,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;第一接收模块52,连接至上述建立模块50,用于接收进行分布式开发的训练任务;分配模块54,连接至上述第一接收模块52,用于为训练任务分配计算资源,其中,计算资源包括集群中的计算节点;挂载模块56,连接至上述分配模块54,用于为分配有训练任务的计算节点挂载分布式文件系统;第一执行模块58,连接至上述挂载模块56,用于通过在分配有训练任务的计算节点加载Docker的方式,分别执行分配给计算节点的训练任务。
通过上述分布式开发装置,采用为进行分布式开发的训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,并通过在计算节点上加载预先建立的部署有进行分布式开发的工具代码和框架的Docker的方式,分别执行训练任务。采用在计算节点上加载Docker,因而不需要重复部署训练环境,维护成本低;而且为分配的计算节点挂载分布式文件系统进行训练,实现多个计算节点共享一块分布式文件系统的硬盘,实现了能够依据训练需求灵活申请集群的计算资源的目的,达到了通过低成本的对分布式集群进行改造,从而实现大规模的进行分布式开发的效果,进而解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
此处需要说明的是,该分布式开发装置一对应于上述实施例1中图2所包括的步骤S202至步骤S210。上述分布式开发装置一与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例3
在本发明实施例中,还提供了一种分布式开发装置,图6是根据本发明实施例3的分布式开发装置二的结构框图,如图6所示,该装置包括:第二接收模块62,第二执行模块64和反馈模块66,下面对该装置进行说明。
第二接收模块62,用于接收进行分布式开发的训练请求,其中,训练请求中携带有用于进行分布式开发的训练任务;第二执行模块64,连接至上述第二接收模块62,用于采用以下训练方式,执行训练任务,得到训练结果,其中,训练方式包括:为训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,通过在计算节点上加载预先建立的Docker的方式,分别执行训练任务,得到训练结果,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;反馈模块66,连接至上述第二执行模块64,用于反馈进行分布式开发的训练结果。
此处需要说明的是,该分布式开发装置二对应于上述实施例1中图3所包括的步骤S302至步骤S306。上述分布式开发装置二与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例4
本发明的实施例可以提供一种计算机终端(或称计算机设备),该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,该计算机设备可以包括:存储器和处理器,存储器存储有计算机程序;处理器,用于执行存储器中存储的计算机程序,计算机程序运行时使得处理器执行上述任意一项的方法。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的基于安全计算卡的度量方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于安全计算卡的度量方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:建立Docker,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;接收进行分布式开发的训练任务;为训练任务分配计算资源,其中,计算资源包括集群中的计算节点;为分配有训练任务的计算节点挂载分布式文件系统;通过在分配有训练任务的计算节点加载Docker的方式,分别执行分配给计算节点的训练任务。
可选地,上述处理器还可以执行如下步骤的程序代码:接收进行分布式开发的训练任务包括:通过网关接收训练任务;为训练任务分配计算资源包括:通过网关向集群申请计算资源,并将申请的计算资源分配给训练任务。
可选地,上述处理器还可以执行如下步骤的程序代码:为分配有训练任务的计算节点挂载分布式文件系统包括:使用fuse-DFS对分布式文件系统进行抽象,得到抽象的分布式文件系统;为分配有训练任务的计算节点挂载抽象的分布式文件系统。
可选地,上述处理器还可以执行如下步骤的程序代码:在分配有训练任务的计算节点加载建立的Docker的方式包括以下之一:在分配有训练任务的计算节点存在多个,并且训练任务之间不需要通信的情况下,采用map/reduce的方式加载建立的Docker;在分配有训练任务的计算节点存在多个,并且训练任务之间需要通信的情况下,采用mpi的方式加载建立的Docker。
可选地,上述处理器还可以执行如下步骤的程序代码:在通过在分配有训练任务的计算节点加载建立的Docker的方式,分别执行分配给计算节点的训练任务之后,还包括:释放为训练任务分配的计算资源。
可选地,上述处理器还可以执行如下步骤的程序代码:进行分布式开发的训练任务包括:用于语音识别的训练任务。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收进行分布式开发的训练请求,其中,训练请求中携带有用于进行分布式开发的训练任务;采用以下训练方式,执行训练任务,得到训练结果,其中,训练方式包括:为训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,通过在计算节点上加载预先建立的Docker的方式,分别执行训练任务,得到训练结果,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;反馈进行分布式开发的训练结果。
可选地,上述处理器还可以执行如下步骤的程序代码:接收进行分布式开发的训练请求包括:通过网关接收进行分布式开发的训练请求;为训练任务分配集群中的计算节点包括:通过网关向集群申请计算资源的方式,为训练任务分配集群中的计算节点;在对执行训练任务,得到训练结果之后,还包括:释放此轮为训练任务申请的计算资源。
可选地,上述处理器还可以执行如下步骤的程序代码:训练任务包括:需要在多个计算节点间通信的训练任务和不需要在多个计算节点间通信的训练任务,其中,针对需要在多个计算节点间通信的训练任务,采用mpi的方式加载预先建立的Docker;针对不需要在多个计算节点间通信的训练任务,采用map/reduce的方式加载预先建立的Docker。
可选地,上述处理器还可以执行如下步骤的程序代码:进行分布式开发的训练任务包括:用于语音识别的训练任务。
在本发明实施例中,采用为进行分布式开发的训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,并通过在计算节点上加载预先建立的部署有进行分布式开发的工具代码和框架的Docker的方式,分别执行训练任务。采用在计算节点上加载Docker,因而不需要重复部署训练环境,维护成本低;而且为分配的计算节点挂载分布式文件系统进行训练,实现多个计算节点共享一块分布式文件系统的硬盘,实现了能够依据训练需求灵活申请集群的计算资源的目的,达到了通过低成本的对分布式集群进行改造,从而实现大规模的分布式开发的效果,进而解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
本领域普通技术人员可以理解,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。本发明实施例并不对上述电子装置的结构造成限定。例如,上述计算机设备还可包括更多或者更少的组件(如网络接口、显示装置等),或者具有不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的任意分布式开发方法所对应的程序代码,在程序代码被处理器运行时控制处理器执行上述任意一项的分布式开发方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:建立Docker,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;接收进行分布式开发的训练任务;为训练任务分配计算资源,其中,计算资源包括集群中的计算节点;为分配有训练任务的计算节点挂载分布式文件系统;通过在分配有训练任务的计算节点加载Docker的方式,分别执行分配给计算节点的训练任务。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:接收进行分布式开发的训练任务包括:通过网关接收训练任务;为训练任务分配计算资源包括:通过网关向集群申请计算资源,并将申请的计算资源分配给训练任务。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:为分配有训练任务的计算节点挂载分布式文件系统包括:使用fuse-DFS对分布式文件系统进行抽象,得到抽象的分布式文件系统;为分配有训练任务的计算节点挂载抽象的分布式文件系统。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:在分配有训练任务的计算节点加载建立的Docker的方式包括以下之一:在分配有训练任务的计算节点存在多个,并且训练任务之间不需要通信的情况下,采用map/reduce的方式加载建立的Docker;在分配有训练任务的计算节点存在多个,并且训练任务之间需要通信的情况下,采用mpi的方式加载建立的Docker。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:在通过在分配有训练任务的计算节点加载建立的Docker的方式,分别执行分配给计算节点的训练任务之后,还包括:释放为训练任务分配的计算资源。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:进行分布式开发的训练任务包括:用于语音识别的训练任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收进行分布式开发的训练请求,其中,训练请求中携带有进行分布式开发的训练任务;采用以下训练方式,执行训练任务,得到训练结果,其中,训练方式包括:为训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,通过在计算节点上加载预先建立的Docker的方式,分别执行训练任务,得到训练结果,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;反馈进行分布式开发的训练结果。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:接收进行分布式开发的训练请求包括:通过网关接收进行分布式开发的训练请求;为训练任务分配集群中的计算节点包括:通过网关向集群申请计算资源的方式,为训练任务分配集群中的计算节点;在对执行训练任务,得到训练结果之后,还包括:释放此轮为训练任务申请的计算资源。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:训练任务包括:需要在多个计算节点间通信的训练任务和不需要在多个计算节点间通信的训练任务,其中,针对需要在多个计算节点间通信的训练任务,采用mpi的方式加载预先建立的Docker;针对不需要在多个计算节点间通信的训练任务,采用map/reduce的方式加载预先建立的Docker。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:进行分布式开发的训练任务包括:用于语音识别的训练任务。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种分布式开发方法,其特征在于,包括:
建立Docker,其中,所述Docker中部署有进行分布式开发的工具代码和框架;
接收进行分布式开发的训练任务;
为所述训练任务分配计算资源,其中,所述计算资源包括集群中的计算节点;
为分配有所述训练任务的计算节点挂载分布式文件系统;
通过在分配有所述训练任务的计算节点加载所述Docker的方式,分别执行分配给所述计算节点的训练任务;
其中,所述为分配有所述训练任务的计算节点挂载分布式文件系统,包括:
使用fuse-DFS对分布式文件系统进行抽象,得到抽象的分布式文件系统;为分配有所述训练任务的计算节点挂载所述抽象的分布式文件系统。
2.根据权利要求1所述的方法,其特征在于:
接收进行分布式开发的所述训练任务包括:通过网关接收所述训练任务;
为所述训练任务分配计算资源包括:通过所述网关向集群申请计算资源,并将申请的计算资源分配给所述训练任务。
3.根据权利要求1所述的方法,其特征在于,在分配有所述训练任务的计算节点加载建立的Docker的方式包括以下之一:
在分配有所述训练任务的计算节点存在多个,并且所述训练任务之间不需要通信的情况下,采用map/reduce的方式加载建立的Docker;
在分配有所述训练任务的计算节点存在多个,并且所述训练任务之间需要通信的情况下,采用mpi的方式加载建立的Docker。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在通过在分配有所述训练任务的计算节点加载建立的Docker的方式,分别执行分配给所述计算节点的训练任务之后,还包括:
释放为所述训练任务分配的计算资源。
5.根据权利要求4所述的方法,其特征在于,进行分布式开发的训练任务包括:用于语音识别的训练任务。
6.一种分布式开发方法,其特征在于,包括:
接收进行分布式开发的训练请求,其中,所述训练请求中携带有用于进行分布式开发的训练任务;
采用以下训练方式,执行所述训练任务,得到训练结果,其中,所述训练方式包括:为所述训练任务分配集群中的计算节点,在所述计算节点挂载分布式文件系统,通过在所述计算节点上加载预先建立的Docker的方式,分别执行所述训练任务,得到训练结果,其中,所述Docker中部署有进行分布式开发的工具代码和框架;
反馈进行分布式开发的训练结果;
其中,所述在所述计算节点挂载分布式文件系统,包括:使用fuse-DFS对所述分布式文件系统进行抽象,得到抽象的分布式文件系统;为分配有所述训练任务的计算节点挂载所述抽象的分布式文件系统。
7.根据权利要求6所述的方法,其特征在于,
接收进行分布式开发的训练请求包括:通过网关接收进行分布式开发的训练请求;
为所述训练任务分配集群中的计算节点包括:通过所述网关向集群申请计算资源的方式,为所述训练任务分配集群中的计算节点;
在对执行所述训练任务,得到训练结果之后,还包括:释放此轮为所述训练任务申请的计算资源。
8.根据权利要求6至7中任一项所述的方法,其特征在于,所述训练任务包括:需要在多个计算节点间通信的训练任务和不需要在多个计算节点间通信的训练任务,其中,针对需要在多个计算节点间通信的训练任务,采用mpi的方式加载预先建立的Docker;针对不需要在多个计算节点间通信的训练任务,采用map/reduce的方式加载预先建立的Docker。
9.根据权利要求8所述的方法,其特征在于,进行分布式开发的训练任务包括:用于语音识别的训练任务。
10.一种分布式开发装置,其特征在于,包括:
建立模块,用于建立Docker,其中,所述Docker中部署有进行分布式开发的工具代码和框架;
第一接收模块,用于接收进行分布式开发的训练任务;
分配模块,用于为所述训练任务分配计算资源,其中,所述计算资源包括集群中的计算节点;
挂载模块,用于为分配有所述训练任务的计算节点挂载分布式文件系统;
第一执行模块,用于通过在分配有所述训练任务的计算节点加载所述Docker的方式,分别执行分配给所述计算节点的训练任务;
其中,所述挂载模块,还用于使用fuse-DFS对分布式文件系统进行抽象,得到抽象的分布式文件系统;为分配有所述训练任务的计算节点挂载所述抽象的分布式文件系统。
11.一种分布式开发装置,其特征在于,包括:
第二接收模块,用于接收进行分布式开发的训练请求,其中,所述训练请求中携带有用于进行分布式开发的训练任务;
第二执行模块,用于采用以下训练方式,执行所述训练任务,得到训练结果,其中,所述训练方式包括:为所述训练任务分配集群中的计算节点,在所述计算节点挂载分布式文件系统,通过在所述计算节点上加载预先建立的Docker的方式,分别执行所述训练任务,得到训练结果,其中,所述Docker中部署有进行分布式开发的工具代码和框架;
反馈模块,用于反馈进行分布式开发的训练结果;
其中,所述第二执行模块,还用于使用fuse-DFS对所述分布式文件系统进行抽象,得到抽象的分布式文件系统;为分配有所述训练任务的计算节点挂载所述抽象的分布式文件系统。
12.一种存储介质,其特征在于,所述存储介质存储有程序,其中,在所述程序被处理器运行时控制所述处理器执行权利要求1至9中任意一项所述的分布式开发方法。
13.一种计算机设备,其特征在于,包括:存储器和处理器,
所述存储器存储有计算机程序;
所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行权利要求1至9中任意一项所述的分布式开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910746048.XA CN112394944B (zh) | 2019-08-13 | 2019-08-13 | 分布式开发方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910746048.XA CN112394944B (zh) | 2019-08-13 | 2019-08-13 | 分布式开发方法、装置、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112394944A CN112394944A (zh) | 2021-02-23 |
CN112394944B true CN112394944B (zh) | 2024-06-25 |
Family
ID=74602646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910746048.XA Active CN112394944B (zh) | 2019-08-13 | 2019-08-13 | 分布式开发方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112394944B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104853061A (zh) * | 2015-05-05 | 2015-08-19 | 中国人民解放军国防科学技术大学 | 一种基于Hadoop的视频处理方法及系统 |
CN105824810A (zh) * | 2015-01-04 | 2016-08-03 | 中国移动通信集团河北有限公司 | 一种Hadoop集群系统及数据处理方法 |
CN108958892A (zh) * | 2018-08-14 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种创建用于深度学习作业的容器的方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936911B (zh) * | 2017-03-13 | 2020-06-23 | 广州五舟科技股份有限公司 | 轻量级分布式计算平台及其计算资源管控方法 |
US10209982B2 (en) * | 2017-05-16 | 2019-02-19 | Bank Of America Corporation | Distributed storage framework information server platform architecture |
CN107733977B (zh) * | 2017-08-31 | 2020-11-03 | 北京百度网讯科技有限公司 | 一种基于Docker的集群管理方法及装置 |
CN107450961B (zh) * | 2017-09-22 | 2020-10-16 | 济南浚达信息技术有限公司 | 一种基于Docker容器的分布式深度学习系统及其搭建方法、工作方法 |
US10776459B2 (en) * | 2017-12-07 | 2020-09-15 | International Business Machines Corporation | Facilitating build and deploy runtime memory encrypted cloud applications and containers |
CN108170820B (zh) * | 2018-01-02 | 2022-04-22 | 联想(北京)有限公司 | 一种容器处理方法、控制服务器及分布式集群 |
CN109062700A (zh) * | 2018-08-21 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种基于分布式系统的资源管理方法及服务器 |
CN109688222B (zh) * | 2018-12-26 | 2020-12-25 | 深圳市网心科技有限公司 | 共享计算资源的调度方法、共享计算系统、服务器及存储介质 |
CN109885389B (zh) * | 2019-02-19 | 2021-07-16 | 浪潮云信息技术股份公司 | 一种基于容器的并行深度学习调度训练方法及系统 |
-
2019
- 2019-08-13 CN CN201910746048.XA patent/CN112394944B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824810A (zh) * | 2015-01-04 | 2016-08-03 | 中国移动通信集团河北有限公司 | 一种Hadoop集群系统及数据处理方法 |
CN104853061A (zh) * | 2015-05-05 | 2015-08-19 | 中国人民解放军国防科学技术大学 | 一种基于Hadoop的视频处理方法及系统 |
CN108958892A (zh) * | 2018-08-14 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种创建用于深度学习作业的容器的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112394944A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140245319A1 (en) | Method for enabling an application to run on a cloud computing system | |
CN111527474B (zh) | 软件功能的动态交付 | |
CN107861760A (zh) | Bios配置方法、终端以及服务器 | |
US9729610B2 (en) | Method for intercepting an instruction produced by an application on a computer | |
CN111984270A (zh) | 应用部署方法和系统 | |
CN115185647B (zh) | virtio设备直通方法及相关装置 | |
CN113033814A (zh) | 训练机器学习模型的方法、装置以及存储介质 | |
KR20210105378A (ko) | 프로그래밍 플랫폼의 사용자 코드 작동 방법 및 플랫폼, 노드, 기기, 매체 | |
CN110806928A (zh) | 一种作业提交方法及系统 | |
CN112035121B (zh) | 一种边缘应用部署方法及系统 | |
CN111880864B (zh) | 基于http的模型调用方法、系统、计算机设备和存储介质 | |
CN113326025B (zh) | 一种单一集群远程持续发布方法及装置 | |
CN110532060A (zh) | 一种混合网络环境数据采集方法及系统 | |
CN114546588A (zh) | 任务的部署方法、装置、存储介质及电子装置 | |
CN112394944B (zh) | 分布式开发方法、装置、存储介质及计算机设备 | |
CN113885971A (zh) | 一种基于自适应平台系统的状态管理方法及装置 | |
CN108259611A (zh) | 集群docker管理方法、装置、系统及可读存储介质 | |
CN112445602A (zh) | 资源调度方法、装置、系统及电子设备 | |
CN111143033A (zh) | 基于可伸缩操作系统的操作执行方法及装置 | |
CN117149413A (zh) | 一种通用ai算法模型云服务集成部署系统及方法 | |
CN116701004A (zh) | 云函数开发方法、装置、电子装置和存储介质 | |
CN116501458A (zh) | 一种任务执行方法、设备和计算机可读存储介质 | |
CN115437647A (zh) | 适配多框架的微服务部署方法、装置、终端及存储介质 | |
CN114257614A (zh) | 一种多业务模式的医院大数据平台系统及资源调度方法 | |
CN116089020B (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 |