CN110083448B - 一种计算资源调整方法、装置以及相关设备 - Google Patents

一种计算资源调整方法、装置以及相关设备 Download PDF

Info

Publication number
CN110083448B
CN110083448B CN201810072678.9A CN201810072678A CN110083448B CN 110083448 B CN110083448 B CN 110083448B CN 201810072678 A CN201810072678 A CN 201810072678A CN 110083448 B CN110083448 B CN 110083448B
Authority
CN
China
Prior art keywords
pooling
target
clock frequency
layer
pooling layer
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
Application number
CN201810072678.9A
Other languages
English (en)
Other versions
CN110083448A (zh
Inventor
孟玉
王玉伟
张立鑫
于潇宇
高剑林
朱建平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd, Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810072678.9A priority Critical patent/CN110083448B/zh
Priority to PCT/CN2018/118502 priority patent/WO2019144701A1/zh
Priority to EP18902036.5A priority patent/EP3745308B1/en
Publication of CN110083448A publication Critical patent/CN110083448A/zh
Priority to US16/885,669 priority patent/US11507812B2/en
Application granted granted Critical
Publication of CN110083448B publication Critical patent/CN110083448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Power Sources (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明实施例公开了一种计算资源调整方法、装置以及相关设备,所述方法包括:获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。采用本发明,可以节约计算资源,提高计算资源的使用率。

Description

一种计算资源调整方法、装置以及相关设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种计算资源调整方法、装置以及相关设备。
背景技术
卷积神经网络(Convolution neural network,CNN)是人工神经网络的一种,现已成语音分析、图像识别、物体分类等领域的研究热点,它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。卷积神经网络主要是由卷积层和池化层(pooling)经过多种形式的堆叠形成,模型的深度也从十几层扩展到上百层。
随着模型深度的增加,对计算力的要求也逐渐增加。为了提高同一层算法的并行效率,要求同一层的卷积计算时间和池化计算时间相等或者相近。但算法中卷积计算和池化计算存在不均匀性,即是同一层的卷积计算量和池化计算量之间可能是正比例关系也可能是反比例关系。例如,第二层卷积计算量是第一层卷积计算量的2倍,但第二层池化计算量可能是第一层池化计算量的10倍,也可能是0.1倍。因此,若想要同一层的池化计算时间匹配卷积计算时间,只能优先满足条件最恶劣的场景要求,就会消耗大量的计算资源,而实际运行时存在计算资源空闲,造成计算资源的使用率低下。
发明内容
本发明实施例提供一种计算资源调整方法、装置以及相关设备,可以提高计算资源的使用率。
本发明一方面提供了一种计算资源调整方法,包括:
获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;所述目标池化层的期望池化耗时与所述目标池化层相关联的卷积层的卷积预计耗时之间的差值小于时间阈值;
根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;
当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。
其中,还包括:
预测多个卷积层的卷积预计耗时,并根据所述多个卷积层的卷积预计耗时确定多个池化层的期望池化耗时,并根据所述多个池化层的期望池化耗时确定池化期望值;
预测多个池化层的待处理数据量,根据所述多个池化层的待处理数据量确定基础池化数据量;
根据所述池化期望值、所述基础池化数据量、具有平均时钟频率的所述计算资源单位的计算能力值,确定用于进行池化处理的计算资源单位的数量;所述平均时钟频率是系统提供的多个时钟频率的平均值。
其中,所述根据所述多个卷积层的卷积预计耗时确定多个池化层的期望池化耗时,并根据所述多个池化层的期望池化耗时确定池化期望值,包括:
根据所述多个卷积层的卷积预计耗时确定所述多个池化层的期望池化耗时;位于相同层中的卷积层的卷积预计耗时和池化层的期望池化耗时之间的差值小于所述时间阈值;
计算所述多个池化层的期望池化耗时的平均值,并将所述平均值确定为所述池化期望值。
其中,所述根据所述多个池化层的待处理数据量确定基础池化数据量,具体包括:
在所述多个池化层的待处理数据量中提取数值最小的待处理数据量,作为所述基础池化数据量。
其中,所述根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率,包括:
计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
根据所述目标池化层的加速比、参照池化层的加速比、所述当前时钟频率,确定目标时钟频率;所述参照池化层的加速比是根据所述参照池化层的期望池化耗时和所述参照池化层的待处理数据量生成的;所述参照池化层是与所述目标池化层相邻且正在处理或者已处理的池化层。
其中,所述根据所述目标池化层的加速比、参照池化层的加速比、所述当前时钟频率,确定目标时钟频率,包括:
当所述参照池化层的加速比和所述目标池化层的加速比相同时,将所述目标时钟频率设置为与所述当前时钟频率相同的时钟频率;
当所述参照池化层的加速比和所述目标池化层的加速比不同时,将所述参照池化层的加速比和所述目标池化层的加速比之间的比值,确定为加速系数,并将所述加速系数和所述当前时钟频率之间的乘积,确定为所述目标时钟频率。
其中,所述将所述加速系数和所述当前时钟频率之间的乘积,确定为所述目标时钟频率之后,还包括:
将所述系统提供的多个时钟频率中除所述目标时钟频率以外的时钟频率删除。
其中,所述根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率,包括:
计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到所述总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
根据所述目标池化层的加速比和所述平均时钟频率,确定所述目标时钟频率。
其中,所述根据所述目标池化层的加速比和所述平均时钟频率,确定所述目标时钟频率,包括:
将所述目标池化层的加速比的倒数和所述平均时钟频率的乘积,确定为所述目标时钟频率。
其中,还包括:
当检测到所述目标池化层相关联的卷积层中所生成的卷积数据到达数据边界时,确定所述目标池化层相关联的卷积层完成卷积处理。
本发明另一方面提供了一种计算资源调整装置,包括:
获取模块,用于获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;所述目标池化层的期望池化耗时与所述目标池化层相关联的卷积层的卷积预计耗时之间的差值小于时间阈值;
第一确定模块,用于根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;
切换模块,用于当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。
其中,还包括:
第一预测模块,用于预测多个卷积层的卷积预计耗时,并根据所述多个卷积层的卷积预计耗时确定多个池化层的期望池化耗时,并根据所述多个池化层的期望池化耗时确定池化期望值;
第二预测模块,用于预测多个池化层的待处理数据量,根据所述多个池化层的待处理数据量确定基础池化数据量;
第二确定模块,用于根据所述池化期望值、所述基础池化数据量、具有平均时钟频率的所述计算资源单位的计算能力值,确定用于进行池化处理的计算资源单位的数量;所述平均时钟频率是系统提供的多个时钟频率的平均值。
其中,所述第一预测模块,包括:
第一确定单元,用于根据所述多个卷积层的卷积预计耗时确定所述多个池化层的期望池化耗时;位于相同层中的卷积层的卷积预计耗时和池化层的期望池化耗时之间的差值小于所述时间阈值;
第二确定单元,用于计算所述多个池化层的期望池化耗时的平均值,并将所述平均值确定为所述池化期望值。
其中,所述第二预测模块,具体用于在所述多个池化层的待处理数据量中提取数值最小的待处理数据量,作为所述基础池化数据量。
其中,所述第一确定模块,包括:
第三确定单元,用于计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
第四确定单元,用于将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
第五确定单元,用于根据所述目标池化层的加速比、参照池化层的加速比、所述当前时钟频率,确定目标时钟频率;所述参照池化层的加速比是根据所述参照池化层的期望池化耗时和所述参照池化层的待处理数据量生成的;所述参照池化层是与所述目标池化层相邻且正在处理或者已处理的池化层。
其中,所述第五确定单元,包括:
第一确定子单元,用于将所述参照池化层的加速比和所述目标池化层的加速比之间的比值,确定为加速系数;
第二确定子单元,用于将所述加速系数和所述当前时钟频率之间的乘积,确定为所述目标时钟频率;当所述参照池化层的加速比和所述目标池化层的加速比相等时,所述目标时钟频率和所述当前时钟频率相等。
其中,所述第五确定单元,还包括:
删除子单元,用于将所述系统提供的多个时钟频率中除所述目标时钟频率以外的时钟频率删除。
其中,所述第一确定模块,包括:
第六确定单元,用于计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
第七确定单元,用于将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
第八确定单元,用于根据所述目标池化层的加速比和所述平均时钟频率,确定所述目标时钟频率。
其中,所述第八确定单元,具体用于将所述目标池化层的加速比的倒数和所述平均时钟频率的乘积,确定为所述目标时钟频率。
其中,还包括:
第三确定模块,用于当检测到所述目标池化层相关联的卷积层中所生成的卷积数据到达数据边界时,确定所述目标池化层相关联的卷积层完成卷积处理。
本发明另一方面提供了一种终端设备,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如本发明实施例中一方面中的方法。
本发明实施例另一方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本发明实施例中一方面中的方法。
本发明实施例通过获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。由于可以根据池化层的期望池化耗时和池化层的待处理数据量而动态地调整计算资源单位的时钟频率,使得任意池化层的实际池化耗时和期望池化耗时相接近,也使得任意池化层的实际池化耗时和对应的卷积层的卷积预计耗时相匹配。因此,通过调整计算资源单位的时钟频率,可以满足任意层的实际池化耗时和卷积预计耗时相接近的要求,从而可以避免计算资源的空闲,进而提高计算资源的使用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a-图1b是本发明实施例提供的一种计算资源调整方法的场景示意图;
图2是本发明实施例提供的一种计算资源调整方法的流程示意图;
图2a是本发明实施例提供的一种确定目标时钟频率方法的流程示意图;
图2b是本发明实施例提供的另一种确定目标时钟频率方法的流程示意图;
图3是本发明实施例提供的另一种计算资源调整方法的流程示意图;
图3a是本发明实施例提供的一种确定计算资源单位数量的流程示意图;
图3b是本发明实施例提供的一种切换目标时钟频率的交互示意图;
图4是本发明实施例提供的一种计算资源调整装置的结构示意图;
图5是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1a-图1b,是本发明实施例提供的一种计算资源调整方法的场景示意图。如图1a所示,以卷积神经网络模型中的2个卷积层(第一卷积层、第二卷积层)和2个池化层(第一池化层、第二池化层)为例进行说明,卷积神经网络模型的图片输入大小为256×256,因此可以提前预测到第一卷积层的卷积预计耗时为30微秒;第二卷积层的卷积预计耗时为50微秒;第一池化层的数据量为4KB,第二池化层的数据量为1KB。为了满足同一层的卷积运算耗时和池化运算耗时相匹配,因此同一层的卷积预计耗时和对应池化层的期望池化耗时相接近(由于硬件因素,期望池化耗时和卷积预计耗时之间是相近而不是相等),也就是预测第一池化层的期望池化耗时可能为33微秒,第二池化层的期望池化耗时可能为46微秒。在常规条件下(中央处理器的温度在40摄氏度以内)单个计算单元的平均时钟频率为300MHz,对应的计算能力值为1。如图1b所示,根据上述条件(第一池化层的期望池化耗时为33微秒、第二池化层的期望池化耗时为46微秒、两个池化层中最小数据量为1KB、单个计算单元的计算能力值为1),可以提前计算出用于池化运算的计算单元的数量为5,计算单元的数量一旦被确定,在后续的卷积运算和池化运算中将不再更改,只调整计算单元的时钟频率。确定了计算单元的数量后,输入一张大小为256×256的图片100a至卷积神经网络的输入层,通过将卷积核作为一个窗口依次滑过图片100a的所有区域,即卷积核在图片100a中做卷积运算。在第一卷积层中的卷积运算过程的30微秒内(提前预测第一卷积层的卷积预计耗时为30微秒),根据第一池化层的期望池化耗时33微秒,对应的数据量4KB,以及计算单元的当前时钟频率300MHz,时钟频率控制器100g可以提前计算出目标时钟频率为450MHz。图片100a在第一卷积层中的卷积运算完成后,生成特征图像100b,特征图像100b存储在卷积数据存储单元100f中,时钟频率控制器100g将计算单元1的时钟频率由300MHz调整为450MHz、将计算单元2的时钟频率由300MHz调整为450MHz、将计算单元3的时钟频率由300MHz调整为450MHz、将计算单元4的时钟频率由300MHz调整为450MHz、将计算单元5的时钟频率由300MHz调整为450MHz。所有的计算单元调整完毕后,将存储在卷积数据存储单元100f中的特征图像100b输入至第一池化层,并利用时钟频率为450MHz的5个计算单元执行池化运算,池化运算的实际池化耗时为28微秒,即第一层池化层的实际池化耗时(28微秒)和第一卷积层的卷积预计耗时(30微秒)相接近,池化后的特征图像100c的存储在池化数据存储单元100h中,用于第二卷积层的卷积运算。特征图像100c输入至第二层卷积层中用于卷积运算,在第二卷积层中的卷积运算过程的50微秒内(提前预测第二卷积层的卷积预计耗时为50微秒),根据第二池化层的期望池化耗时46微秒,对应的数据量1KB,以及每个计算单元对应的当前时钟频率450MHz(在上一轮池化计算过程中,时钟频率由300MHz调整为450MHz,因此本轮的当前时钟频率为450MHz),时钟频率控制器100g可以计算出目标时钟频率为100MHz,特征图像100c在第二卷积层中的卷积运算完成后,生成特征图像100d,特征图像100d存储在卷积数据存储单元100f中,时钟频率控制器100g将计算单元1的时钟频率由450MHz调整为100MHz、将计算单元2的时钟频率由450MHz调整为100MHz、将计算单元3的时钟频率由450MHz调整为100MHz、将计算单元4的时钟频率由450MHz调整为100MHz、将计算单元5的时钟频率由450MHz调整为100MHz。所有的计算单元调整完毕后,将存储在卷积数据存储单元100f中的特征图像100d输入至第二池化层,并利用时钟频率为100MHz的5个计算单元执行池化运算,即池化运算的实际池化耗时为52微秒,第二池化层的实际池化耗时(52微秒)和第二卷积层的卷积预计耗时(50微秒)相接近,池化后的特征图像100e存储在池化数据存储单元100h中。通过调整计算单元的时钟频率,使得同一层的池化实际池化耗时和卷积预计耗时相接近,可以克服卷积耗时和池化耗时的不均匀性,节约计算资源,并可避免计算资源处于空闲状态,从而可以提高计算资源的使用率。
其中,确定计算单元的数量、确定目标时钟频率并调整计算资源单位的时钟频率的具体过程可以参见以下图2至图3b所对应的实施例。
进一步地,请参见图2,是本发明实施例提供的一种计算资源调整方法的流程示意图。如图2所示,所述方法可以包括:
步骤S101,获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;所述目标池化层的期望池化耗时与所述目标池化层相关联的卷积层的卷积预计耗时之间的差值小于时间阈值;
具体的,一个卷积神经网络模型是由多个卷积层和多个池化层堆叠而成,在流程上,处理顺序为:卷积层1、池化层1;卷积层2、池化层2...卷积层N、池化层N。在卷积层中执行卷积处理,在池化层中执池化处理。同一层的池化处理是在对应卷积层的卷积处理之后,也就是说卷积处理所生成的卷积数据和池化处理生成的池化数据之间存在先后依赖关系,先生成卷积数据后生成池化数据。卷积神经网络模型中,与正在进行池化处理的池化层相邻且未处理的池化层称之为目标池化层,或者与正在进行卷积处理的卷积层相关联的池化层称之为目标池化层,例如,卷积神经网络模型存在4个卷积层和4个池化层,若池化层2正在进行池化处理,因此池化层3(与池化层2相邻且未处理的池化层)是目标池化层;若卷积层2正在进行卷积处理,因此池化层2(与卷积层2相关联的池化层)是目标池化层。获取目标池化层的期望池化耗时和目标池化层的待处理数据量,其中目标池化层的期望池化耗时和目标池化层相关联的卷积层的卷积预计耗时相接近(由于硬件因素,同一层的期望池化耗时和卷积预计耗时之间是相近,而不是相等),即是位于同一层的卷积层的卷积预计耗时和池化层的期望池化耗时之间的差值在时间阈值范围内,上述时间阈值是根据模型的性能以及当前硬件参数提前设置好的。卷积层的卷积预计耗时与卷积神经网络模型的深度、复杂度以及输入数据有关,因此可以提前预测得到卷积神网络模型中任意卷积层的卷积预计耗时,对应地可以预测任意池化层的期望池化耗时。例如,卷积层1的卷积预计耗时为20微秒,卷积层2的卷积预计耗时为30微秒,时间阈值为3毫秒;对应地,与卷积层1对应地池化层1的期望池化耗时为19微秒(卷积预计耗时和期望池化耗时之间的差值为1毫秒,小于时间阈值3毫秒),与卷积层2对应地池化层2的期望池化耗时为32微秒(卷积预计耗时和期望池化耗时之间的差值为2毫秒,小于时间阈值3毫秒)。正在进行池化处理时,用于池化处理的计算资源单位(此处的计算资源单位可以为上述图1b实施例中的计算单元1至计算单元5)的时钟频率称之为当前时钟频率;或者正在进行卷积处理时,上述计算资源单位的时钟频率也可以称之为当前时钟频率。值得注意的是,上述计算资源单位用于池化处理,因此卷积处理过程中计算资源单位的时钟频率保持不变。举例来说,若池化层2正在进行池化处理,用于池化处理的时钟频率为200MHz,因此当前时钟频率为200MHz;若卷积层3正在进行卷积处理,当前时钟频率仍为200MHz,这是因为在卷积层3中进行卷积处理过程中,计算资源单位的当前时钟频率与相邻且已处理的池化层2中的时钟频率相等,也即是从池化层2开始池化处理一直到卷积层3卷积处理完成,期间用于池化处理的计算资源单位的当前时钟频率一直保持200MHz不变。其中,计算资源单位是中央处理器中用于数值、指令、逻辑运算的最小单位部件,计算资源单位可以工作在多个时钟频率下,时钟频率越高运算能力越强,时钟频率越低运算能力越低;用于池化处理的计算资源单位可以用于实现池化处理中的边界处理、滑窗处理、最大池化运算或者平均池化运算。
步骤S102,根据所述目标池化层的期望池化耗时、所述目标池化层的待处理数据量,确定目标时钟频率;
具体的,计算具有平均时钟频率的计算资源单位的计算能力值的总和,得到总计算值(例如,具有平均时钟频率的计算资源单位的计算能力值为2,用于池化处理的计算资源单位的数量是3,因此总计算能力值为3×2=6),其中平均时钟频率是系统提供的多个时钟频率的平均值,计算能力值是指计算资源单位处理指令的能力值,时钟频率越高对应的计算资源单位的能力值越高对应的功耗越高,时钟频率越低对应的计算资源单位的能力值越低对应的功耗越低,该系统可以是指基于FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)硬件平台的系统,或者也可以是指ASIC(专用集成电路)硬件平台的系统。提取目标池化层的待处理数据量,将上述目标池化层的待处理数据量与总计算能力值之间的比值,确定为目标池化层的平均池化耗时。将目标池化层的期望池化耗时(目标池化层的期望池化耗时与目标池化层相关联的卷积层的卷积预计耗时之间的差值在时间阈值范围内)与平均池化耗时之间的比值,确定为目标池化层的加速比。根据目标池化层的加速比、参照池化层的加速比、当前时钟频率,确定目标时钟频率;参照池化层是与目标池化层相邻且正在处理或者已处理的池化层,即正在进行池化处理的池化层可以称之为参照池化层,或者与正在进行卷积处理的卷积层相邻且已处理的池化层也可以称之为参照池化层。同理参照池化层的加速比是根据参照池化层的期望池化耗时和参照池化层的待处理数据量之间的比值生成的,确定参照池化层的加速比的具体过程为:提取参照池化层的待处理数据量,将上述参照池化层的待处理数据量与上述总计算能力值之间的比值,确定为参照池化层的平均池化耗时,并将参照池化层的期望池化耗时(参照池化层的期望池化耗时与参照池化层相关联的卷积层的卷积预计耗时之间的差值在时间阈值范围内)与参照池化层的平均池化耗时之间的比值(参照池化层的期望池化耗时除以参照池化层的平均池化耗时所得的结果),确定为参照池化层的加速比。
可选的,计算具有平均频率的计算资源单位的计算能力值的总和,得到总计算值。提取目标池化层的待处理数据量,将上述目标池化层的待处理数据量与总计算能力值之间的比值,确定为目标池化层的平均池化耗时。将目标池化层的期望池化耗时(目标池化层的期望池化耗时与目标池化层相关联的卷积层的卷积预计耗时之间的差值在时间阈值范围内)与平均池化耗时之间的比值,确定为目标池化层的加速比。根据目标池化层的加速比和平均时钟频率,确定目标时钟频率。其中,平均时钟频率是系统提供的多个时钟频率的平均值。上述可见,目标时钟频率可以通过计算资源单位的当前时钟频率得到,也可以通过计算资源的平均时钟频率得到,其中当前时钟频率是一个动态变化的变量,而平均时钟频率是一个固定的常量。
步骤S103,当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。
具体的,当检测到目标池化层相关联的卷积层中所生成的卷积数据到达数据边界时(例如,当输入卷积神经网络模型中的是图像时,为了使卷积处理后生成的特征图像的大小和输入图像的大小保持一致,在输入图像的外层加上边界,一般说来在图像外层添加数值0,以将输入图像尺寸扩大,保证卷积处理后的特征图像的尺寸和输入图像的尺寸大小一致。因此若连续检测到卷积处理后生成的卷积数据是数值0,则确定该卷积数据到达数据边界),确定目标池化层相关联的卷积层完成卷积处理。当目标池化层相关联的卷积层完成卷积处理,检测当前时钟频率和目标时钟频率,若当前时钟频率和目标时钟频率不同,则将当前时钟频率切换为目标时钟频率,并基于具有目标时钟频率的计算资源单位,在目标池化层提取卷积处理所生成的卷积数据,对上述卷积数据进行池化处理(边界处理、滑窗处理、最大池化运算或者平均池化运算);若目标池化层相关联的卷积层完成卷积处理,且当前时钟频率和目标时钟频率相同,则保持当前时钟频率不变,并继续基于具有当前时钟频率的计算资源单位,在目标池化层对由卷积处理所生成的卷积数据进行池化处理。可以看出,计算目标时钟频率是在目标池化层进行池化处理之前执行的,可以是在参照池化层进行池化处理过程中计算目标时钟频率,也可以是在目标池化层相关联的卷积层进行卷积处理过程中计算目标时钟频率。在目标池化层进行池化处理过程中,目标池化层已经是下一个参照池化层,而与目标池化层相邻且未处理的池化层是下一个目标池化层。通过切换计算资源单位的时钟频率,使得目标池化层的实际池化耗时和目标池化层的期望耗时、对应卷积层的卷积预计耗时均相近,目标池化层的实际池化耗时是目标池化层的池化处理完成后,所统计出来的实际时长。
请一并参见图2a,是本发明实施例提供的一种确定目标时钟频率方法的流程示意图。如图2a所示,确定目标时钟频率的具体过程包括如下步骤S201-步骤S203,且步骤S201-步骤S203为图2所对应实施例中步骤S102的一个具体实施例:
步骤S201,计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
具体的,计算所有具有平均时钟频率的计算资源单位的计算能力值的总和,得到总计算能力值,平均时钟频率是指系统提供的多个时钟频率的平均值。将目标池化层的待处理数据量与计算出的总计算能力值之间的比值(目标池化层的待处理数据量除以总计算能力值所得的结果),确定为目标平均池化耗时。
步骤S202,将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
具体的,将目标池化层的期望池化耗时与目标池化层的平均池化耗时之间的比值(目标池化层的期望池化耗时除以目标池化层的平均池化耗时所得的结果),确定为目标池化层的加速比。
步骤S203,当所述参照池化层的加速比和所述目标池化层的加速比相同时,将所述目标时钟频率设置为与所述当前时钟频率相同的时钟频率;
具体的,提取参照池化层的加速比,并检测目标池化层的加速比和参照池化层的加速比,当目标池化层的加速比和参照池化层的加速比相同时,将目标时钟频率设置为与当前时钟频率相同的时钟频率,即目标池化进行池化处理时,保持当前时钟频率不变。举例来说,目标池化层的加速比为3,参照池化层的加速比也为3,当前时钟频率为350MHz,因此将目标时钟频率设置为350MHz,即目标时钟频率和当前时钟频率相等。
值得注意的是,即使目标池化层的加速比为数值1(说明目标池化层的期望池化耗时和实际池化耗时相近或相等),只能说明目标时钟频率与平均时钟频率相等,而与当前时钟频率不存在任何线性关系,这是因为当前时钟频率是一个不断调整的变量,当前时钟频率与平均时钟频率可能相等也可能不等,因此若通过当前时钟频率来确定目标时钟频率,还需要根据目标池化层的加速比、参照池化层的加速比、当前时钟频率3个变量之间的关系。
步骤S204,当所述参照池化层的加速比和所述目标池化层的加速比不同时,将所述参照池化层的加速比和所述目标池化层的加速比之间的比值,确定为加速系数,并将所述加速系数和所述当前时钟频率之间的乘积,确定为所述目标时钟频率。
具体的,当目标池化层的加速比和参照池化层的加速比不同时,将参照池化层的加速比和目标池化层的加速比之间的比值(参照池化层的加速比除以目标池化层的加速比所得的结果)乘以当前时钟频率,得到目标时钟频率。例如,目标池化层的加速比为6,参照池化层的加速比为3,当前时钟频率为220MHz,因此目标时钟频率为:(3/6)×220MHz=110MHz。其中,参照池化层的加速比是根据参照池化层的期望池化耗时和参照池化层的待处理数据量生成的;参照池化层是与所述目标池化层相邻且正在处理或者已处理的池化层。也就是说,根据两个池化层的加速比之间的比值和当前的时钟频率,计算出下一次池化处理的计算资源单位的目标时钟频率。举例来说,参照池化层正在进行池化处理,而当前时钟频率为200MHz;目标池化层的期望池化耗时为40微秒,目标池化层的平均池化耗时为10微秒,因此目标池化层的加速比为4;参照池化层的期望池化耗时为60微秒,参照池化层的平均池化耗时为30微秒,因此参照池化层的加速比为2;根据目标池化层的加速比、参照池化层的加速比、当前时钟频率之间的比例关系,目标时钟频率为:100MHz((2/4)×200MHz=100MHz)。
请一并参见图2b,是本发明实施例提供的另一种确定目标时钟频率方法的流程示意图。如图2b所示,确定目标时钟频率的具体过程包括如下步骤S301-步骤S303,且步骤S301-步骤S303为图2所对应实施例中步骤S102的一个具体实施例:
步骤S301,计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
具体的,计算所有具有平均时钟频率的计算资源单位的计算能力值的总和,得到总计算能力值,平均时钟频率是指系统提供的多个时钟频率的平均值。将目标池化层的待处理数据量与计算出的总计算能力值之间的比值(目标池化层的待处理数据量除以总计算能力值所得的结果),确定为目标平均池化耗时。
步骤S302,将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
具体的,将目标池化层的期望池化耗时与目标池化层的平均池化耗时之间的比值(目标池化层的期望池化耗时除以目标池化层的平均池化耗时所得的结果),确定为目标池化层的加速比。
步骤S303,将所述目标池化层的加速比的倒数和所述平均时钟频率的乘积,确定为所述目标时钟频率。
具体的,将目标池化层的加速比的倒数乘以平均时钟频率所得的结果确定为目标时钟频率。也就是说,根据目标池化层的加速比和平均时钟频率(平均时钟频率保持不变),计算出下一次池化处理的计算资源单位的目标时钟频率。举例来说,目标池化层的期望池化耗时为100微秒,目标池化层的平均池化耗时为20微秒,因此目标池化层的加速比为5,平均时钟频率为500MHz,因此目标时钟频率为:100MHz((1/5)×500MHz=100MHz)。
本发明实施例通过获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。由于可以根据池化层的期望池化耗时和池化层的待处理数据量而动态地调整计算资源单位的时钟频率,使得任意池化层的实际池化耗时和期望池化耗时相接近,也使得任意池化层的实际池化耗时和对应的卷积层的卷积预计耗时相匹配。因此,通过调整计算资源单位的时钟频率,可以满足任意层的实际池化耗时和卷积预计耗时相接近的要求,从而可以避免计算资源的空闲,进而提高计算资源的使用率。
进一步的,请参见图3,是本发明实施例提供的另一种计算资源调整方法的流程示意图。如图3所示,计算资源调整方法可以包括:
步骤S401,预测多个卷积层的卷积预计耗时,并根据所述多个卷积层的卷积预计耗时确定多个池化层的期望池化耗时,并根据所述多个池化层的期望池化耗时确定池化期望值;
具体的,通过卷积神经网络模型的深度、复杂度以及输入数据的大小,预测卷积神经网络模型中每一个卷积层的卷积预计耗时,根据预测的多个卷积层的卷积预计耗时确定多个池化层的期望池化耗时。由于硬件因素,位于相同层中的卷积层的卷积预计耗时和池化层的期望池化耗时之间的差值在时间阈值范围内。根据卷积神经网络模型中,多个池化层的期望池化耗时确定池化期望值,池化期望值是通过计算多个池化层的期望池化耗时的平均值得到的,代表期望池化耗时的平均值。例如,卷积神经网络模型中存在3个卷积层和3个池化层,卷积层1的卷积预计耗时为20微秒,卷积层2的卷积预计耗时为50微秒,卷积层3的卷积预计耗时为10微秒;对应卷积层1的池化层1的期望池化耗时为18微秒,对应卷积层2的池化层3的期望池化耗时为53微秒,对应卷积层3的池化层3的期望池化耗时为12微秒,对上述3个池化层的期望池化耗时计算平均值,得到池化期望值为:28微秒((18微秒+53微秒+12微秒)/3=28微秒)。
步骤S402,预测多个池化层的待处理数据量,根据所述多个池化层的待处理数据量确定基础池化数据量;
具体的,根据卷积神经网络模型的深度、复杂度以及输入数据的大小,预测卷积神经网络模型中每一个池化层的待处理数据量,在多个池化层的待处理数据量中提取数值最小的待处理数据量,作为基础池化数据量,选取最小的待处理数据量作为基础池化数据量是为了减小池化处理占用计算芯片的面积,最大化提升计算资源单位的计算效率。例如,卷积神经网络模型中存在3个池化层,池化层1的待处理数据量为2KB,池化层2的待处理数据量为3KB,池化层3的待处理数据量为5KB,因此,2KB为基础池化数据量(2KB<3KB<5KB)。
步骤S403,根据所述池化期望值、所述基础池化数据量、具有平均时钟频率的所述计算资源单位的计算能力值,确定用于进行池化处理的计算资源单位的数量;所述平均时钟频率是系统提供的多个时钟频率的平均值;
具体的,将池化期望值乘以具有平均时钟频率的计算资源单位的计算能力值所得到的乘积,再除以基础池化数据量((池化期望值*具有平均时钟频率的计算资源单位的计算能力值)/基础池化数据量),得到用于进行池化处理的计算资源单位的数量。该数量一旦确定,在后续的卷积处理和池化处理过程中,都不再调整计算资源单位的数量,而只调整计算资源单位的频率。平均时钟频率是系统提供的多个时钟频率的平均值,计算能力值是指计算资源单位处理指令的能力值,计算能力值越高计算资源单位处理指令的能力就越强。
请一并参考图3a,是本发明实施例提供的一种确定计算资源单位数量的流程示意图。如图3a所示,根据卷积神经网络模型的深度、算法复杂度和输入数据的大小预测卷积神经网络模型中n个卷积层分别对应的卷积预计耗时TC1-TCn,其中TCn表示第n个卷积层的卷积预计耗时;并根据上述多个卷积预计耗时预测每个卷积层对应的池化层的期望池化耗时TP1-TPn,其中TPn表示第n个池化层的期望池化耗时;计算多个期望池化耗时的平均值得到池化期望值Avg_TP(Avg_TP=(TP1+TP2+...+TPn)/n)。预测n个池化层的待处理数据量VP1-VPn,其中VPn表示第n个池化层的待处理数据量,在上述多个待处理数据量中提取数值最小的待处理数据量作为基础池化数据量Min_VP。根据池化期望值Avg_TP、基础池化数据量Min_VP、以及具有平均时钟频率的计算资源单位的计算能力值V,可以提前计算出计算资源单位的数量Num(Num=(Avg_TP*V)/Min_VP)。
步骤S404,获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;所述目标池化层的期望池化耗时与所述目标池化层相关联的卷积层的卷积预计耗时之间的差值小于时间阈值;
步骤S405,根据所述目标池化层的期望池化耗时、所述目标池化层的待处理数据量,确定目标时钟频率;
其中,步骤S404-步骤S405的具体实现方式可参见上述图2所对应实施例中对步骤S101-步骤S102的描述,且确定目标时钟频率的具体过程可以参见上述图2a中的步骤S201-步骤S203以及图2b中的步骤S301-步骤S303,这里将不在继续进行赘述。
步骤S406,将所述系统提供的多个时钟频率中除所述目标时钟频率以外的时钟频率删除;
具体的,系统会为计算资源单位提供多个时钟频率,为了降低功耗,确定目标时钟频率后,将目标时钟频率以外的(未使用的)时钟频率均删除。
步骤S407,当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。
其中,步骤S407的具体实现方式可参见上述图2所对应实施例中对步骤S103的描述,这里将不在继续进行赘述。
请一并参见图3b,是本发明实施例提供的一种切换目标时钟频率的交互示意图。如图3b所示,系统中的时钟频率产生器200a生成不同频率的时钟,以驱动计算资源单位的不同计算能力值。卷积数据存储器200d中存储卷积处理后生成的卷积数据。当正在进行卷积处理或正在进行池化处理时,时钟频率选择器200b计算目标池化层的加速比,进而确定目标时钟频率。当数据边界检测器200c检测到卷积数据到达数据边界时(即卷积处理完成),时钟频率选择器200b在时钟频率产生器200a所生成的多个时钟频率中,为计算资源单位1、计算资源单位2...计算资源单位n选择目标时钟频率(之前卷积处理过程或者池化处理过程,时钟频率选择器200b已经确定了目标时钟频率),并将多余的时钟频率删除(即屏蔽),以降低系统的功耗。将计算资源单位的时钟频率切换为目标时钟频率,并利用具有目标时钟频率的计算资源单位1、具有目标时钟频率的计算资源单位2...、具有目标时钟频率的计算资源单位n,对卷积数据进行池化处理。其中,数据边界检测器200c在卷积处理过程中是一直持续检测的。其中,时钟频率产生器200a、时钟频率选择器200b、数据边界检测器200c可以集成为上述图1b中所示的时钟频率控制器100g。
例如,将卷积神经网络模型部署在用于进行云计算的FPGA云服务器中,即在FPGA云服务器中的FPGA硬件上部署用于进行卷积计算的计算资源池、卷积数据存储单元、用于进行池化计算的计算资源池、池化数据存储单元、时钟频率控制器(可以为上述图1b中所示的时钟频率控制器100g),其中,用于进行池化计算的计算资源池可以包括图3b所对应实施例中的计算资源单位1、计算资源单位2、...、计算资源单位n。当正在进行卷积处理或者正在进行池化处理时,时钟频率控制器根据目标池化层的期望池化耗时和平均池化耗时,计算目标池化层的加速比,进而确定目标时钟频率。利用用于进行卷积计算的计算资源池进行卷积处理完成后,将卷积得到的卷积数据存储于卷积数据存储单元中,并由时钟频率控制器在由FPAG所提供的多个时钟频率中为用于进行池化计算的计算资源池选择预先确定好的目标时钟频率,并将多余的时钟频率屏蔽,以降低系统的功耗,并由时钟频率控制器将当前时钟频率切换为目标时钟频率,再利用具有目标时钟频率的用于进行池化计算的计算资源池,对卷积数据存储单元中的卷积数据进行池化处理,并将池化处理后的池化数据存储在池化数据存储单元中。由于FPGA可以提供强大的计算能力,所以通过在FPGA云服务器中架构卷积神经网络模型,可以流畅地运行卷积神经网络模型。
本发明实施例通过获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。由于可以根据池化层的期望池化耗时和池化层的待处理数据量而动态地调整计算资源单位的时钟频率,使得任意池化层的实际池化耗时和期望池化耗时相接近,也使得任意池化层的实际池化耗时和对应的卷积层的卷积预计耗时相匹配。因此,通过调整计算资源单位的时钟频率,可以满足任意层的实际池化耗时和卷积预计耗时相接近的要求,从而可以避免计算资源的空闲,进而提高计算资源的使用率。
进一步的,请参见图4,是本发明实施例提供的一种计算资源调整装置的结构示意图。如图4所示,所述计算资源调整装置1可以包括:获取模块11、第一确定模块12、切换模块13;
获取模块11,用于获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;所述目标池化层的期望池化耗时与所述目标池化层相关联的卷积层的卷积预计耗时之间的差值小于时间阈值;
第一确定模块12,用于根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;
切换模块13,用于当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。
其中,获取模块11、第一确定模块12、切换模块13的具体功能实现方式可以参见上述图2对应实施例中的步骤S101-步骤S103,这里不再进行赘述。
请一并参见图4,计算资源调整装置1可以包括:获取模块11、第一确定模块12、切换模块13;计算资源调整装置1还可以包括:第一预测模块14、第二预测模块15、第二确定模块16、第三确定模块17;
第一预测模块14,用于预测多个卷积层的卷积预计耗时,并根据所述多个卷积层的卷积预计耗时确定多个池化层的期望池化耗时,并根据所述多个池化层的期望池化耗时确定池化期望值;
第二预测模块15,用于预测多个池化层的待处理数据量,根据所述多个池化层的待处理数据量确定基础池化数据量;
第二预测模块15,具体用于在所述多个池化层的待处理数据量中提取数值最小的待处理数据量,作为所述基础池化数据量;
第二确定模块16,用于根据所述池化期望值、所述基础池化数据量、具有平均时钟频率的所述计算资源单位的计算能力值,确定用于进行池化处理的计算资源单位的数量;所述平均时钟频率是系统提供的多个时钟频率的平均值。
第三确定模块17,用于当检测到所述目标池化层相关联的卷积层中所生成的卷积数据到达数据边界时,确定所述目标池化层相关联的卷积层完成卷积处理。
其中,第一预测模块14、第二预测模块15、第二确定模块16的具体功能实现方式可以参见上述图3对应实施例中的步骤S401-步骤S403,第三确定模块17的具体功能实现方式可以参见上述图2对应实施例中的步骤S103,这里不再进行赘述。
请一并参见图4,第一预测模块14可以包括:第一确定单元141,第二确定单元142;
第一确定单元141,用于根据所述多个卷积层的卷积预计耗时确定所述多个池化层的期望池化耗时;位于相同层中的卷积层的卷积预计耗时和池化层的期望池化耗时之间的差值小于所述时间阈值;
第二确定单元142,用于计算所述多个池化层的期望池化耗时的平均值,并将所述平均值确定为所述池化期望值。
第一确定单元141,第二确定单元142的具体功能实现方式可以参见上述图3对应实施例中的步骤S401,这里不再进行赘述。
请参见图4,第一确定模块12可以包括:第三确定单元121,第四确定单元122,第五确定单元123;
第三确定单元121,用于计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
第四确定单元122,用于将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
第五确定单元123,用于根据所述目标池化层的加速比、参照池化层的加速比、所述当前时钟频率,确定目标时钟频率;所述参照池化层的加速比是根据所述参照池化层的期望池化耗时和所述参照池化层的待处理数据量生成的;所述参照池化层是与所述目标池化层相邻且正在处理或者已处理的池化层。
其中,第三确定单元121,第四确定单元122,第五确定单元123的具体功能实现方式可以参见上述图2a对应实施例中的步骤S201-步骤S203,这里不再进行赘述。
进一步地,请参见图4,第五确定单元123可以包括:第一确定子单元1231,第二确定子单元1232,删除子单元1233;
第一确定子单元1231,用于当所述参照池化层的加速比和所述目标池化层的加速比相同时,将所述目标时钟频率设置为与所述当前时钟频率相同的时钟频率;
第二确定子单元1232,用于当所述参照池化层的加速比和所述目标池化层的加速比不同时,将所述参照池化层的加速比和所述目标池化层的加速比之间的比值,确定为加速系数,并将所述加速系数和所述当前时钟频率之间的乘积,确定为所述目标时钟频率;
第一确定子单元1231,第二确定子单元1232,删除子单元1233的具体功能实现方式可以参见上述图2a对应实施例中的步骤S203,这里不再进行赘述。
进一步地,请参见图4,第五确定单元123可以包括:第一确定子单元1231,第二确定子单元1232,删除子单元1233,还可以包括:删除子单元1233,
删除子单元1233,用于将所述系统提供的多个时钟频率中除所述目标时钟频率以外的时钟频率删除。
删除子单元1233的具体功能实现方式可以参见上述图3对应实施例中的步骤S406,这里不再进行赘述。
请参见图4,第一确定模块12可以包括:第六确定单元124,第七确定单元125,第八确定单元126;
第六确定单元124,用于计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
第七确定单元125,用于将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
第八确定单元126,用于根据所述目标池化层的加速比和所述平均时钟频率,确定所述目标时钟频率;
第八确定单元126,具体用于将所述目标池化层的加速比的倒数和所述平均时钟频率的乘积,确定为所述目标时钟频率。
其中,第六确定单元124,第七确定单元125,第八确定单元126的具体功能实现方式可以参见上述图2b对应实施例中的步骤S301-步骤S303,这里不再进行赘述。
本发明实施例通过获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。由于可以根据池化层的期望池化耗时和池化层的待处理数据量而动态地调整计算资源单位的时钟频率,使得任意池化层的实际池化耗时和期望池化耗时相接近,也使得任意池化层的实际池化耗时和对应的卷积层的卷积预计耗时相匹配。因此,通过调整计算资源单位的时钟频率,可以满足任意层的实际池化耗时和卷积预计耗时相接近的要求,从而可以避免计算资源的空闲,进而提高计算资源的使用率。
进一步地,请参见图5,是本发明实施例提供的一种终端设备的结构示意图。如图5所示,上述图4中的计算资源调整装置可以应用于所述终端设备1000,所述终端设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,所述终端设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图5所示的终端设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;所述目标池化层的期望池化耗时与所述目标池化层相关联的卷积层的卷积预计耗时之间的差值小于时间阈值;
根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;
当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。
在一个实施例中,所述处理器1001还执行以下步骤:
预测多个卷积层的卷积预计耗时,并根据所述多个卷积层的卷积预计耗时确定多个池化层的期望池化耗时,并根据所述多个池化层的期望池化耗时确定池化期望值;
预测多个池化层的待处理数据量,根据所述多个池化层的待处理数据量确定基础池化数据量;
根据所述池化期望值、所述基础池化数据量、具有平均时钟频率的所述计算资源单位的计算能力值,确定用于进行池化处理的计算资源单位的数量;所述平均时钟频率是系统提供的多个时钟频率的平均值。
在一个实施例中,所述处理器1001在执行所述根据所述多个卷积层的卷积预计耗时确定多个池化层的期望池化耗时,并根据所述多个池化层的期望池化耗时确定池化期望值时,具体执行以下步骤:
根据所述多个卷积层的卷积预计耗时确定所述多个池化层的期望池化耗时;位于相同层中的卷积层的卷积预计耗时和池化层的期望池化耗时之间的差值小于所述时间阈值;
计算所述多个池化层的期望池化耗时的平均值,并将所述平均值确定为所述池化期望值。
在一个实施例中,所述处理器1001在执行所述根据所述多个池化层的待处理数据量确定基础池化数据量时,具体执行以下步骤:
在所述多个池化层的待处理数据量中提取数值最小的待处理数据量,作为所述基础池化数据量。
在一个实施例中,所述处理器1001在执行所述根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率时,具体执行以下步骤:
计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
根据所述目标池化层的加速比、参照池化层的加速比、所述当前时钟频率,确定目标时钟频率;所述参照池化层的加速比是根据所述参照池化层的期望池化耗时和所述参照池化层的待处理数据量生成的;所述参照池化层是与所述目标池化层相邻且正在处理或者已处理的池化层。
在一个实施例中,所述处理器1001在执行所述根据所述目标池化层的加速比、参照池化层的加速比、所述当前时钟频率,确定目标时钟频率时,具体执行以下步骤:
当所述参照池化层的加速比和所述目标池化层的加速比相同时,将所述目标时钟频率设置为与所述当前时钟频率相同的时钟频率;
当所述参照池化层的加速比和所述目标池化层的加速比不同时,将所述参照池化层的加速比和所述目标池化层的加速比之间的比值,确定为加速系数,并将所述加速系数和所述当前时钟频率之间的乘积,确定为所述目标时钟频率。
在一个实施例中,所述处理器1001还执行以下步骤:
将所述系统提供的多个时钟频率中除所述目标时钟频率以外的时钟频率删除。
在一个实施例中,所述处理器1001在执行所述根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率时,具体执行以下步骤:
计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到所述总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
根据所述目标池化层的加速比和所述平均时钟频率,确定所述目标时钟频率。
在一个实施例中,所述处理器1001在执行所述根据所述目标池化层的加速比和所述平均时钟频率,确定所述目标时钟频率时,具体执行以下步骤:
将所述目标池化层的加速比的倒数和所述平均时钟频率的乘积,确定为所述目标时钟频率。
在一个实施例中,所述处理器1001还执行以下步骤:
当检测到所述目标池化层相关联的卷积层中所生成的卷积数据到达数据边界时,确定所述目标池化层相关联的卷积层完成卷积处理。
本发明实施例通过获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理。由于可以根据池化层的期望池化耗时和池化层的待处理数据量而动态地调整计算资源单位的时钟频率,使得任意池化层的实际池化耗时和期望池化耗时相接近,也使得任意池化层的实际池化耗时和对应的卷积层的卷积预计耗时相匹配。因此,通过调整计算资源单位的时钟频率,可以满足任意层的实际池化耗时和卷积预计耗时相接近的要求,从而可以避免计算资源的空闲,进而提高计算资源的使用率。
应当理解,本发明实施例中所描述的终端设备1000可执行前文图2到图3b所对应实施例中对所述计算资源调整方法的描述,也可执行前文图4所对应实施例中对所述计算资源调整装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的计算资源调整装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2到图3b所对应实施例中对所述计算资源调整方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (15)

1.一种计算资源调整方法,其特征在于,包括:
获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;所述目标池化层的期望池化耗时与所述目标池化层相关联的卷积层的卷积预计耗时之间的差值小于时间阈值;
根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;所述目标时钟频率是在所述目标池化层进行池化处理之前所确定的;
当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理;所述目标时钟频率用于控制所述目标池化层的实际池化耗时和所述目标池化层的期望池化耗时之间的差值小于所述时间阈值;所述目标池化层的实际池化耗时是指基于具有所述目标时钟频率的所述计算资源单位对所述目标池化层进行池化处理完成后,所统计出来的实际时长。
2.根据权利要求1所述的方法,其特征在于,还包括:
预测多个卷积层的卷积预计耗时,并根据所述多个卷积层的卷积预计耗时确定多个池化层的期望池化耗时,并根据所述多个池化层的期望池化耗时确定池化期望值;
预测多个池化层的待处理数据量,根据所述多个池化层的待处理数据量确定基础池化数据量;
根据所述池化期望值、所述基础池化数据量、具有平均时钟频率的所述计算资源单位的计算能力值,确定用于进行池化处理的计算资源单位的数量;所述平均时钟频率是系统提供的多个时钟频率的平均值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述多个卷积层的卷积预计耗时确定多个池化层的期望池化耗时,并根据所述多个池化层的期望池化耗时确定池化期望值,包括:
根据所述多个卷积层的卷积预计耗时确定所述多个池化层的期望池化耗时;位于相同层中的卷积层的卷积预计耗时和池化层的期望池化耗时之间的差值小于所述时间阈值;
计算所述多个池化层的期望池化耗时的平均值,并将所述平均值确定为所述池化期望值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述多个池化层的待处理数据量确定基础池化数据量,具体包括:
在所述多个池化层的待处理数据量中提取数值最小的待处理数据量,作为所述基础池化数据量。
5.根据权利要求2所述的方法,其特征在于,所述根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率,包括:
计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
根据所述目标池化层的加速比、参照池化层的加速比、所述当前时钟频率,确定目标时钟频率;所述参照池化层的加速比是根据所述参照池化层的期望池化耗时和所述参照池化层的待处理数据量生成的;所述参照池化层是与所述目标池化层相邻且正在处理或者已处理的池化层。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标池化层的加速比、参照池化层的加速比、所述当前时钟频率,确定目标时钟频率,包括:
当所述参照池化层的加速比和所述目标池化层的加速比相同时,将所述目标时钟频率设置为与所述当前时钟频率相同的时钟频率;
当所述参照池化层的加速比和所述目标池化层的加速比不同时,将所述参照池化层的加速比和所述目标池化层的加速比之间的比值,确定为加速系数,并将所述加速系数和所述当前时钟频率之间的乘积,确定为所述目标时钟频率。
7.根据权利要求6所述的方法,其特征在于,所述将所述加速系数和所述当前时钟频率之间的乘积,确定为所述目标时钟频率之后,还包括:
将所述系统提供的多个时钟频率中除所述目标时钟频率以外的时钟频率删除。
8.根据权利要求2所述的方法,其特征在于,所述根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率,包括:
计算所有具有所述平均时钟频率的所述计算资源单位的计算能力值的总和,得到总计算能力值,并将所述目标池化层的待处理数据量与所述总计算能力值之间的比值,确定为所述目标池化层的平均池化耗时;
将所述目标池化层的期望池化耗时与所述目标池化层的平均池化耗时之间的比值,确定为所述目标池化层的加速比;
根据所述目标池化层的加速比和所述平均时钟频率,确定所述目标时钟频率。
9.根据权利要求8所述的方法,其特征在于,所述根据所述目标池化层的加速比和所述平均时钟频率,确定所述目标时钟频率,包括:
将所述目标池化层的加速比的倒数和所述平均时钟频率的乘积,确定为所述目标时钟频率。
10.根据权利要求1所述的方法,其特在在于,还包括:
当检测到所述目标池化层相关联的卷积层中所生成的卷积数据到达数据边界时,确定所述目标池化层相关联的卷积层完成卷积处理。
11.一种计算资源调整装置,其特征在于,包括:
获取模块,用于获取目标池化层的期望池化耗时和目标池化层的待处理数据量,并获取用于进行池化处理的计算资源单位对应的当前时钟频率;所述目标池化层的期望池化耗时与所述目标池化层相关联的卷积层的卷积预计耗时之间的差值小于时间阈值;
第一确定模块,用于根据所述目标池化层的期望池化耗时和所述目标池化层的待处理数据量,确定目标时钟频率;所述目标时钟频率是在所述目标池化层进行池化处理之前所确定的;
切换模块,用于当所述目标池化层相关联的卷积层完成卷积处理,且所述当前时钟频率和所述目标时钟频率不同时,将所述当前时钟频率切换为所述目标时钟频率,并基于具有所述目标时钟频率的所述计算资源单位,在所述目标池化层进行池化处理;所述目标时钟频率用于控制所述目标池化层的实际池化耗时和所述目标池化层的期望池化耗时之间的差值小于所述时间阈值;所述目标池化层的实际池化耗时是指基于具有所述目标时钟频率的所述计算资源单位对所述目标池化层进行池化处理完成后,所统计出来的实际时长。
12.根据权利要求11所述的装置,其特征在于,还包括:
第一预测模块,用于预测多个卷积层的卷积预计耗时,并根据所述多个卷积层的卷积预计耗时确定多个池化层的期望池化耗时,并根据所述多个池化层的期望池化耗时确定池化期望值;
第二预测模块,用于预测多个池化层的待处理数据量,根据所述多个池化层的待处理数据量确定基础池化数据量;
第二确定模块,用于根据所述池化期望值、所述基础池化数据量、具有平均时钟频率的所述计算资源单位的计算能力值,确定用于进行池化处理的计算资源单位的数量;所述平均时钟频率是系统提供的多个时钟频率的平均值。
13.根据权利要求12所述的装置,其特征在于,所述第一预测模块,包括:
第一确定单元,用于根据所述多个卷积层的卷积预计耗时确定所述多个池化层的期望池化耗时;位于相同层中的卷积层的卷积预计耗时和池化层的期望池化耗时之间的差值小于所述时间阈值;
第二确定单元,用于计算所述多个池化层的期望池化耗时的平均值,并将所述平均值确定为所述池化期望值。
14.一种终端设备,其特征在于,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-10任一项所述的方法。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-10任一项所述的方法。
CN201810072678.9A 2018-01-25 2018-01-25 一种计算资源调整方法、装置以及相关设备 Active CN110083448B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810072678.9A CN110083448B (zh) 2018-01-25 2018-01-25 一种计算资源调整方法、装置以及相关设备
PCT/CN2018/118502 WO2019144701A1 (zh) 2018-01-25 2018-11-30 神经网络运算方法、装置以及相关设备
EP18902036.5A EP3745308B1 (en) 2018-01-25 2018-11-30 Neural network computing method and apparatus, and related device
US16/885,669 US11507812B2 (en) 2018-01-25 2020-05-28 Neural network operational method and apparatus, and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810072678.9A CN110083448B (zh) 2018-01-25 2018-01-25 一种计算资源调整方法、装置以及相关设备

Publications (2)

Publication Number Publication Date
CN110083448A CN110083448A (zh) 2019-08-02
CN110083448B true CN110083448B (zh) 2023-08-18

Family

ID=67395145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810072678.9A Active CN110083448B (zh) 2018-01-25 2018-01-25 一种计算资源调整方法、装置以及相关设备

Country Status (4)

Country Link
US (1) US11507812B2 (zh)
EP (1) EP3745308B1 (zh)
CN (1) CN110083448B (zh)
WO (1) WO2019144701A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535631A (zh) * 2020-04-22 2021-10-22 苏州华兴源创科技股份有限公司 数据分配方法、装置、集成芯片及视频图像处理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105813208A (zh) * 2015-12-01 2016-07-27 长江大学 一种多用户正交频分复用系统动态资源分配的方法及系统
CN105981055A (zh) * 2014-03-03 2016-09-28 高通股份有限公司 神经网络对当前计算资源的自适应
CN106682574A (zh) * 2016-11-18 2017-05-17 哈尔滨工程大学 一维深度卷积网络的水下多目标识别方法
CN106779060A (zh) * 2017-02-09 2017-05-31 武汉魅瞳科技有限公司 一种适于硬件设计实现的深度卷积神经网络的计算方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10157309B2 (en) * 2016-01-14 2018-12-18 Nvidia Corporation Online detection and classification of dynamic gestures with recurrent convolutional neural networks
US10460747B2 (en) * 2016-05-10 2019-10-29 Google Llc Frequency based audio analysis using neural networks
KR102458808B1 (ko) * 2016-10-26 2022-10-25 딥마인드 테크놀로지스 리미티드 신경망을 이용한 텍스트 시퀀스 처리
US10732694B2 (en) * 2017-09-22 2020-08-04 Qualcomm Incorporated Power state control of a mobile device
WO2020194594A1 (ja) * 2019-03-27 2020-10-01 Tdk株式会社 ニューラルネットワーク演算処理装置及びニューラルネットワーク演算処理方法
CN112200300B (zh) * 2020-09-15 2024-03-01 星宸科技股份有限公司 卷积神经网络运算方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105981055A (zh) * 2014-03-03 2016-09-28 高通股份有限公司 神经网络对当前计算资源的自适应
CN105813208A (zh) * 2015-12-01 2016-07-27 长江大学 一种多用户正交频分复用系统动态资源分配的方法及系统
CN106682574A (zh) * 2016-11-18 2017-05-17 哈尔滨工程大学 一维深度卷积网络的水下多目标识别方法
CN106779060A (zh) * 2017-02-09 2017-05-31 武汉魅瞳科技有限公司 一种适于硬件设计实现的深度卷积神经网络的计算方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A Feedback-Based Approach to DVFS in Data-Flow Applications;Andrea Alimonda.et.al.;《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》;第第28卷卷(第第11期期);摘要、第IV、V节 *

Also Published As

Publication number Publication date
EP3745308B1 (en) 2024-01-17
EP3745308A4 (en) 2021-04-07
WO2019144701A1 (zh) 2019-08-01
EP3745308A1 (en) 2020-12-02
US20200293869A1 (en) 2020-09-17
US11507812B2 (en) 2022-11-22
CN110083448A (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
CN109165728B (zh) 一种卷积神经网络的基本计算单元及计算方法
KR101201904B1 (ko) 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법
CN108304925B (zh) 一种池化计算装置及方法
CN109754359A (zh) 一种应用于卷积神经网络的池化处理的方法及系统
CN109144719A (zh) 移动云计算系统中基于马尔科夫决策过程的协作卸载方法
CN110083448B (zh) 一种计算资源调整方法、装置以及相关设备
CN113010312B (zh) 一种超参数调优方法、装置及存储介质
CN112988285A (zh) 任务卸载方法和装置、电子设备及存储介质
GB2599348A (en) Method and system for autoscaling containers in a cloud-native core network
CN116450312A (zh) 面向流水线并行训练的调度策略确定方法及系统
CN109460813B (zh) 卷积神经网络计算的加速方法、装置、设备及存储介质
CN111522324B (zh) 半导体温控装置的测试方法、装置、电子设备及存储介质
CN109361947A (zh) 网络资源批量加载方法、智能电视、存储介质及装置
Raeis et al. Queue-learning: A reinforcement learning approach for providing quality of service
CN114781650B (zh) 一种数据处理方法、装置、设备以及存储介质
CN115408072A (zh) 基于深度强化学习的快速适应模型构建方法及相关装置
CN113064677B (zh) 应用运行方法及装置、存储介质及电子装置
CN115794323A (zh) 任务调度方法、装置、服务器和存储介质
Zhu et al. An online learning approach to wireless computation offloading
Yang et al. On-demand inference acceleration for directed acyclic graph neural networks over edge-cloud collaboration
CN114021697A (zh) 基于强化学习的端云框架神经网络生成方法和系统
CN113517694A (zh) 准谐振控制器参数的整定方法、装置、电气设备及介质
CN112473142A (zh) 渐进式寻路的方法、系统、电子装置和存储介质
CN113807397A (zh) 语义表示模型的训练方法、装置、设备和存储介质
CN110989040A (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