CN112114931A - 深度学习程序配置方法、装置、电子设备及存储介质 - Google Patents
深度学习程序配置方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112114931A CN112114931A CN201910544488.7A CN201910544488A CN112114931A CN 112114931 A CN112114931 A CN 112114931A CN 201910544488 A CN201910544488 A CN 201910544488A CN 112114931 A CN112114931 A CN 112114931A
- Authority
- CN
- China
- Prior art keywords
- deep learning
- container
- server
- container image
- program
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000013135 deep learning Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 16
- 238000010801 machine learning Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 abstract 5
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000003066 decision tree Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N3/105—Shells for specifying net layout
-
- 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
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
-
- 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/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种深度学习程序配置方法、装置、电子设备及存储介质。所述方法包括:容器管理器获取深度学习程序;容器管理器从获取的所述深度学习程序中解析出性能指标并将所述性能指标发送给服务器;所述服务器根据所述性能指标确定硬件配置及容器映像,根据确定的所述硬件配置及所述容器映像生成一包含所述服务器名称的容器映像标签,并将所述容器映像标签发送给所述容器管理器;及所述容器管理器接收到所述容器映像标签后判断所述容器映像标签中是否包含有所述服务器的名称,当确定所述容器映像标签中包含有所述服务器的名称时根据所述容器映像标签中的硬件配置及容器映像部署所述深度学习程序所对应的容器。
Description
技术领域
本发明涉及深度学习领域,具体涉及一种深度学习程序配置方法、装置、电子设备及存储介质。
背景技术
目前,现有的深度学习应用程序的资源利用率的优化通过代码优化方法实现优化深度学习应用程序的资源利用率,然而该种资源利用率优化方法耗时,造成深度学习应用程序的开发生命周期过长。
发明内容
鉴于以上内容,有必要提出一种深度学习程序配置方法、装置、电子设备及计算机可读存储介质以减少深度学习程序的优化资源利用率的时间,及缩短深度学习应用程序的开发生命周期。
一种深度学习程序配置方法,所述方法包括:
容器管理器获取深度学习程序;
容器管理器从获取的所述深度学习程序中解析出性能指标并将所述性能指标发送给服务器;
所述服务器根据所述性能指标确定硬件配置及容器映像,根据确定的所述硬件配置及所述容器映像生成一包含所述服务器名称的容器映像标签,并将所述容器映像标签发送给所述容器管理器;及
所述容器管理器接收到所述容器映像标签后判断所述容器映像标签中是否包含有所述服务器的名称,当确定所述容器映像标签中包含有所述服务器的名称时根据所述容器映像标签中的硬件配置及容器映像部署所述深度学习程序所对应的容器。
优选地,所述服务器根据所述性能指标确定硬件配置及容器映像包括:
所述服务器根据所述性能指标通过预设规则确定硬件配置及容器映像以使得所述深度学习程序在利用所述硬件配置及容器映像封装程序后运行时间最小。
优选地,所述预设规则为:当所述性能指标中的前向传播时间处于第一阈值范围时,设定硬件配置为将CPU与图形处理器的通信模式设定为nvlink通信模式,及设定所述容器映像为配置应用程序接口;当所述性能指标中的前向传播时间处于第二阈值范围时将所述CPU与所述图形处理器的通信模式设定为pciex2通信模式,及设定所述容器映像为配置应用程序接口。
优选地,所述服务器根据所述性能指标确定硬件配置还包括:
所述服务器根据所述性能指标确定CPU的核数量、存储器容量及图像处理器的数量。
优选地,所述服务器根据所述性能指标确定硬件配置及容器映像包括:
所述服务器根据所述性能指标通过机器学习的方法确定硬件配置及容器映像以使得深度学习程序在利用所述硬件配置及容器映像封装程序后运行时间最小。
优选地,所述容器管理器从获取的所述深度学习程序中解析出性能指标包括:
所述容器管理器利用事件跟踪工具来解析出所述深度学习程序中的性能指标,其中,所述事件跟踪工具可以是SOFA工具或Flame Graph工具。
优选地,所述性能指标包括前向传播时间、后向传播时间、主机到图形处理器的数据复制时间、图形处理器到主机的数据复制时间。
申请的第二方面提供一种深度学习程序配置装置,所述装置包括:
获取模块,应用在容器管理器中,用于获取深度学习程序;
解析模块,应用在所述容器管理器中,用于从获取的所述深度学习程序中解析出性能指标并将所述性能指标发送给服务器;
标签生成模块,应用在所述服务器中,用于根据所述性能指标确定硬件配置及容器映像,根据确定的所述硬件配置及所述容器映像生成一包含所述服务器名称的容器映像标签,并将所述容器映像标签发送给所述容器管理器;及
部署模块,应用在所述容器管理器中,用于接收到所述容器映像标签后判断所述容器映像标签中是否包含有所述服务器的名称,当确定所述容器映像标签中包含有所述服务器的名称时根据所述容器映像标签中的硬件配置及容器映像部署所述深度学习程序所对应的容器。
本申请的第三方面提供一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述深度学习程序配置方法。
本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述深度学习程序配置方法。
本发明中,服务器根据深度学习程序的性能指标确定硬件配置及容器映像,容器管理器根据所述服务器确定硬件配置及容器映像部署所述深度学习程序所对应的容器,减少了深度学习程序的优化资源利用率的时间,并缩短了深度学习应用程序的开发生命周期。
附图说明
图1是本发明一实施方式中深度学习程序配置方法的流程图。
图2是本发明一实施方式中深度学习程序配置方法的应用环境示意图。
图3是本发明一实施方式中深度学习程序配置装置的示意图。
图4是本发明一实施方式中电子设备的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
优选地,本发明深度学习程序配置方法应用在一个或者多个电子设备中。所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是桌上型计算机、笔记本电脑、平板电脑及云端服务器等计算设备。所述设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例1
图1是本发明一实施方式中深度学习程序配置方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
参阅图1所示,所述深度学习程序配置方法具体包括以下步骤:
步骤S11、容器管理器1获取深度学习程序。
请参考图2,所示为本发明一实施方式中学习程序配置方法的应用环境图。本实施方式中,所述方法应用在容器管理器1及服务器2中。本实施方式中,所述容器管理器1通过虚拟本地网络(Virtual Local Network,VLAN)与服务器2通信连接。本实施方式中,所述容器管理器1可以为Kubernetes或KubeFLow容器管理器,所述服务器2可以为服务器集群或云服务器。本实施方式中,所述深度学习程序存储在一容器中,所述容器管理器1从所述容器中获取所述深度学习程序。本实施方式中,所述深度学习程序可以为深度学习应用程序。
步骤S12、容器管理器1从获取的所述深度学习程序中解析出性能指标并将所述性能指标发送给所述服务器2。
本实施方式中,所述容器管理器1利用事件跟踪工具来解析出所述深度学习程序中的性能指标。其中,所述事件跟踪工具可以是SOFA(Swarm-Oriented Function CallAnalysis)工具或Flame Graph工具。本实施方式中,深度学习程序对应的性能指标包括,但不限于前向传播时间(Forward propagation time,FW)、后向传播时间(Backwardpropagation time,BW)、主机到图形处理器(Graphics Processing Unit,GPU)的数据复制时间、GPU到主机的数据复制时间。具体的,所述容器管理器1利用事件跟踪工具通过Http网页协议的函数PUT:performance metrics{}解析出所述深度学习程序中的前向传播时间、后向传播时间、CPU到图形处理器的数据复制时间、图形处理器到主机的数据复制时间等性能参数。在解析出所述深度学习程序中的性能指标后,所述容器管理器1通过RESTfull接口API以JSON格式将解析的性能指标发送给所述服务器2。
步骤S13、所述服务器2根据所述性能指标确定硬件配置及容器映像,根据确定的所述硬件配置及容器映像生成一包含所述服务器2名称的容器映像标签,并将所述容器映像标签发送给所述容器管理器1。
本实施方式中,所述服务器2根据所述性能指标确定硬件配置及容器映像包括:所述服务器2根据所述性能指标通过预设规则确定硬件配置及容器映像以使得深度学习程序在利用所述硬件配置及容器映像封装程序后运行时间最小。具体的,所述预设规则为:当所述性能指标中的前向传播时间处于第一阈值范围时,设定硬件配置为将CPU与图形处理器的通信模式设定为nvlink通信模式,及设定容器映像为配置应用程序接口(ApplicationProgramming Interface,API);当所述性能指标中的前向传播时间处于第二阈值范围时将CPU与图形处理器的通信模式设定为pciex2通信模式,及设定容器映像为配置应用程序接口。本实施方式中,所述第一预设阈值范围小于第二预设阈值范围,所述第一预设阈值范围及第二预设范围可以根据实际需要进行设置。
本实施方式中,所述服务器2根据所述性能指标确定硬件配置还包括:所述服务器2根据所述性能指标确定CPU的核数量、存储器容量及图像处理器的数量。
在另一实施方式中,所述服务器2根据所述性能指标确定硬件配置及容器映像包括:所述服务器2根据所述性能指标通过机器学习的方法确定硬件配置及容器映像以使得深度学习程序在利用所述硬件配置及容器映像封装程序后运行时间最小。本实施方式中,所述机器学习方法为聚类或决策树等机器学习方法。
步骤S14、所述容器管理器1接收到所述容器映像标签后判断所述容器映像标签中是否包含有所述服务器的名称,当确定所述容器映像标签中包含有所述服务器的名称时根据所述容器映像标签中的硬件配置及容器映像部署所述深度学习程序所对应的容器。
本发明中,服务器2根据深度学习程序的性能指标确定硬件配置及容器映像,容器管理器1根据所述服务器2确定硬件配置及容器映像部署所述深度学习程序所对应的容器,减少了深度学习程序的优化资源利用率的时间,并缩短了深度学习应用程序的开发生命周期。
实施例2
图3为本发明一实施方式中深度学习程序配置装置40的示意图。
在一些实施例中,所述深度学习程序配置装置40运行于电子设备中。所述深度学习程序配置装置40可以包括多个由程序代码段所组成的功能模块。所述深度学习程序配置装置40中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行深度学习程序配置的功能。
本实施例中,所述深度学习程序配置装置40根据其所执行的功能,可以被划分为多个功能模块。参阅图3所示,所述深度学习程序配置装置40可以包括获取模块401、解析模块402、标签生成模块403及部署模块404。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。
所述获取模块401,应用在所述容器管理器1中,用于获取深度学习程序。
本实施方式中,所述容器管理器1通过虚拟本地网络与服务器2通信连接。本实施方式中,所述容器管理器1可以为Kubernetes或KubeFLow容器管理器,所述服务器2可以为服务器集群或云服务器。本实施方式中,所述深度学习程序存储在一容器中,所述获取模块401从所述容器中获取所述深度学习程序。本实施方式中,所述深度学习程序可以为深度学习应用程序。
所述解析模块402应用在容器管理器1中,用于从获取的所述深度学习程序中解析出性能指标并将所述性能指标发送给所述服务器2。
本实施方式中,所述解析模块402利用事件跟踪工具来解析出所述深度学习程序中的性能指标。其中,所述事件跟踪工具可以是SOFA(Simple Object-oriented andFlexible Architecture)工具或Flame Graph工具。本实施方式中,深度学习程序对应的性能指标包括,但不限于前向传播时间(Forward propagation time,FW)、后向传播时间(Backward propagation time,BW)、主机到图形处理器(Graphics Processing Unit,GPU)的数据复制时间、GPU到主机的数据复制时间。具体的,所述解析模块402利用事件跟踪工具通过Http网页协议的函数PUT:performance metrics{}解析出所述深度学习程序中的前向传播时间、后向传播时间、CPU到图形处理器的数据复制时间、图形处理器到主机的数据复制时间等性能参数。在解析出所述深度学习程序中的性能指标后,所述解析模块402通过RESTfull接口API以JSON格式将解析的性能指标发送给所述服务器2。
所述标签生成模块403应用在所述服务器2,用于根据所述性能指标确定硬件配置及容器映像,根据确定的所述硬件配置及容器映像生成一包含所述服务器2名称的容器映像标签,并将所述容器映像标签发送给所述容器管理器1。
本实施方式中,所述标签生成模块403根据所述性能指标确定硬件配置及容器映像包括:所述标签生成模块403根据所述性能指标通过预设规则确定硬件配置及容器映像以使得深度学习程序在利用所述硬件配置及容器映像封装程序后运行时间最小。具体的,所述预设规则为:当所述性能指标中的前向传播时间处于第一阈值范围时,设定硬件配置为将CPU与图形处理器的通信模式设定为nvlink通信模式,及设定容器映像为配置应用程序接口(Application Programming Interface,API);当所述性能指标中的前向传播时间处于第二阈值范围时将CPU与图形处理器的通信模式设定为pciex2通信模式,及设定容器映像为配置应用程序接口。本实施方式中,所述第一预设阈值范围小于第二预设阈值范围,所述第一预设阈值范围及第二预设范围可以根据实际需要进行设置。
本实施方式中,所述标签生成模块403根据所述性能指标确定硬件配置还包括:所述标签生成模块403根据所述性能指标确定CPU的核数量、存储器容量及图像处理器的数量。
在另一实施方式中,所述标签生成模块403根据所述性能指标确定硬件配置及容器映像包括:所述标签生成模块403根据所述性能指标通过机器学习的方法确定硬件配置及容器映像以使得深度学习程序在利用所述硬件配置及容器映像封装程序后运行时间最小。本实施方式中,所述机器学习方法为聚类或决策树等机器学习方法。
所述部署模块404应用在容器管理器1中,用于接收到所述容器映像标签后判断所述容器映像标签中是否包含有所述服务器的名称,当确定所述容器映像标签中包含有所述服务器的名称时根据所述容器映像标签中的硬件配置及容器映像部署所述深度学习程序所对应的容器。
本发明中,服务器2根据深度学习程序的性能指标确定硬件配置及容器映像,容器管理器1根据所述服务器2确定硬件配置及容器映像部署所述深度学习程序所对应的容器,减少了深度学习程序的优化资源利用率的时间,并缩短了深度学习应用程序的开发生命周期。
实施例3
图4为本发明电子设备7较佳实施例的示意图。
所述电子设备7包括存储器71、处理器72以及存储在所述存储器71中并可在所述处理器72上运行的计算机程序73。所述处理器72执行所述计算机程序73时实现上述深度学习程序配置方法实施例中的步骤,例如图1所示的步骤S11~S14。或者,所述处理器72执行所述计算机程序73时实现上述深度学习程序配置装置实施例中各模块/单元的功能,例如图3中的模块401~404。
示例性的,所述计算机程序73可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器72执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序73在所述电子设备7中的执行过程。例如,所述计算机程序73可以被分割成图3中的获取模块401、解析模块402、标签生成模块403及部署模块404,各模块具体功能参见实施例二。
本实施方式中,所述电子设备7包括容器管理器1及服务器。在其他实施方式中,所述电子设备7可以是云端服务器等计算设备。本领域技术人员可以理解,所述示意图仅仅是电子设备7的示例,并不构成对电子设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备7还可以包括输入输出设备、网络接入设备、总线等。
所称处理器72可以是中央处理模块(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器72也可以是任何常规的处理器等,所述处理器72是所述电子设备7的控制中心,利用各种接口和线路连接整个电子设备7的各个部分。
所述存储器71可用于存储所述计算机程序73和/或模块/单元,所述处理器72通过运行或执行存储在所述存储器71内的计算机程序和/或模块/单元,以及调用存储在存储器71内的数据,实现所述计电子设备7的各种功能。所述存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备7的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述电子设备7集成的模块/单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能模块可以集成在相同处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他模块或步骤,单数不排除复数。电子设备权利要求中陈述的多个模块或电子设备也可以由同一个模块或电子设备通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种深度学习程序配置方法,其特征在于,所述方法包括:
容器管理器获取深度学习程序;
容器管理器从获取的所述深度学习程序中解析出性能指标并将所述性能指标发送给服务器;
所述服务器根据所述性能指标确定硬件配置及容器映像,根据确定的所述硬件配置及所述容器映像生成一包含所述服务器名称的容器映像标签,并将所述容器映像标签发送给所述容器管理器;及
所述容器管理器接收到所述容器映像标签后判断所述容器映像标签中是否包含有所述服务器的名称,当确定所述容器映像标签中包含有所述服务器的名称时根据所述容器映像标签中的硬件配置及容器映像部署所述深度学习程序所对应的容器。
2.如权利要求1所述的深度学习程序配置方法,其特征在于,所述服务器根据所述性能指标确定硬件配置及容器映像包括:
所述服务器根据所述性能指标通过预设规则确定硬件配置及容器映像以使得所述深度学习程序在利用所述硬件配置及容器映像封装程序后运行时间最小。
3.如权利要求2所述的深度学习程序配置方法,其特征在于,所述预设规则为:当所述性能指标中的前向传播时间处于第一阈值范围时,设定硬件配置为将CPU与图形处理器的通信模式设定为nvlink通信模式,及设定所述容器映像为配置应用程序接口;当所述性能指标中的前向传播时间处于第二阈值范围时将所述CPU与所述图形处理器的通信模式设定为pciex2通信模式,及设定所述容器映像为配置应用程序接口。
4.如权利要求2所述的深度学习程序配置方法,其特征在于,所述服务器根据所述性能指标确定硬件配置还包括:
所述服务器根据所述性能指标确定CPU的核数量、存储器容量及图像处理器的数量。
5.如权利要求2所述的深度学习程序配置方法,其特征在于,所述服务器根据所述性能指标确定硬件配置及容器映像包括:
所述服务器根据所述性能指标通过机器学习的方法确定硬件配置及容器映像以使得深度学习程序在利用所述硬件配置及容器映像封装程序后运行时间最小。
6.如权利要求1所述的深度学习程序配置方法,其特征在于,所述容器管理器从获取的所述深度学习程序中解析出性能指标包括:
所述容器管理器利用事件跟踪工具来解析出所述深度学习程序中的性能指标,其中,所述事件跟踪工具可以是SOFA工具或Flame Graph工具。
7.如权利要求1所述的深度学习程序配置方法,其特征在于,所述性能指标包括前向传播时间、后向传播时间、主机到图形处理器的数据复制时间、图形处理器到主机的数据复制时间。
8.一种深度学习程序配置装置,其特征在于,所述装置包括:
获取模块,应用在容器管理器中,用于获取深度学习程序;
解析模块,应用在所述容器管理器中,用于从获取的所述深度学习程序中解析出性能指标并将所述性能指标发送给服务器;
标签生成模块,应用在所述服务器中,用于根据所述性能指标确定硬件配置及容器映像,根据确定的所述硬件配置及所述容器映像生成一包含所述服务器名称的容器映像标签,并将所述容器映像标签发送给所述容器管理器;及
部署模块,应用在所述容器管理器中,用于接收到所述容器映像标签后判断所述容器映像标签中是否包含有所述服务器的名称,当确定所述容器映像标签中包含有所述服务器的名称时根据所述容器映像标签中的硬件配置及容器映像部署所述深度学习程序所对应的容器。
9.一种电子设备,其特征在于:所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-7中任一项所述深度学习程序配置方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述深度学习程序配置方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910544488.7A CN112114931B (zh) | 2019-06-21 | 2019-06-21 | 深度学习程序配置方法、装置、电子设备及存储介质 |
US16/523,019 US11429870B2 (en) | 2019-06-21 | 2019-07-26 | Method for configuring deep learning program and container manager |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910544488.7A CN112114931B (zh) | 2019-06-21 | 2019-06-21 | 深度学习程序配置方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112114931A true CN112114931A (zh) | 2020-12-22 |
CN112114931B CN112114931B (zh) | 2023-12-26 |
Family
ID=73795378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910544488.7A Active CN112114931B (zh) | 2019-06-21 | 2019-06-21 | 深度学习程序配置方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11429870B2 (zh) |
CN (1) | CN112114931B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11218494B2 (en) * | 2019-07-26 | 2022-01-04 | Raise Marketplace, Llc | Predictive fraud analysis system for data transactions |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120144389A1 (en) * | 2010-12-07 | 2012-06-07 | International Business Machines Corporation | Optimizing virtual image deployment for hardware architecture and resources |
CN107783818A (zh) * | 2017-10-13 | 2018-03-09 | 北京百度网讯科技有限公司 | 深度学习任务处理方法、装置、设备及存储介质 |
CN108958892A (zh) * | 2018-08-14 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种创建用于深度学习作业的容器的方法和装置 |
CN109086134A (zh) * | 2018-07-19 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种深度学习作业的运行方法和装置 |
CN109146084A (zh) * | 2018-09-06 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种基于云计算的机器学习的方法及装置 |
CN109189401A (zh) * | 2018-07-06 | 2019-01-11 | 曙光信息产业(北京)有限公司 | 一种深度学习框架的部署方法以及系统 |
CN109358944A (zh) * | 2018-09-17 | 2019-02-19 | 深算科技(重庆)有限公司 | 深度学习分布式运算方法、装置、计算机设备及存储介质 |
CN109739514A (zh) * | 2018-12-21 | 2019-05-10 | 北京中科寒武纪科技有限公司 | 参数处理方法及相关产品 |
CN109885389A (zh) * | 2019-02-19 | 2019-06-14 | 山东浪潮云信息技术有限公司 | 一种基于容器的并行深度学习调度训练方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200311617A1 (en) * | 2017-11-22 | 2020-10-01 | Amazon Technologies, Inc. | Packaging and deploying algorithms for flexible machine learning |
US11257002B2 (en) * | 2017-11-22 | 2022-02-22 | Amazon Technologies, Inc. | Dynamic accuracy-based deployment and monitoring of machine learning models in provider networks |
JP7047497B2 (ja) * | 2018-03-13 | 2022-04-05 | 富士通株式会社 | 操作制御方法、情報処理装置および操作制御プログラム |
US10776164B2 (en) * | 2018-11-30 | 2020-09-15 | EMC IP Holding Company LLC | Dynamic composition of data pipeline in accelerator-as-a-service computing environment |
CN111507476A (zh) * | 2019-01-31 | 2020-08-07 | 伊姆西Ip控股有限责任公司 | 部署机器学习模型的方法、设备和计算机程序产品 |
-
2019
- 2019-06-21 CN CN201910544488.7A patent/CN112114931B/zh active Active
- 2019-07-26 US US16/523,019 patent/US11429870B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120144389A1 (en) * | 2010-12-07 | 2012-06-07 | International Business Machines Corporation | Optimizing virtual image deployment for hardware architecture and resources |
CN107783818A (zh) * | 2017-10-13 | 2018-03-09 | 北京百度网讯科技有限公司 | 深度学习任务处理方法、装置、设备及存储介质 |
CN109189401A (zh) * | 2018-07-06 | 2019-01-11 | 曙光信息产业(北京)有限公司 | 一种深度学习框架的部署方法以及系统 |
CN109086134A (zh) * | 2018-07-19 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种深度学习作业的运行方法和装置 |
CN108958892A (zh) * | 2018-08-14 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种创建用于深度学习作业的容器的方法和装置 |
CN109146084A (zh) * | 2018-09-06 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种基于云计算的机器学习的方法及装置 |
CN109358944A (zh) * | 2018-09-17 | 2019-02-19 | 深算科技(重庆)有限公司 | 深度学习分布式运算方法、装置、计算机设备及存储介质 |
CN109739514A (zh) * | 2018-12-21 | 2019-05-10 | 北京中科寒武纪科技有限公司 | 参数处理方法及相关产品 |
CN109885389A (zh) * | 2019-02-19 | 2019-06-14 | 山东浪潮云信息技术有限公司 | 一种基于容器的并行深度学习调度训练方法及系统 |
Non-Patent Citations (3)
Title |
---|
JEFF BARR: ""New – AWS Deep Learning Containers"", Retrieved from the Internet <URL:https://aws.amazon.com/cn/blogs/aws/new-aws-deep-learning-containers/> * |
朱天放等: ""基于容器云的深度学习平台设计与实现"", 《电子设计工程》, vol. 27, no. 9 * |
肖熠;鲁永泉;谢思烨;: "一种针对GPU资源的深度学习容器云研究", 中国传媒大学学报(自然科学版), no. 06 * |
Also Published As
Publication number | Publication date |
---|---|
US20200401902A1 (en) | 2020-12-24 |
CN112114931B (zh) | 2023-12-26 |
US11429870B2 (en) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542399B (zh) | 软件开发方法、装置、终端设备及计算机可读存储介质 | |
CN111639287A (zh) | 一种页面处理方法、装置、终端设备及可读存储介质 | |
CN111767143A (zh) | 交易数据处理方法、装置、设备及系统 | |
CN113065656A (zh) | 一种规则引擎配置方法、装置、服务器及可读存储介质 | |
CN109766097A (zh) | Ui生成方法、装置、电子设备及计算机可读存储介质 | |
CN108279882B (zh) | 框架生成方法、装置、设备及计算机可读介质 | |
CN110704283A (zh) | 一种统一生成告警信息的方法、装置和介质 | |
CN109815405B (zh) | 灰度分流方法与系统 | |
CN111143039A (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
CN110750312A (zh) | 硬件资源配置方法、装置、云侧设备和存储介质 | |
CN111651140B (zh) | 基于工作流的服务方法及装置 | |
US9201897B1 (en) | Global data storage combining multiple back-end storage devices | |
KR20210034558A (ko) | 인공 지능 개발 플랫폼의 관리 방법 및 장치, 매체 | |
CN110750359B (zh) | 硬件资源配置方法、装置、云侧设备和存储介质 | |
CN111291443B (zh) | 整车控制器软件的i/o模块模型自动生成方法、装置及设备 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN113407254B (zh) | 表单生成方法、装置、电子设备及存储介质 | |
CN112114931B (zh) | 深度学习程序配置方法、装置、电子设备及存储介质 | |
CN113272785B (zh) | 一种挂载文件系统的方法、终端设备及存储介质 | |
CN113507529B (zh) | 基于Web应用实现文件下载的方法 | |
CN110930056A (zh) | 一种基于思维导图的任务管理方法、终端设备及存储介质 | |
TWI721464B (zh) | 深度學習程式配置方法、裝置、電子設備及存儲介質 | |
CN112287643B (zh) | 消息监听方法、装置、设备及计算机可读存储介质 | |
CN112580086A (zh) | 配置文件的访问保护方法、装置、设备以及存储介质 | |
CN113703748B (zh) | 配置web应用程序中运行逻辑可视化方法、装置和设备 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: No. 36, North Street, West District, economic and Technological Development Zone, Binhai New Area, Tianjin Applicant after: Fulian precision electronics (Tianjin) Co.,Ltd. Address before: No. 36, North Street, West District, economic and Technological Development Zone, Binhai New Area, Tianjin Applicant before: HONGFUJIN PRECISION ELECTRONICS (TIANJIN) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |