CN110471740A - 执行机器学习任务的方法、装置、设备和计算机存储介质 - Google Patents
执行机器学习任务的方法、装置、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN110471740A CN110471740A CN201910700673.0A CN201910700673A CN110471740A CN 110471740 A CN110471740 A CN 110471740A CN 201910700673 A CN201910700673 A CN 201910700673A CN 110471740 A CN110471740 A CN 110471740A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- mirror image
- container
- image
- learning task
- 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
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种执行机器学习任务的方法、装置、设备和计算机存储介质。涉及云计算领域。所述方法包括:服务器端在获取到机器学习任务之后,确定一个基础镜像;确定与所述基础镜像对应的容器镜像,并从中获取与所述机器学习任务对应的容器镜像作为创建镜像;利用所述基础镜像在云服务器中创建虚拟机,并利用所述创建镜像在所述虚拟机中创建容器实例;在将与所述机器学习任务对应的数据挂载到所述容器实例之后,启动所述容器实例以开始执行所述机器学习任务。本发明能够简化机器学习任务的执行步骤,提升机器学习任务的执行效率。
Description
【技术领域】
本发明涉及云服务技术领域,尤其涉及一种执行机器学习任务的方法、装置、设备和计算机存储介质。
【背景技术】
机器学习任务通常需要极高的数据处理能力,因此目前用户越来越多地使用性能更强的云服务来实现相应的机器学习任务。现有技术通常采取的方法为:用户使用云服务提供商所提供的对应机器学习任务的镜像在云服务器中创建虚拟机,进而在所创建的虚拟机中完成相应的机器学习任务。
但是,由于现有技术将执行机器学习任务所需的组件均集成到一个镜像中,因此在该镜像所创建的虚拟机中只能够执行一个机器学习任务,若想要执行其他的机器学习任务,则需要将已建立的虚拟机删除,再选取对应新任务的镜像重新创建虚拟机,因此执行机器学习任务的步骤较繁琐、效率较低。
【发明内容】
有鉴于此,本发明提供了一种执行机器学习任务的方法、装置、设备和计算机存储介质,用于简化机器学习任务的执行步骤,从而提升机器学习任务的执行效率。
本发明为解决技术问题所采用的技术方案是提供一种执行机器学习任务的方法,所述方法包括:服务器端在获取到机器学习任务之后,确定一个基础镜像;确定与所述基础镜像对应的容器镜像,并从中获取与所述机器学习任务对应的容器镜像作为创建镜像;利用所述基础镜像在云服务器中创建虚拟机,并利用所述创建镜像在所述虚拟机中创建容器实例;在将与所述机器学习任务对应的数据挂载到所述容器实例之后,启动所述容器实例以开始执行所述机器学习任务。
根据本发明一优选实施例,所述基础镜像中包含操作系统、预装应用以及图形处理器GPU驱动的配置模板。
根据本发明一优选实施例,服务器端确定一个基础镜像包括:从预设的通用基础镜像中选取一个镜像。
根据本发明一优选实施例,若所述机器学习任务的个数为一个,则服务器端确定一个基础镜像包括:获取所述机器学习任务的属性信息;确定与所述属性信息对应的一个基础镜像。
根据本发明一优选实施例,所述容器镜像中包含机器学习框架、机器学习库以及统一计算设备架构CUDA的配置模板。
根据本发明一优选实施例,所述确定与所述基础镜像对应的容器镜像包括:获取所述基础镜像中GPU驱动的版本;确定与所述GPU驱动的版本对应的CUDA的版本;确定包含所述CUDA的版本的容器镜像。
根据本发明一优选实施例,所述获取与所述机器学习任务对应的容器镜像作为创建镜像包括:获取所述机器学习任务的类型;将所确定的容器镜像中与所述类型对应的镜像作为创建镜像。
根据本发明一优选实施例,所述启动所述容器实例之后,还包括:将与所述虚拟机对应的GPU作为硬件挂载到所述容器实例中。
根据本发明一优选实施例,所述将与所述虚拟机对应的GPU作为硬件挂载到所述容器实例中包括:若所述容器实例的个数为一个,则将与所述虚拟机对应的全部GPU挂载到所述容器实例中;若所述容器实例的个数大于一个,则按照每个容器实例中至少挂载一个GPU的原则,将与所述虚拟机对应的GPU分别挂载到各容器实例中。
本发明为解决技术问题所采用的技术方案是提供一种执行机器学习任务的装置,所述装置位于服务器端,包括:确定单元,用于在获取到机器学习任务之后,确定一个基础镜像;处理单元,用于确定与所述基础镜像对应的容器镜像,并从中获取与所述机器学习任务对应的容器镜像作为创建镜像;创建单元,用于利用所述基础镜像在云服务器中创建虚拟机,并利用所述创建镜像在所述虚拟机中创建容器实例;执行单元,用于在将与所述机器学习任务对应的数据挂载到所述容器实例之后,启动所述容器实例以开始执行所述机器学习任务。
根据本发明一优选实施例,所述基础镜像中包含操作系统、预装应用以及图形处理器GPU驱动的配置模板。
根据本发明一优选实施例,所述确定单元在确定一个基础镜像时,具体执行:从预设的通用基础镜像中选取一个镜像。
根据本发明一优选实施例,若所述机器学习任务的个数为一个,则所述确定单元在确定一个基础镜像时,具体执行:获取所述机器学习任务的属性信息;确定与所述属性信息对应的一个基础镜像。
根据本发明一优选实施例,所述容器镜像中包含机器学习框架、机器学习库以及统一计算设备架构CUDA的配置模板。
根据本发明一优选实施例,所述处理单元在确定与所述基础镜像对应的容器镜像时,具体执行:获取所述基础镜像中GPU驱动的版本;确定与所述GPU驱动的版本对应的CUDA的版本;确定包含所述CUDA的版本的容器镜像。
根据本发明一优选实施例,所述处理单元在获取与所述机器学习任务对应的容器镜像作为创建镜像时,具体执行:获取所述机器学习任务的类型;将所确定的容器镜像中与所述类型对应的镜像作为创建镜像。
根据本发明一优选实施例,所述执行单元在启动所述容器实例之后,还执行:将与所述虚拟机对应的GPU作为硬件挂载到所述容器实例中。
根据本发明一优选实施例,所述执行单元在将与所述虚拟机对应的GPU作为硬件挂载到所述容器实例中时,具体执行:若所述容器实例的个数为一个,则将与所述虚拟机对应的全部GPU挂载到所述容器实例中;若所述容器实例的个数大于一个,则按照每个容器实例中至少挂载一个GPU的原则,将与所述虚拟机对应的GPU分别挂载到各容器实例中
由以上技术方案可以看出,本发明在获取到机器学习任务之后,首先确定一个基础镜像,然后再根据所确定的基础镜像来确定与其对应的容器镜像,并从中选择与机器学习任务对应的创建镜像,在利用基础镜像创建虚拟机以及利用创建镜像在虚拟机中创建容器实例之后,使得机器学习任务在所创建的容器实例中运行,因此简化了机器学习任务的执行步骤,由于采用了“基础镜像+容器镜像”的方式来执行机器学习任务,能够使得多个容器实例同时运行在同一个虚拟机中,从而提升了机器学习任务的执行效率。
【附图说明】
图1为本发明一实施例提供的一种执行机器学习任务的方法流程图;
图2为本发明一实施例提供的一种执行机器学习任务的装置结构图;
图3为本发明一实施例提供的计算机系统/服务器的框图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1为本发明一实施例提供的一种执行机器学习任务的方法流程图,如图1中所示,所述方法包括:
在101中,服务器端在获取到机器学习任务之后,确定一个基础镜像。
在本步骤中,服务器端在获取到处理机器学习任务的请求之后,确定一个基础镜像。可以理解的是,本发明实施例中的服务器端为能够在云服务器中创建虚拟机并执行机器学习任务的云服务提供商。另外,本步骤对获取的机器学习任务的个数不进行限定,可以为一个,也可以为多个。
其中,本步骤所确定的一个基础镜像用于在云服务器中创建一个虚拟机,以用于在其中运行一个或多个容器实例,基础镜像中包含操作系统、预装应用以及GPU(GraphicsProcessing Unit,图形处理器)驱动的配置模板。
可以理解的是,云服务器中可以预设通用的基础镜像,该通用的基础镜像能够满足大多数机器学习任务的需求。因此,服务器端在获取到机器学习任务之后,即可以从通用的基础镜像中随机选取一个镜像,例如在获取到多个机器学习任务时选取一个通用的基础镜像。
另外,若服务器端仅接收到一个机器学习任务,则本步骤在确定一个基础镜像时,还可以采用以下方式:服务器端获取机器学习任务的属性信息,所获取的属性信息可以为机器学习任务的类型信息、机器学习任务所需的配置信息等;确定与所获取的属性信息对应的一个基础镜像。也就是说,本步骤可以针对不同的机器学习任务来确定不同的基础镜像,从而进一步确保所确定的基础镜像能够满足机器学习任务的需求。
在102中,确定与所述基础镜像对应的容器镜像,并从中获取与所述机器学习任务对应的容器镜像作为创建镜像。
在本步骤中,首先确定与步骤101中所确定的基础镜像对应的容器镜像,然后再从中选取与机器学习任务对应的容器镜像作为创建镜像,所确定的创建镜像用于创建对应机器学习任务的容器实例。可以理解的是,若步骤101中获取了多个机器学习任务,则本步骤会获取对应个数的创建镜像。
优选地,本发明实施例中的容器镜像为Docker镜像,所创建的容器实例为Docker实例。
其中,本步骤所确定的容器镜像用于创建对应机器学习任务的容器实例,容器镜像中包含有机器学习任务所需组件的配置模板,其中所需组件包括机器学习框架、机器学习库、CUDA(Compute Unified Device Architecture,统一计算设备架构)等组件。
由于本发明实施例采用的是在虚拟机中运行容器实例的方式来处理机器学习任务,因此如果出现创建虚拟机所使用的GPU驱动的版本与创建容器实例所使用的CUDA的版本不匹配的问题,则会导致无法成功地使用GPU来处理机器学习任务。
因此,本步骤在确定与基础镜像对应的容器镜像时,可以采用以下方式:获取所确定的基础镜像中GPU驱动的版本;确定与所获取的GPU驱动的版本对应的CUDA的版本;确定包含所确定的CUDA的版本的容器镜像。
另外,本步骤在确定与基础镜像对应的容器镜像时,还可以采用以下方式:获取所确定的基础镜像的标识信息,例如获取基础镜像的名称、编号等;根据预设的对应关系,将与所获取的标识信息对应的镜像确定为容器镜像,该对应关系中包含有各基础镜像的标识信息及其对应的容器镜像。
在确定了与基础镜像对应的容器镜像之后,由于不同的容器镜像支持不同的机器学习任务,因此为了确保机器学习任务能够在所创建的容器实例中顺利运行,本步骤还需要进一步从中确定与机器学习任务对应的镜像。
具体地,本步骤在获取与机器学习任务对应的容器镜像作为创建镜像时,可以采用以下方式:获取机器学习任务的类型;将所确定的容器镜像中与所获取的类型对应的镜像作为创建镜像。可以理解的是,若本步骤获取多个与机器学习任务对应的容器镜像,则从中随机选择一个作为创建镜像。
另外,若步骤101通过机器学习任务的属性信息确定基础镜像,则本步骤可以默认与基础镜像对应的容器镜像与机器学习任务也是相互对应的。
在103中,利用所述基础镜像在云服务器中创建虚拟机,并利用所述创建镜像在所述虚拟机中创建容器实例。
在本步骤中,首先利用步骤101中所确定的基础镜像在云服务器中创建虚拟机,然后利用步骤102中所确定的创建镜像在所创建的虚拟机在中创建容器实例。
可以理解的是,若步骤102获取了多个创建镜像,则本步骤会同时在创建的虚拟机中创建对应个数的容器实例,以分别执行不同的机器学习任务。利用基础镜像创建虚拟机以及利用创建镜像在虚拟机中创建容器实例属于现有技术,在此不进行赘述。
在104中,在将与所述机器学习任务对应的数据挂载到所述容器实例之后,启动所述容器实例以开始执行所述机器学习任务。
在本步骤中,首先获取与机器学习任务对应的数据,然后在将所获取的数据挂载到由步骤103中所创建的容器实例之后,启动容器实例以开始执行相应的机器学习任务。
可以理解的是,若步骤101同时获取了多个机器学习任务,例如数据训练任务或数据计算任务,则本步骤会分别获取与各机器学习任务所对应的数据,进而再将所获取的数据分别挂载到相应的容器实例中。
进一步地,本步骤在虚拟机中启动容器实例后,还可以将与所创建的虚拟机对应的GPU作为硬件挂载到容器实例中,进而在容器实例中运行机器学习任务时,使得机器学习任务能够成功使用GPU。
具体地,本步骤在将与虚拟机对应的GPU作为硬件挂载到容器实例中时,可以采用以下方式:若容器实例的个数为一个,则将与虚拟机对应的全部GPU挂载到容器实例中;若容器实例的个数大于一个,则按照每个容器实例中至少挂载一个GPU的原则,将与虚拟机对应的GPU分别挂载到各容器实例中。
另外,本步骤在将GPU挂载到容器实例中时,还可以根据各容器实例所运行的数据量来确定。例如,若启动的容器实例的个数为2,与虚拟机对应的GPU的个数为3,则可以在运行数据量较大的容器实例中挂载2个GPU,而在运行数据量较小的容器实例中挂载1个GPU。
可以理解的是,若与虚拟机对应的GPU的数量小于运行的容器实例的数量,则本步骤可以向用户发出提示,以提醒用户暂停运行一个或几个容器实例,并在其他容器实例运行完成后再重新启动暂停运行的容器实例,从而完成全部的机器学习任务。
图2为本发明一实施例提供的一种执行机器学习任务的装置结构图,如图2中所示,所述装置包括:确定单元21、处理单元22、创建单元23以及执行单元24。
确定单元21,用于在获取到机器学习任务之后,确定一个基础镜像。
确定单元21在获取到处理机器学习任务的请求之后,确定一个基础镜像。可以理解的是,本发明实施例中的服务器端为能够在云服务器中创建虚拟机并执行机器学习任务的云服务提供商。另外,对确定单元21所获取的机器学习任务的个数不进行限定,可以为一个,也可以为多个。
其中,确定单元21所确定的一个基础镜像用于在云服务器中创建一个虚拟机,以用于在其中运行一个或多个容器实例,基础镜像中包含操作系统、预装应用以及GPU驱动的配置模板。
可以理解的是,云服务器中可以预设通用的基础镜像,该通用的基础镜像能够满足大多数机器学习任务的需求。因此,确定单元21在获取到机器学习任务之后,即可以从通用的基础镜像中随机选取一个镜像,例如在获取到多个机器学习任务时选取一个通用的基础镜像。
另外,若服务器端仅接收到一个机器学习任务,则确定单元21在确定一个基础镜像时,还可以采用以下方式:服务器端获取机器学习任务的属性信息;确定与所获取的属性信息对应的一个基础镜像。也就是说,确定单元21可以针对不同的机器学习任务来确定不同的基础镜像,从而进一步确保所确定的基础镜像能够满足机器学习任务的需求。
处理单元22,用于确定与所述基础镜像对应的容器镜像,并从中获取与所述机器学习任务对应的容器镜像作为创建镜像。
处理单元22首先确定与确定单元21所确定的基础镜像对应的容器镜像,然后再从中选取与机器学习任务对应的容器镜像作为创建镜像,所确定的创建镜像用于创建机器学习任务的容器实例。可以理解的是,若确定单元21获取了多个机器学习任务,则处理单元22会获取对应个数的创建镜像。
优选地,本发明实施例中的容器镜像为Docker镜像,所创建的容器实例为Docker实例。
其中,处理单元22所确定的容器镜像用于创建对应机器学习任务的容器实例,容器镜像中包含有机器学习任务所需组件的配置模板,其中所需组件包括机器学习框架、机器学习库、CUDA等组件。
由于本发明实施例采用的是在虚拟机中运行容器实例的方式来处理机器学习任务,因此如果出现创建虚拟机所使用的GPU驱动的版本与创建容器实例所使用的CUDA的版本不匹配的问题,则会导致无法成功地使用GPU来处理机器学习任务。
因此,处理单元22在确定与基础镜像对应的容器镜像时,可以采用以下方式:获取所确定的基础镜像中GPU驱动的版本;确定与所获取的GPU驱动的版本对应的CUDA的版本;确定包含所确定的CUDA的版本的容器镜像。
另外,处理单元22在确定与基础镜像对应的容器镜像时,还可以采用以下方式:获取所确定的基础镜像的标识信息;根据预设的对应关系,将与所获取的标识信息对应的镜像确定为容器镜像,该对应关系中包含有各基础镜像的标识信息及其对应的容器镜像。
在确定了与基础镜像对应的容器镜像之后,由于不同的容器镜像支持不同的机器学习任务,因此为了确保机器学习任务能够在所创建的容器实例中顺利运行,处理单元22还需要进一步从中确定与机器学习任务对应的镜像。
具体地,处理单元22在获取与机器学习任务对应的容器镜像作为创建镜像时,可以采用以下方式:获取机器学习任务的类型;将所确定的容器镜像中与所获取的类型对应的镜像作为创建镜像。可以理解的是,若处理单元22获取多个与机器学习任务对应的容器镜像,则从中随机选择一个作为创建镜像。
另外,若确定单元21通过机器学习任务的属性信息确定了一个基础镜像,则处理单元22可以默认与基础镜像对应的容器镜像与机器学习任务也是相互对应的。
创建单元23,用于利用所述基础镜像在云服务器中创建虚拟机,并利用所述创建镜像在所述虚拟机中创建容器实例。
创建单元23首先利用确定单元21所确定的基础镜像在云服务器中创建虚拟机,然后利用处理单元22所确定的创建镜像在所创建的虚拟机在中创建容器实例。
可以理解的是,若处理单元22获取了多个创建镜像,则创建单元23会同时在创建的虚拟机中创建对应个数的容器实例,以分别执行不同的机器学习任务。利用基础镜像创建虚拟机以及利用创建镜像在虚拟机中创建容器实例属于现有技术,在此不进行赘述。
执行单元24,用于在将与所述机器学习任务对应的数据挂载到所述容器实例之后,启动所述容器实例以开始执行所述机器学习任务。
执行单元24,首先获取与机器学习任务对应的数据,然后在将所获取的数据挂载到由创建单元23所创建的容器实例之后,启动容器实例以开始执行相应的机器学习任务。
可以理解的是,若确定单元21同时获取了多个机器学习任务,例如数据训练任务或数据计算任务,则执行单元24会分别获取与各机器学习任务所对应的数据,进而再将所获取的数据分别挂载到相应的容器实例中。
进一步地,执行单元24在虚拟机中启动容器实例后,还可以将与所创建的虚拟机对应的GPU作为硬件挂载到容器实例中,进而在容器实例中运行机器学习任务时,使得机器学习任务能够成功使用GPU。
具体地,执行单元24在将与虚拟机对应的GPU作为硬件挂载到容器实例中时,可以采用以下方式:若容器实例的个数为一个,则将与虚拟机对应的全部GPU挂载到容器实例中;若容器实例的个数大于一个,则按照每个容器实例中至少挂载一个GPU的原则,将与虚拟机对应的GPU分别挂载到各容器实例中。
另外,执行单元24在将GPU挂载到容器实例中时,还可以根据各容器实例所运行的数据量来确定。
可以理解的是,若与虚拟机对应的GPU的数量小于运行的容器实例的数量,则执行单元24可以向用户发出提示,以提醒用户暂停运行一个或几个容器实例,并在其他容器实例运行完成后再重新启动暂停运行的容器实例,从而完成全部的机器学习任务。
如图3所示,计算机系统/服务器012以通用计算设备的形式表现。计算机系统/服务器012的组件可以包括但不限于:一个或者多个处理器或者处理单元016,系统存储器028,连接不同系统组件(包括系统存储器028和处理单元016)的总线018。
总线018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器012典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器012访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器028可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)030和/或高速缓存存储器032。计算机系统/服务器012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统034可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线018相连。存储器028可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块042的程序/实用工具040,可以存储在例如存储器028中,这样的程序模块042包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块042通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器012也可以与一个或多个外部设备014(例如键盘、指向设备、显示器024等)通信,在本发明中,计算机系统/服务器012与外部雷达设备进行通信,还可与一个或者多个使得用户能与该计算机系统/服务器012交互的设备通信,和/或与使得该计算机系统/服务器012能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口022进行。并且,计算机系统/服务器012还可以通过网络适配器020与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器020通过总线018与计算机系统/服务器012的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器012使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元016通过运行存储在系统存储器028中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的方法流程。
随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
利用本发明所提供的技术方案,在获取到机器学习任务之后,首先确定一个基础镜像,然后再根据所确定的基础镜像来确定与其对应的容器镜像,并从中选择与机器学习任务对应的创建镜像,在利用基础镜像创建虚拟机以及利用创建镜像在虚拟机中创建容器实例之后,使得机器学习任务在所创建的容器实例中运行,因此简化了机器学习任务的执行步骤,由于采用了“基础镜像+容器镜像”的方式来执行机器学习任务,能够使得多个容器实例同时运行在同一个虚拟机中,从而提升了机器学习任务的执行效率。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (20)
1.一种执行机器学习任务的方法,其特征在于,所述方法包括:
服务器端在获取到机器学习任务之后,确定一个基础镜像;
确定与所述基础镜像对应的容器镜像,并从中获取与所述机器学习任务对应的容器镜像作为创建镜像;
利用所述基础镜像在云服务器中创建虚拟机,并利用所述创建镜像在所述虚拟机中创建容器实例;
在将与所述机器学习任务对应的数据挂载到所述容器实例之后,启动所述容器实例以开始执行所述机器学习任务。
2.根据权利要求1所述的方法,其特征在于,所述基础镜像中包含操作系统、预装应用以及图形处理器GPU驱动的配置模板。
3.根据权利要求1所述的方法,其特征在于,服务器端确定一个基础镜像包括:从预设的通用基础镜像中选取一个镜像。
4.根据权利要求1所述的方法,其特征在于,若所述机器学习任务的个数为一个,则服务器端确定一个基础镜像包括:
获取所述机器学习任务的属性信息;
确定与所述属性信息对应的一个基础镜像。
5.根据权利要求1所述的方法,其特征在于,所述容器镜像中包含机器学习框架、机器学习库以及统一计算设备架构CUDA的配置模板。
6.根据权利要求1所述的方法,其特征在于,所述确定与所述基础镜像对应的容器镜像包括:
获取所述基础镜像中GPU驱动的版本;
确定与所述GPU驱动的版本对应的CUDA的版本;
确定包含所述CUDA的版本的容器镜像。
7.根据权利要求1所述的方法,其特征在于,所述获取与所述机器学习任务对应的容器镜像作为创建镜像包括:
获取所述机器学习任务的类型;
将所确定的容器镜像中与所述类型对应的镜像作为创建镜像。
8.根据权利要求1所述的方法,其特征在于,所述启动所述容器实例之后,还包括:将与所述虚拟机对应的GPU作为硬件挂载到所述容器实例中。
9.根据权利要求8所述的方法,其特征在于,所述将与所述虚拟机对应的GPU作为硬件挂载到所述容器实例中包括:
若所述容器实例的个数为一个,则将与所述虚拟机对应的全部GPU挂载到所述容器实例中;
若所述容器实例的个数大于一个,则按照每个容器实例中至少挂载一个GPU的原则,将与所述虚拟机对应的GPU分别挂载到各容器实例中。
10.一种执行机器学习任务的装置,其特征在于,所述装置位于服务器端,包括:
确定单元,用于在获取到机器学习任务之后,确定一个基础镜像;
处理单元,用于确定与所述基础镜像对应的容器镜像,并从中获取与所述机器学习任务对应的容器镜像作为创建镜像;
创建单元,用于利用所述基础镜像在云服务器中创建虚拟机,并利用所述创建镜像在所述虚拟机中创建容器实例;
执行单元,用于在将与所述机器学习任务对应的数据挂载到所述容器实例之后,启动所述容器实例以开始执行所述机器学习任务。
11.根据权利要求10所述的装置,其特征在于,所述基础镜像中包含操作系统、预装应用以及图形处理器GPU驱动的配置模板。
12.根据权利要求10所述的装置,其特征在于,所述确定单元在确定一个基础镜像时,具体执行:从预设的通用基础镜像中选取一个镜像。
13.根据权利要求10所述的装置,其特征在于,若所述机器学习任务的个数为一个,则所述确定单元在确定一个基础镜像时,具体执行:
获取所述机器学习任务的属性信息;
确定与所述属性信息对应的一个基础镜像。
14.根据权利要求10所述的装置,其特征在于,所述容器镜像中包含机器学习框架、机器学习库以及统一计算设备架构CUDA的配置模板。
15.根据权利要求10所述的装置,其特征在于,所述处理单元在确定与所述基础镜像对应的容器镜像时,具体执行:
获取所述基础镜像中GPU驱动的版本;
确定与所述GPU驱动的版本对应的CUDA的版本;
确定包含所述CUDA的版本的容器镜像。
16.根据权利要求10所述的装置,其特征在于,所述处理单元在获取与所述机器学习任务对应的容器镜像作为创建镜像时,具体执行:
获取所述机器学习任务的类型;
将所确定的容器镜像中与所述类型对应的镜像作为创建镜像。
17.根据权利要求10所述的装置,其特征在于,所述执行单元在启动所述容器实例之后,还执行:将与所述虚拟机对应的GPU作为硬件挂载到所述容器实例中。
18.根据权利要求17所述的装置,其特征在于,所述执行单元在将与所述虚拟机对应的GPU作为硬件挂载到所述容器实例中时,具体执行:
若所述容器实例的个数为一个,则将与所述虚拟机对应的全部GPU挂载到所述容器实例中;
若所述容器实例的个数大于一个,则按照每个容器实例中至少挂载一个GPU的原则,将与所述虚拟机对应的GPU分别挂载到各容器实例中。
19.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~9中任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910700673.0A CN110471740A (zh) | 2019-07-31 | 2019-07-31 | 执行机器学习任务的方法、装置、设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910700673.0A CN110471740A (zh) | 2019-07-31 | 2019-07-31 | 执行机器学习任务的方法、装置、设备和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110471740A true CN110471740A (zh) | 2019-11-19 |
Family
ID=68509307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910700673.0A Pending CN110471740A (zh) | 2019-07-31 | 2019-07-31 | 执行机器学习任务的方法、装置、设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471740A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021120968A1 (zh) * | 2020-03-24 | 2021-06-24 | 聚好看科技股份有限公司 | 一种服务器扩容方法及扩容系统 |
CN113157281A (zh) * | 2021-03-26 | 2021-07-23 | 北京百度网讯科技有限公司 | 开发环境的创建方法、装置、电子设备和存储介质 |
CN113391878A (zh) * | 2021-05-26 | 2021-09-14 | 浙江大华技术股份有限公司 | 远程访问方法、装置、系统和存储介质 |
CN114003346A (zh) * | 2021-11-12 | 2022-02-01 | 深圳前海微众银行股份有限公司 | 任务处理方法、设备、存储介质及程序产品 |
CN114448998A (zh) * | 2021-12-17 | 2022-05-06 | 广州极飞科技股份有限公司 | 网络请求处理方法、装置、设备及存储介质 |
RU2785555C1 (ru) * | 2022-11-14 | 2022-12-09 | Общество с ограниченной ответственностью "Центр трансфера технологий ФИНДАТАХАБ" | Способ обработки данных пользователя |
-
2019
- 2019-07-31 CN CN201910700673.0A patent/CN110471740A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021120968A1 (zh) * | 2020-03-24 | 2021-06-24 | 聚好看科技股份有限公司 | 一种服务器扩容方法及扩容系统 |
CN113157281A (zh) * | 2021-03-26 | 2021-07-23 | 北京百度网讯科技有限公司 | 开发环境的创建方法、装置、电子设备和存储介质 |
CN113157281B (zh) * | 2021-03-26 | 2024-02-13 | 北京百度网讯科技有限公司 | 开发环境的创建方法、装置、电子设备和存储介质 |
CN113391878A (zh) * | 2021-05-26 | 2021-09-14 | 浙江大华技术股份有限公司 | 远程访问方法、装置、系统和存储介质 |
CN114003346A (zh) * | 2021-11-12 | 2022-02-01 | 深圳前海微众银行股份有限公司 | 任务处理方法、设备、存储介质及程序产品 |
CN114448998A (zh) * | 2021-12-17 | 2022-05-06 | 广州极飞科技股份有限公司 | 网络请求处理方法、装置、设备及存储介质 |
CN114448998B (zh) * | 2021-12-17 | 2024-03-01 | 广州极飞科技股份有限公司 | 网络请求处理方法、装置、设备及存储介质 |
RU2785555C1 (ru) * | 2022-11-14 | 2022-12-09 | Общество с ограниченной ответственностью "Центр трансфера технологий ФИНДАТАХАБ" | Способ обработки данных пользователя |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471740A (zh) | 执行机器学习任务的方法、装置、设备和计算机存储介质 | |
US10776144B2 (en) | Address space management with respect to a coherent accelerator processor interface architecture | |
CN106846497B (zh) | 应用于终端的呈现三维地图的方法和装置 | |
CN109960541A (zh) | 启动小程序的方法、设备和计算机存储介质 | |
CN108519967A (zh) | 图表可视化方法、装置、终端和存储介质 | |
CN110232411B (zh) | 模型蒸馏实现方法、装置、系统、计算机设备及存储介质 | |
CN109246225A (zh) | 一种资源分配、发放及领取方法 | |
US20200142725A1 (en) | Distributed notebook kernels in a containerized computing environment | |
WO2023169521A1 (zh) | 字段合并方法、装置和电子设备 | |
WO2019236278A1 (en) | Placing and solving constraints on a 3d environment | |
CN111754305A (zh) | 产品定制方法、装置、设备和存储介质 | |
RU2433462C2 (ru) | Альтернативный графический конвейер | |
CN109960554A (zh) | 展示阅读内容的方法、设备和计算机存储介质 | |
CN110517028A (zh) | 支付账单的方法、设备和计算机存储介质 | |
CN109218393A (zh) | 一种推送的实现方法、装置、设备和计算机存储介质 | |
CN115658301A (zh) | 存储资源调度方法、装置、存储介质以及电子设备 | |
CN113656359A (zh) | 三维模型的轻量化方法、装置、计算机设备及存储介质 | |
CN114170381A (zh) | 三维路径展示方法、装置、可读存储介质及电子设备 | |
CN109347899A (zh) | 在分布式存储系统中写入日志数据的方法 | |
US11645323B2 (en) | Coarse-to-fine multimodal gallery search system with attention-based neural network models | |
CN109684103A (zh) | 一种接口调用方法、装置、服务器及存储介质 | |
CN110489210A (zh) | 创建虚拟机的方法、装置、设备和计算机存储介质 | |
US10168999B2 (en) | Software object definition and integration | |
CN109189332A (zh) | 一种磁盘挂载方法、装置、服务器及存储介质 | |
CN110089076A (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 |