当前位置: 首页 > 专利查询>中南大学专利>正文

一种移动端的卷积神经网络任务调度方法及系统技术方案

技术编号:28320416 阅读:30 留言:0更新日期:2021-05-04 13:00
本发明专利技术公开了一种移动端的卷积神经网络任务调度方法及系统,方法包括:S1.针对计算任务,从预设的配置方案集合中选择满足预设条件的配置方案,配置方案包括CPU核心频率、GPU核心频率、最低网络延迟切分比率、和当前配置参数下的最低网络延迟;S2.将计算任务的卷积层输入张量按照最低网络延迟切分比率进行切分,切分得到CPU输入张量和GPU输入张量;S3.以CPU输入张量作为CPU卷积神经网络的输入,计算得到CPU输出张量;以GPU输入张量作为GPU卷积神经网络的输入,计算得到GPU输出张量,根据CPU输出张量和GPU输出张量得到卷积神经网络的输出张量。具有有效降低移动端卷积神经网络延迟等优点。

【技术实现步骤摘要】
一种移动端的卷积神经网络任务调度方法及系统
本专利技术涉及移动计算领域,尤其涉及一种移动端的卷积神经网络任务调度方法及系统。
技术介绍
近年来深度学习卷积神经网络(CNN)技术在视觉应用领域取得了突破性的进展,针对比如图像分类、动作识别等应用取得了相比传统方法更高的精确度。深度学习通过大量的数据训练出高准确度的神经网络模型,然后将神经网络模型部署在服务器设备或移动端设备上实现推理或推断的过程。而深度学习模型在移动端上的部署和实现也变得至关重要,因为基于服务器端的深度学习推理方案需要将用户的个人数据,比如照片、视频上传到开放的互联网上,这在一定程度上产生了用户的个人数据被泄露的风险,造成对用户自身的信息安全隐患。而基于移动端的深度学习推理方案能够将用户的个人数据在移动设备上直接进行处理,不需要上传至开放的互联网,因此更有利于保护用户的个人数据,特别是具有隐私性的数据。在移动端上执行深度学习推理的挑战在于三个方面——推理的高延迟、发热严重和能耗大的问题。由于深度学习模型中包含了一些计算量大的计算层,比如卷积层,这些计算层在移动端上执行会产生比较大的延迟,严重影响用户的使用体验。而另一方面,计算密集的深度学习模型运行在移动端上会造成移动端设备的升温发热,对用户来说也具有一定的安全隐患,比如可能会烫伤用户,或引起电池发热爆炸等伤害。最后,过高的温度带给移动设备的是能耗的增大,因为有一部分能量将用于发热,降低了能量的利用效率。因此,在移动端上的深度学习推理应该克服这三点挑战,要在尽可能地降低推理延迟的同时,还要控制好设备的发热量和能量的消耗。目前已经出现了一些技术来解决深度学习神经网络在移动端上的推理延迟高的问题。如文献1(YoungsokKim,JoonsungKim,DongjuChae,DaehyunKim,andJangwooKim.2019.μLayer:LowLatencyOn-DeviceInferenceUsingCooperativeSingle-LayerAccelerationandProcessor-FriendlyQuantization.InProceedingsoftheFourteenthEuroSysConference2019(EuroSys’19).AssociationforComputingMachinery,NewYork,NY,USA,Article45,1–15.)提出了一种将计算复杂的卷积层切分到移动端的中央处理单元(CPU)和图形处理单元(GPU)上并行计算加速的方案,并通过选择合适的量化技术进一步加速了卷积层在CPU/GPU计算单元上的执行效率。文献2(WangS,AnanthanarayananG,ZengY,etal.High-ThroughputCNNInferenceonEmbeddedARMbig.LITTLEMulti-CoreProcessors[J].IEEETransactionsonComputerAidedDesignofIntegratedCircuits&Systems,2019.)采用了流水线执行技术,利用移动设备上的CPU大小核处理能力不同的特点,让CPU的大小核分别执行卷积神经网络中不同的层,使得卷积神经网络相比在CPU上非流水线的执行方案取得了更高的吞吐量。但现有的技术大多是将深度学习卷积神经网络放置于移动端上单一种类的计算单元上运行,这种方案没有充分利用好异构计算单元充足的计算能力。当然也存在利用CPU和GPU并行加速深度学习卷积神经网络的方案,但他们没有考虑到利用CPU和GPU并行计算时移动端设备的发热升温问题,因而缺乏对移动端设备表面温度的有效控制方案。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种有效降低移动端卷积神经网络延迟的移动端的卷积神经网络任务调度方法及系统。为解决上述技术问题,本专利技术提出的技术方案为:一种移动端的卷积神经网络任务调度方法,包括如下步骤:S1.针对计算任务,从预设的配置方案集合中选择满足预设条件的配置方案,所述配置方案包括CPU核心频率、GPU核心频率、最低网络延迟切分比率、和当前配置参数下的最低网络延迟;所述预设条件包括所述当前配置参数下的最低网络延迟低于预设延迟;S2.将所述计算任务的卷积层输入张量按照所述最低网络延迟切分比率进行切分,切分得到CPU输入张量和GPU输入张量;S3.以所述CPU输入张量作为CPU卷积神经网络的输入,计算得到CPU输出张量;以所述GPU输入张量作为GPU卷积神经网络的输入,计算得到GPU输出张量,根据所述CPU输出张量和所述GPU输出张量得到卷积神经网络的输出张量。进一步地,在所述步骤S2的具体步骤包括:S2.1.根据所述最低网络延迟切分比率和所述卷积层输入张量的高度,确定所述CPU输入张量的高度和所述GPU输入张量的高度;S2.2.根据所述卷积层输入张量和所述CPU输入张量的高度计算得到CPU输入张量,根据所述卷积层输入张量和所述GPU输入张量的高度计算得到GPU输入张量。进一步地,所述卷积层输入张量以图像格式存储;在所述步骤S2.2中还包括:将计算得到的图像格式的CPU输入张量转换成缓存格式的CPU输入张量。进一步地,所述步骤S3包括:将缓存格式的CPU输出张量转换成图像格式的CPU输出张量,将图像格式的CPU输出张量与图像格式的GPU输出张量合并,得到卷积神经网络的输出张量。进一步地,所述配置方案还包括当前配置参数下设备的最高表面温度;所述预设条件包括所述当前配置参数下设备的最高表面温度小于预设的目标温度;还包括最低网络延迟切分比率确定步骤S0:所述步骤S0包括:将预设的基准卷积层任务以预设的初始切分比率进行切分,得到基准CPU任务和基准GPU任务,获取CPU执行所述基准CPU任务所需要的第一时长,获取GPU执行所述基准GPU任务所需要的第二时长,当所述第一时长小于所述第二时长,且两者之差小于预设的阈值,则以所述初始切分比率作为最低网络延迟切分比率,否则调整所述初始切分比率,并重复最低网络延迟切分比率确定步骤S0。一种移动端的卷积神经网络任务调度系统,包括参数配置模块、切分模块和计算输出模块;所述参数配置模块用于:针对计算任务,从预设的配置方案集合中选择满足预设条件的配置方案,所述配置方案包括CPU核心频率、GPU核心频率、最低网络延迟切分比率、和当前配置参数下的最低网络延迟;所述预设条件包括所述当前配置参数下的最低网络延迟低于预设延迟;所述切分模块用于:将所述计算任务的卷积层输入张量按照所述最低网络延迟切分比率进行切分,切分得到CPU输入张量和GPU输入张量;所述计算输出模块用于:以所述CPU输入张量作为CPU卷积神经网络的输入,计算得到CPU输出张量;以所述GPU输入张量作为GPU卷积神经网络的输入,计算得到GPU输出张量,根据所述CPU输出张量和所述GPU输出张量得本文档来自技高网
...

【技术保护点】
1.一种移动端的卷积神经网络任务调度方法,其特征在于,包括如下步骤:/nS1.针对计算任务,从预设的配置方案集合中选择满足预设条件的配置方案,所述配置方案包括CPU核心频率、GPU核心频率、最低网络延迟切分比率、和当前配置参数下的最低网络延迟;所述预设条件包括所述当前配置参数下的最低网络延迟低于预设延迟;/nS2.将所述计算任务的卷积层输入张量按照所述最低网络延迟切分比率进行切分,切分得到CPU输入张量和GPU输入张量;/nS3.以所述CPU输入张量作为CPU卷积神经网络的输入,计算得到CPU输出张量;以所述GPU输入张量作为GPU卷积神经网络的输入,计算得到GPU输出张量,根据所述CPU输出张量和所述GPU输出张量得到卷积神经网络的输出张量。/n

【技术特征摘要】
1.一种移动端的卷积神经网络任务调度方法,其特征在于,包括如下步骤:
S1.针对计算任务,从预设的配置方案集合中选择满足预设条件的配置方案,所述配置方案包括CPU核心频率、GPU核心频率、最低网络延迟切分比率、和当前配置参数下的最低网络延迟;所述预设条件包括所述当前配置参数下的最低网络延迟低于预设延迟;
S2.将所述计算任务的卷积层输入张量按照所述最低网络延迟切分比率进行切分,切分得到CPU输入张量和GPU输入张量;
S3.以所述CPU输入张量作为CPU卷积神经网络的输入,计算得到CPU输出张量;以所述GPU输入张量作为GPU卷积神经网络的输入,计算得到GPU输出张量,根据所述CPU输出张量和所述GPU输出张量得到卷积神经网络的输出张量。


2.根据权利要求1所述的移动端的卷积神经网络任务调度方法,其特征在于:在所述步骤S2的具体步骤包括:
S2.1.根据所述最低网络延迟切分比率和所述卷积层输入张量的高度,确定所述CPU输入张量的高度和所述GPU输入张量的高度;
S2.2.根据所述卷积层输入张量和所述CPU输入张量的高度计算得到CPU输入张量,根据所述卷积层输入张量和所述GPU输入张量的高度计算得到GPU输入张量。


3.根据权利要求2所述的移动端的卷积神经网络任务调度方法,其特征在于:所述卷积层输入张量以图像格式存储;
在所述步骤S2.2中还包括:将计算得到的图像格式的CPU输入张量转换成缓存格式的CPU输入张量。


4.根据权利要求3所述的移动端的卷积神经网络任务调度方法,其特征在于:所述步骤S3包括:
将缓存格式的CPU输出张量转换成图像格式的CPU输出张量,将图像格式的CPU输出张量与图像格式的GPU输出张量合并,得到卷积神经网络的输出张量。


5.根据权利要求1至4任一项所述的移动端的卷积神经网络任务调度方法,其特征在于:所述配置方案还包括当前配置参数下设备的最高表面温度;所述预设条件包括所述当前配置参数下设备的最高表面温度小于预设的目标温度;
还包括最低网络延迟切分比率确定步骤S0:
所述步骤S0包括:将预设的基准卷积层任务以预设的初始切分比率进行切分,得到基准CPU任务和基准GPU任务,获取CPU执行所述基准CPU任务所需要的第一时长,获取GPU执行所述基准GPU任务所需要的第二时长,当所述第一时长小于所述第二时长,且两者之差小于预设的阈值,则以所述初始切分比率作为最低网络延迟切分比率,否则调整所述初始切分比率,并重复最低网络延迟切分比率确定步骤S0。


6.一种移动端的卷积...

【专利技术属性】
技术研发人员:张德宇贾富程张尧学
申请(专利权)人:中南大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1