CN111752716A - 模型使用方法、数据处理方法及装置 - Google Patents
模型使用方法、数据处理方法及装置 Download PDFInfo
- Publication number
- CN111752716A CN111752716A CN202010611614.9A CN202010611614A CN111752716A CN 111752716 A CN111752716 A CN 111752716A CN 202010611614 A CN202010611614 A CN 202010611614A CN 111752716 A CN111752716 A CN 111752716A
- Authority
- CN
- China
- Prior art keywords
- parameter
- terminal
- resource scheduling
- deep learning
- learning model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000013136 deep learning model Methods 0.000 claims abstract description 97
- 230000004044 response Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000013468 resource allocation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 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
Images
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开提供一种模型使用方法、数据处理方法及装置。所述模型使用方法应用于终端,所述终端内置有深度学习模型,所述方法包括:终端向服务器发送参数获取请求,参数获取请求用于请求获取针对深度学习模型中的算子设置的资源调度参数,之后接收服务器发送的与终端的硬件信息匹配的目标资源调度参数,在使用深度学习模型的过程中,依据目标资源调度参数给算子调度硬件资源。本公开实施例中,终端能够给深度学习模型中的算子调度与终端硬件资源情况匹配的、合适的硬件资源,优化了深度学习模型的执行速度、执行效果。
Description
技术领域
本公开涉及计算机通信技术领域,尤其涉及一种模型使用方法、数据处理方法及装置。
背景技术
目前在部署深度学习模型之前,会对深度学习模型进行调参,其中包括为深度学习模型中的算子设置通用的硬件资源分配量。在将深度学习模型部署至终端之后,终端依据通用的硬件资源分配量给算子分配硬件资源。
然而,通用的硬件资源分配量不适用于所有终端,使用基于上述方法分配的硬件资源执行深度学习模型,会出现深度学习模型的执行速度较慢、执行效果不佳等问题。
发明内容
为克服相关技术中存在的问题,本公开提供了一种模型使用方法、数据处理方法及装置。
根据本公开实施例的第一方面,提供了一种模型使用方法,应用于终端,所述终端内置有深度学习模型,所述方法包括:
向服务器发送参数获取请求,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
接收所述服务器发送的目标资源调度参数,所述目标资源调度参数与所述终端的硬件信息匹配;
在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
可选地,所述向服务器发送参数获取请求,包括:
响应于所述深度学习模型初次使用,确定所述终端当前是否连接网络;
若所述终端当前连接所述网络,则向所述服务器发送所述参数获取请求。
可选地,所述方法还包括:
若所述终端当前未连接所述网络,则依据默认的资源调度参数给所述算子调度硬件资源;
响应于所述终端连接到所述网络,向所述服务器发送所述参数获取请求。
可选地,所述终端包括图形处理器;
所述深度学习模型包括用于运行在所述图形处理器上的模型;
所述硬件资源包括所述图形处理器的硬件资源。
可选地,所述资源调度参数包括指示处理所述算子使用的线程数量的参数。
可选地,所述参数包括开放运算语言OpenCL中使用的本地工作规模local worksize参数。
可选地,所述向服务器发送参数获取请求,包括:
获取所述终端的硬件信息;
向所述服务器发送携带所述硬件信息的参数获取请求。
可选地,所述硬件信息包括所述终端的型号。
根据本公开实施例的第二方面,提供了一种数据处理方法,应用于服务器,所述方法包括:
接收终端发送的参数获取请求,所述终端内置有深度学习模型,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数;
将所述目标资源调度参数发送给所述终端,以使所述终端在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
可选地,所述根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数,包括:
确定所述服务器是否设有与所述硬件信息匹配的资源调度参数;
若否,则控制不同的终端依据不同的资源调度参数给所述算子调度硬件资源,获得使用各资源调度参数时所述算子的执行时间;
将执行时间最短时使用的资源调度参数确定为所述目标资源调度参数。
可选地,所述根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数,包括:
在所述参数获取请求携带所述硬件信息的情况下,获取所述参数获取请求携带的所述硬件信息;
确定与所述硬件信息匹配的所述目标资源调度参数。
根据本公开实施例的第三方面,提供了一种模型使用装置,应用于终端,所述终端内置有深度学习模型,所述装置包括:
第一发送模块,被配置为向服务器发送参数获取请求,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
接收模块,被配置为接收所述服务器发送的目标资源调度参数,所述目标资源调度参数与所述终端的硬件信息匹配;
第一调度模块,被配置为在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
可选地,所述第一发送模块,包括:
确定子模块,被配置为响应于所述深度学习模型初次使用,确定所述终端当前是否连接网络;
第一发送子模块,被配置为若所述终端当前连接所述网络,则向所述服务器发送所述参数获取请求。
可选地,所述装置还包括:
第二调度模块,被配置为若所述终端当前未连接所述网络,则依据默认的资源调度参数给所述算子调度硬件资源;
第二发送模块,被配置为响应于所述终端连接到所述网络,向所述服务器发送所述参数获取请求。
可选地,所述终端包括图形处理器;
所述深度学习模型包括用于运行在所述图形处理器上的模型;
所述硬件资源包括所述图形处理器的硬件资源。
可选地,所述资源调度参数包括指示处理所述算子使用的线程数量的参数。
可选地,所述参数包括开放运算语言OpenCL中使用的本地工作规模local worksize参数。
可选地,所述第一发送模块,包括:
获取子模块,被配置为获取所述终端的硬件信息;
第二发送子模块,被配置为向所述服务器发送携带所述硬件信息的参数获取请求。
可选地,所述硬件信息包括所述终端的型号。
根据本公开实施例的第四方面,提供了一种数据处理装置,应用于服务器,所述装置包括:
接收模块,被配置为接收终端发送的参数获取请求,所述终端内置有深度学习模型,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
确定模块,被配置为根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数;
发送模块,被配置为将所述目标资源调度参数发送给所述终端,以使所述终端在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
可选地,所述确定模块,包括:
第一确定子模块,被配置为确定所述服务器是否设有与所述硬件信息匹配的资源调度参数;
获得子模块,被配置为若否,则控制不同的终端依据不同的资源调度参数给所述算子调度硬件资源,获得使用各资源调度参数时所述算子的执行时间;
第二确定子模块,被配置为将执行时间最短时使用的资源调度参数确定为所述目标资源调度参数。
可选地,所述确定模块,包括:
获取子模块,被配置为在所述参数获取请求携带所述硬件信息的情况下,获取所述参数获取请求携带的所述硬件信息;
确定子模块,被配置为确定与所述硬件信息匹配的所述目标资源调度参数。
根据本公开实施例的第五方面,提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
根据本公开实施例的第六方面,提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第二方面中任一项所述方法的步骤。
根据本公开实施例的第七方面,提供了一种终端,包括:内部总线,以及通过所述内部总线连接的存储器、处理器和外部接口;其中,
所述外部接口,用于获取数据;
所述存储器,用于存储模型使用对应的机器可读指令;
所述处理器,用于读取所述存储器上的所述机器可读指令,并执行所述机器可执行指令以实现如下操作:
向服务器发送参数获取请求,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
接收所述服务器发送的目标资源调度参数,所述目标资源调度参数与所述终端的硬件信息匹配;
在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
根据本公开实施例的第八方面,提供了一种服务器,包括:内部总线,以及通过所述内部总线连接的存储器、处理器和外部接口;其中,
所述外部接口,用于获取数据;
所述存储器,用于存储数据处理对应的机器可读指令;
所述处理器,用于读取所述存储器上的所述机器可读指令,并执行所述机器可执行指令以实现如下操作:
接收终端发送的参数获取请求,所述终端内置有深度学习模型,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数;
将所述目标资源调度参数发送给所述终端,以使所述终端在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例中,终端向服务器发送参数获取请求,参数获取请求用于请求获取针对深度学习模型中的算子设置的资源调度参数,之后接收服务器发送的与终端的硬件信息匹配的目标资源调度参数,在使用深度学习模型的过程中,依据目标资源调度参数给算子调度硬件资源。本公开实施例中,终端能够给深度学习模型中的算子调度与终端硬件资源情况匹配的、合适的硬件资源,优化了深度学习模型的执行速度、执行效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
图1是根据一示例性实施例示出的一种模型使用方法流程图;
图2是根据一示例性实施例示出的一种数据处理方法流程图;
图3是根据一示例性实施例示出的一种模型使用装置框图;
图4是根据一示例性实施例示出的一种数据处理装置框图;
图5是根据一示例性实施例示出的一种终端的结构示意图;
图6是根据一示例性实施例示出的一种服务器的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是根据一示例性实施例示出的一种模型使用方法流程图,图1所示的方法应用于终端,所述终端内置有深度学习模型,所述方法包括:
在步骤101中,向服务器发送参数获取请求,参数获取请求用于请求获取针对深度学习模型中的算子设置的资源调度参数,资源调度参数作为给算子调度硬件资源的依据。
终端可以安装有应用程序,应用程序内置有深度学习模型。终端可以在应用程序运行过程中,例如在应用程序首次使用深度学习模型时,向服务器发送参数获取请求。
或者,深度学习模型可以直接内置在终端内,例如深度学习模型内置在终端的系统软件中,可以在终端首次使用深度学习模型时向服务器发送参数获取请求。
在一个实施例中,终端包括图形处理器,深度学习模型包括用于运行在图形处理器上的模型,硬件资源包括图形处理器的硬件资源。
基于此,资源调度参数可以包括指示处理算子使用的线程数量的参数。
在开放运算语言OpenCL中,本地工作规模local work size参数用来描述GPU计算过程中线程的并发数量的参数。
local work size参数是一个一维、二维或三维的数组参数,乘积可以理解为线程的并发数量,由于每个线程在运行时使用的共享内存、寄存器等资源是固定的,所以线程的并发数量越多,意味着线程运行时占用的这些资源越多,执行速度越快。
需要说明的是,线程的并发数量并不是越大越好,线程的并发数量会有一个上限,这是因为基于总硬件资源的限制,并发数量过多可能导致共享内存、寄存器等资源的竞争过于激烈,使得执行速度变慢。
因此,指示处理算子使用的线程数量的参数可以包括:开放运算语言OpenCL中使用的本地工作规模local work size参数。
在一个实施例中,终端可以在深度学习模型初次使用时,确定终端当前是否连接网络,若终端当前连接网络,则向服务器发送参数获取请求,实现终端在深度学习模型初次使用时完成对资源调度参数的调试;若终端当前未连接网络,则依据默认的资源调度参数给算子调度硬件资源,在终端连接到网络时,向服务器发送参数获取请求。
默认的资源调度参数不一定适合当前终端使用,所以在终端连接到网络后,向服务器发送参数获取请求,希望从服务器获取适合当前终端使用的资源调度参数。
在一个实施例中,终端可以获取自身设备的硬件信息,向服务器发送携带硬件信息的参数获取请求。以使从服务器获取与终端的硬件信息匹配的目标资源调度参数。
目标资源调度参数有多种,例如,硬件信息可以包括终端的型号。硬件信息还可以包括品牌、生产厂商的名称等信息。
在步骤102中,接收服务器发送的目标资源调度参数,目标资源调度参数与所述终端的硬件信息匹配。
服务器在接收到终端发送的参数获取请求后,获取与终端的硬件信息匹配的目标资源调度参数,并将目标资源调度参数发送给终端。
通常深度学习模型包括一组算子。参数获取请求可以用于请求获取针对深度学习模型中各算子设置的资源调度参数,相应地,终端接收的目标资源调度参数可以包括针对深度学习模型中各算子设置的目标资源调度参数。
或者,参数获取请求可以用于请求获取针对深度学习模型中的部分算子设置的资源调度参数,相应地,终端接收的目标资源调度参数可以包括针对深度学习模型中的部分算子设置的目标资源调度参数。
在步骤103中,在使用深度学习模型的过程中,依据目标资源调度参数给算子调度硬件资源。
终端依据目标资源调度参数给算子调度与终端硬件资源情况匹配的、合适的硬件资源。例如,当终端的硬件资源较多时,终端依据目标资源调度参数给算子调度多一些的硬件资源,而当终端的硬件资源较少时,终端依据目标资源调度参数给算子调度少一些的硬件资源。
本公开实施例中,终端向服务器发送参数获取请求,参数获取请求用于请求获取针对深度学习模型中的算子设置的资源调度参数,之后接收服务器发送的与终端的硬件信息匹配的目标资源调度参数,在使用深度学习模型的过程中,依据目标资源调度参数给算子调度硬件资源。本公开实施例中,终端能够给深度学习模型中的算子调度与终端硬件资源情况匹配的、合适的硬件资源,优化了深度学习模型的执行速度、执行效果。
图2是根据一示例性实施例示出的一种数据处理方法流程图,图2所示的方法应用于服务器,所述方法包括:
在步骤201中,接收终端发送的参数获取请求,终端内置有深度学习模型,参数获取请求用于请求获取针对深度学习模型中的算子设置的资源调度参数,资源调度参数作为终端给所述算子调度硬件资源的依据。
在服务器与终端建立网络连接的情况下,服务器接收终端发送的参数获取请求。
在步骤202中,根据参数获取请求,确定与终端的硬件信息匹配的目标资源调度参数。
服务器在获取终端发送的参数获取请求后,确定终端的硬件信息。
在参数获取请求携带终端的硬件信息的情况下,服务器获取参数获取请求携带的硬件信息,确定与该硬件信息匹配的目标资源调度参数。
在一个实施例中,服务器在获取终端发送的参数获取请求后,可以确定自身设备是否设有与终端的硬件信息匹配的资源调度参数,若否,则控制不同的终端依据不同的资源调度参数给深度学习模型中的算子调度硬件资源,获得依据各资源调度参数时算子的执行时间,将执行时间最短时使用的资源调度参数确定为目标资源调度参数。
例如,深度学习模型包括十个算子,服务器针对每个算子设置了三个资源调度参数,服务器将针对十个算子总共设置的三十个资源调度参数发送给不同的终端,控制不同的终端依据接收的资源调度参数给算子调度硬件资源,获得使用各资源调度参数时算子的执行时间,针对每个算子,将执行时间最短时使用的资源调度参数确定为该算子对应的目标资源调度参数。
本实施例中,服务器在未设有与终端的硬件信息匹配的资源调度参数的情况下,通过执行上述方法,动态获取到与终端的硬件信息匹配的资源调度参数。
在步骤203中,将目标资源调度参数发送给终端,以使终端在使用深度学习模型的过程中,依据目标资源调度参数给算子调度硬件资源。
服务器将获取的目标资源调度参数发送给终端。
本公开实施例中,服务器基于终端的请求,获取与终端的硬件信息匹配的目标资源调度参数,并将目标资源调度参数发送给终端,使得终端依据目标资源调度参数,给深度学习模型中的算子调度与终端硬件资源情况匹配的、合适的硬件资源,优化了深度学习模型的执行速度、执行效果。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。
其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
与前述应用功能实现方法实施例相对应,本公开还提供了应用功能实现装置及相应的终端的实施例。
图3是根据一示例性实施例示出的一种模型使用装置框图,图3所示的模型使用装置应用于终端,所述终端内置有深度学习模型,所述装置包括:第一发送模块31、接收模块32和第一调度模块33;其中,
所述第一发送模块31,被配置为向服务器发送参数获取请求,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
所述接收模块32,被配置为接收所述服务器发送的目标资源调度参数,所述目标资源调度参数与所述终端的硬件信息匹配;
所述第一调度模块33,被配置为在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
在一个可选的实施例中,在图3所示的控制装置的基础上,所述第一发送模块31,可以包括:确定子模块和第一发送子模块;其中,
所述确定子模块,被配置为响应于所述深度学习模型初次使用,确定所述终端当前是否连接网络;
所述第一发送子模块,被配置为若所述终端当前连接所述网络,则向所述服务器发送所述参数获取请求。
在一个可选的实施例中,所述装置还可以包括:第二调度模块和第二发送模块了;其中,
所述第二调度模块,被配置为若所述终端当前未连接所述网络,则依据默认的资源调度参数给所述算子调度硬件资源;
所述第二发送模块,被配置为响应于所述终端连接到所述网络,向所述服务器发送所述参数获取请求。
在一个可选的实施例中,在图3所示的控制装置的基础上,所述终端可以包括图形处理器;
所述深度学习模型可以包括用于运行在所述图形处理器上的模型;
所述硬件资源可以包括所述图形处理器的硬件资源。
在一个可选的实施例中,所述资源调度参数可以包括指示处理所述算子使用的线程数量的参数。
在一个可选的实施例中,所述参数可以包括开放运算语言OpenCL中使用的本地工作规模local work size参数。
在一个可选的实施例中,在图3所示的控制装置的基础上,所述第一发送模块31,可以包括:获取子模块和第二发送子模块;其中,
所述获取子模块,被配置为获取所述终端的硬件信息;
所述第二发送子模块,被配置为向所述服务器发送携带所述硬件信息的参数获取请求。
在一个可选的实施例中,在图3所示的控制装置的基础上,所述硬件信息可以包括所述终端的型号。
图4是根据一示例性实施例示出的一种数据处理装置框图,图4所示的数据处理装置应用于服务器,所述装置包括:接收模块41、确定模块42和发送模块43;其中,
所述接收模块41,被配置为接收终端发送的参数获取请求,所述终端内置有深度学习模型,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
所述确定模块42,被配置为根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数;
所述发送模块43,被配置为将所述目标资源调度参数发送给所述终端,以使所述终端在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
在一个可选的实施例中,在图4所示的控制装置的基础上,所述确定模块42,可以包括:第一确定子模块、获得子模块和第二确定子模块;其中,所述第一确定子模块,被配置为确定所述服务器是否设有与所述硬件信息匹配的资源调度参数;
所述获得子模块,被配置为若否,则控制不同的终端依据不同的资源调度参数给所述算子调度硬件资源,获得使用各资源调度参数时所述算子的执行时间;
所述第二确定子模块,被配置为将执行时间最短时使用的资源调度参数确定为所述目标资源调度参数。
在一个可选的实施例中,在图4所示的控制装置的基础上,所述确定模块42,可以包括:获取子模块和确定子模块;其中,
所述获取子模块,被配置为在所述参数获取请求携带所述硬件信息的情况下,获取所述参数获取请求携带的所述硬件信息;
所述确定子模块,被配置为确定与所述硬件信息匹配的所述目标资源调度参数。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
图5是根据一示例性实施例示出的一种终端的结构示意图,该终端可以包括:内部总线510,以及通过内部总线510连接的存储器520、处理器530和外部接口540;其中,
外部接口540,用于获取数据;
存储器520,用于存储模型使用对应的机器可读指令;
处理器530,用于读取所述存储器520上的所述机器可读指令,并执行所述机器可执行指令以实现如下操作:
向服务器发送参数获取请求,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
接收所述服务器发送的目标资源调度参数,所述目标资源调度参数与所述终端的硬件信息匹配;
在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
图6是根据一示例性实施例示出的一种服务器的结构示意图,该服务器可以包括:内部总线610,以及通过内部总线610连接的存储器620、处理器630和外部接口640;其中,
外部接口640,用于获取数据;
存储器620,用于存储数据处理对应的机器可读指令;
处理器630,用于读取所述存储器620上的所述机器可读指令,并执行所述机器可执行指令以实现如下操作:
接收终端发送的参数获取请求,所述终端内置有深度学习模型,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数;
将所述目标资源调度参数发送给所述终端,以使所述终端在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
本公开实施例还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述模型使用方法的步骤。
本公开实施例还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述数据处理方法的步骤。
本公开实施例中,计算机可读存储介质可以是多种形式,比如,在不同的例子中,所述机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。特殊的,所述的计算机可读介质还可以是纸张或者其他合适的能够打印程序的介质。使用这些介质,这些程序可以被通过电学的方式获取到(例如,光学扫描)、可以被以合适的方式编译、解释和处理,然后可以被存储到计算机介质中。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (26)
1.一种模型使用方法,其特征在于,应用于终端,所述终端内置有深度学习模型,所述方法包括:
向服务器发送参数获取请求,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
接收所述服务器发送的目标资源调度参数,所述目标资源调度参数与所述终端的硬件信息匹配;
在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
2.根据权利要求1所述的方法,其特征在于,所述向服务器发送参数获取请求,包括:
响应于所述深度学习模型初次使用,确定所述终端当前是否连接网络;
若所述终端当前连接所述网络,则向所述服务器发送所述参数获取请求。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述终端当前未连接所述网络,则依据默认的资源调度参数给所述算子调度硬件资源;
响应于所述终端连接到所述网络,向所述服务器发送所述参数获取请求。
4.根据权利要求1所述的方法,其特征在于,所述终端包括图形处理器;
所述深度学习模型包括用于运行在所述图形处理器上的模型;
所述硬件资源包括所述图形处理器的硬件资源。
5.根据权利要求4所述的方法,其特征在于,所述资源调度参数包括指示处理所述算子使用的线程数量的参数。
6.根据权利要求5所述的方法,其特征在于,所述参数包括开放运算语言OpenCL中使用的本地工作规模localwork size参数。
7.根据权利要求1所述的方法,其特征在于,所述向服务器发送参数获取请求,包括:
获取所述终端的硬件信息;
向所述服务器发送携带所述硬件信息的参数获取请求。
8.根据权利要求1所述的方法,其特征在于,所述硬件信息包括所述终端的型号。
9.一种数据处理方法,其特征在于,应用于服务器,所述方法包括:
接收终端发送的参数获取请求,所述终端内置有深度学习模型,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数;
将所述目标资源调度参数发送给所述终端,以使所述终端在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
10.根据权利要求9所述的方法,其特征在于,所述根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数,包括:
确定所述服务器是否设有与所述硬件信息匹配的资源调度参数;
若否,则控制不同的终端依据不同的资源调度参数给所述算子调度硬件资源,获得使用各资源调度参数时所述算子的执行时间;
将执行时间最短时使用的资源调度参数确定为所述目标资源调度参数。
11.根据权利要求9所述的方法,其特征在于,所述根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数,包括:
在所述参数获取请求携带所述硬件信息的情况下,获取所述参数获取请求携带的所述硬件信息;
确定与所述硬件信息匹配的所述目标资源调度参数。
12.一种模型使用装置,其特征在于,应用于终端,所述终端内置有深度学习模型,所述装置包括:
第一发送模块,被配置为向服务器发送参数获取请求,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
接收模块,被配置为接收所述服务器发送的目标资源调度参数,所述目标资源调度参数与所述终端的硬件信息匹配;
第一调度模块,被配置为在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
13.根据权利要求12所述的装置,其特征在于,所述第一发送模块,包括:
确定子模块,被配置为响应于所述深度学习模型初次使用,确定所述终端当前是否连接网络;
第一发送子模块,被配置为若所述终端当前连接所述网络,则向所述服务器发送所述参数获取请求。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二调度模块,被配置为若所述终端当前未连接所述网络,则依据默认的资源调度参数给所述算子调度硬件资源;
第二发送模块,被配置为响应于所述终端连接到所述网络,向所述服务器发送所述参数获取请求。
15.根据权利要求12所述的装置,其特征在于,所述终端包括图形处理器;
所述深度学习模型包括用于运行在所述图形处理器上的模型;
所述硬件资源包括所述图形处理器的硬件资源。
16.根据权利要求15所述的装置,其特征在于,所述资源调度参数包括指示处理所述算子使用的线程数量的参数。
17.根据权利要求16所述的装置,其特征在于,所述参数包括开放运算语言OpenCL中使用的本地工作规模localwork size参数。
18.根据权利要求12所述的装置,其特征在于,所述第一发送模块,包括:
获取子模块,被配置为获取所述终端的硬件信息;
第二发送子模块,被配置为向所述服务器发送携带所述硬件信息的参数获取请求。
19.根据权利要求12所述的装置,其特征在于,所述硬件信息包括所述终端的型号。
20.一种数据处理装置,其特征在于,应用于服务器,所述装置包括:
接收模块,被配置为接收终端发送的参数获取请求,所述终端内置有深度学习模型,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
确定模块,被配置为根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数;
发送模块,被配置为将所述目标资源调度参数发送给所述终端,以使所述终端在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
21.根据权利要求20所述的装置,其特征在于,所述确定模块,包括:
第一确定子模块,被配置为确定所述服务器是否设有与所述硬件信息匹配的资源调度参数;
获得子模块,被配置为若否,则控制不同的终端依据不同的资源调度参数给所述算子调度硬件资源,获得使用各资源调度参数时所述算子的执行时间;
第二确定子模块,被配置为将执行时间最短时使用的资源调度参数确定为所述目标资源调度参数。
22.根据权利要求20所述的装置,其特征在于,所述确定模块,包括:
获取子模块,被配置为在所述参数获取请求携带所述硬件信息的情况下,获取所述参数获取请求携带的所述硬件信息;
确定子模块,被配置为确定与所述硬件信息匹配的所述目标资源调度参数。
23.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~8中任一项所述方法的步骤。
24.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求9~11中任一项所述方法的步骤。
25.一种终端,其特征在于,包括:内部总线,以及通过所述内部总线连接的存储器、处理器和外部接口;其中,
所述外部接口,用于获取数据;
所述存储器,用于存储模型使用对应的机器可读指令;
所述处理器,用于读取所述存储器上的所述机器可读指令,并执行所述机器可执行指令以实现如下操作:
向服务器发送参数获取请求,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
接收所述服务器发送的目标资源调度参数,所述目标资源调度参数与所述终端的硬件信息匹配;
在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
26.一种服务器,其特征在于,包括:内部总线,以及通过所述内部总线连接的存储器、处理器和外部接口;其中,
所述外部接口,用于获取数据;
所述存储器,用于存储数据处理对应的机器可读指令;
所述处理器,用于读取所述存储器上的所述机器可读指令,并执行所述机器可执行指令以实现如下操作:
接收终端发送的参数获取请求,所述终端内置有深度学习模型,所述参数获取请求用于请求获取针对所述深度学习模型中的算子设置的资源调度参数,所述资源调度参数作为所述终端给所述算子调度硬件资源的依据;
根据所述参数获取请求,确定与所述终端的硬件信息匹配的目标资源调度参数;
将所述目标资源调度参数发送给所述终端,以使所述终端在使用所述深度学习模型的过程中,依据所述目标资源调度参数给所述算子调度硬件资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010611614.9A CN111752716A (zh) | 2020-06-29 | 2020-06-29 | 模型使用方法、数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010611614.9A CN111752716A (zh) | 2020-06-29 | 2020-06-29 | 模型使用方法、数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111752716A true CN111752716A (zh) | 2020-10-09 |
Family
ID=72676604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010611614.9A Pending CN111752716A (zh) | 2020-06-29 | 2020-06-29 | 模型使用方法、数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111752716A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023083058A1 (zh) * | 2021-11-12 | 2023-05-19 | 中兴通讯股份有限公司 | 调度参数的调整方法、设备及存储介质 |
CN116306856A (zh) * | 2023-05-17 | 2023-06-23 | 之江实验室 | 一种基于搜索的深度学习模型部署方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704182A (zh) * | 2019-09-18 | 2020-01-17 | 平安科技(深圳)有限公司 | 深度学习的资源调度方法、装置及终端设备 |
CN110750342A (zh) * | 2019-05-23 | 2020-02-04 | 北京嘀嘀无限科技发展有限公司 | 调度方法、装置、电子设备及可读存储介质 |
CN110866610A (zh) * | 2019-11-20 | 2020-03-06 | 苏州浪潮智能科技有限公司 | 一种深度学习模型分布式运算的方法及装置 |
CN111090456A (zh) * | 2019-12-06 | 2020-05-01 | 浪潮(北京)电子信息产业有限公司 | 一种深度学习开发环境的构建方法、装置、设备及介质 |
CN111143148A (zh) * | 2019-12-30 | 2020-05-12 | 北京奇艺世纪科技有限公司 | 一种模型参数确定方法、装置及存储介质 |
CN111290762A (zh) * | 2020-01-19 | 2020-06-16 | 深圳云天励飞技术有限公司 | 一种深度学习网络的部署方法、装置及终端设备 |
-
2020
- 2020-06-29 CN CN202010611614.9A patent/CN111752716A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750342A (zh) * | 2019-05-23 | 2020-02-04 | 北京嘀嘀无限科技发展有限公司 | 调度方法、装置、电子设备及可读存储介质 |
CN110704182A (zh) * | 2019-09-18 | 2020-01-17 | 平安科技(深圳)有限公司 | 深度学习的资源调度方法、装置及终端设备 |
CN110866610A (zh) * | 2019-11-20 | 2020-03-06 | 苏州浪潮智能科技有限公司 | 一种深度学习模型分布式运算的方法及装置 |
CN111090456A (zh) * | 2019-12-06 | 2020-05-01 | 浪潮(北京)电子信息产业有限公司 | 一种深度学习开发环境的构建方法、装置、设备及介质 |
CN111143148A (zh) * | 2019-12-30 | 2020-05-12 | 北京奇艺世纪科技有限公司 | 一种模型参数确定方法、装置及存储介质 |
CN111290762A (zh) * | 2020-01-19 | 2020-06-16 | 深圳云天励飞技术有限公司 | 一种深度学习网络的部署方法、装置及终端设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023083058A1 (zh) * | 2021-11-12 | 2023-05-19 | 中兴通讯股份有限公司 | 调度参数的调整方法、设备及存储介质 |
CN116306856A (zh) * | 2023-05-17 | 2023-06-23 | 之江实验室 | 一种基于搜索的深度学习模型部署方法及装置 |
CN116306856B (zh) * | 2023-05-17 | 2023-09-05 | 之江实验室 | 一种基于搜索的深度学习模型部署方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107515786B (zh) | 资源分配方法、主装置、从装置和分布式计算系统 | |
CN106598760B (zh) | 消息队列的消费方法及装置 | |
CN108052384B (zh) | 一种任务处理方法、服务平台及电子设备 | |
CN110012062B (zh) | 一种多机房任务调度方法、装置及存储介质 | |
CN111752716A (zh) | 模型使用方法、数据处理方法及装置 | |
CN106897299B (zh) | 一种数据库访问方法及装置 | |
CN111159046B (zh) | 测试方法、装置、电子设备、系统和存储介质 | |
CN110689254A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN110659131B (zh) | 任务处理方法、电子装置、计算机设备及存储介质 | |
US11210127B2 (en) | Method and apparatus for processing request | |
CN110750339B (zh) | 一种线程调度方法、装置及电子设备 | |
CN110888726A (zh) | 一种多任务并发处理方法及系统 | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
CN111158875B (zh) | 基于多模块的多任务处理方法、装置及系统 | |
US10810048B2 (en) | Systems and methods for dynamic allocation of compilation machines | |
CN106775975B (zh) | 进程调度方法及装置 | |
CN109960571B (zh) | 一种多模块调度方法、装置及系统 | |
CN103164338B (zh) | 并发处理系统的模拟方法及装置 | |
CN116166421A (zh) | 分布式训练任务的资源调度方法及其设备 | |
CN110413332A (zh) | 定时任务执行方法、装置、终端及计算机可读介质 | |
CN114281281A (zh) | 打印机与智能设备的交互方法及装置 | |
CN109062702B (zh) | 一种计算资源分配方法、相关装置及可读存储介质 | |
CN114253680A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN110865913A (zh) | 一种压力测试的方法及装置 | |
CN117369996B (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 |