处理内存访问开销的方法、装置及介质制造方法及图纸

技术编号:23148839 阅读:18 留言:0更新日期:2020-01-18 13:23
本文公开了一种处理内存访问开销的方法、装置及介质,此方法包括:申请用于进行填补处理的内存;针对输入数据执行深度学习算法;在执行深度学习算法完成后,释放所述用于填补处理的内存。本文中提前预设用于进行填补处理的内存,在执行深度学习算法完成后统一进行释放,减少内存申请和释放的处理过程,节省处理能力。

Methods, devices and media for handling memory access overhead

【技术实现步骤摘要】
处理内存访问开销的方法、装置及介质
本文涉及多媒体数据处理
,尤其涉及处理内存访问开销的方法、装置及介质。
技术介绍
深度学习模型是图像领域人工智能的重要技术,随着智能手机和IoT设备的普及,越来越多的深度学习算法应用于终端侧设备。虽然终端侧设备的计算和存储能力在不断提升,但是受到体积和功耗的限制,资源仍然十分受限。深度学习算法中的一种操作模式中,对输入数据进行填补(Padding),再进行卷积,以防止边缘部分的数据丢失。
技术实现思路
为克服相关技术中存在的问题,本文提供处理内存访问开销的方法、装置及介质。根据本文实施例的第一方面,提供一种处理内存访问开销的方法,应用于深度学习过程,所述方法包括:申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存;确定所述深度学习模型的输入数据;使用所述深度学习模型对所述输入数据进行深度学习处理;释放所述内存。上述方法还具有以下特点:所述深度学习模型包括按顺序设置的N个卷积操作,N为大于1的整数;所述申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存,包括:确定所述深度学习模型中第一个卷积操作的输入数据的尺寸;根据所述第一个卷积操作的输入数据的尺寸确定所述N个卷积操作的输出数据的尺寸和所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸;确定所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸中的最大尺寸;申请N个内存,所述N个内存与所述N个卷积操作一一对应,所述N个内存的容量相同并且均对应于所述最大尺寸;所述使用所述深度学习模型对所述输入数据进行深度学习处理包括:执行每次卷积操作前,使用所述卷积操作对应的内存对所述卷积操作的输入数据进行数值填补。上述方法还具有以下特点:所述深度学习模型包括按顺序设置的N个卷积操作,N为大于1的整数;所述申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存,包括:确定所述深度学习模型中第一个卷积操作的输入数据的尺寸;根据所述第一个卷积操作的输入数据的尺寸确定所述N个卷积操作的输出数据的尺寸和所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸;根据所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸确定K个卷积操作集合,所述N个卷积操作由所述K个卷积操作集合组成,每个卷积操作集合包含的连续的卷积操作的输出数据的尺寸满足不增大规律;申请K个内存,所述K个内存与所述K个卷积操作集合一一对应,所述K个内存的容量分别对应于所述K个卷积操作集合中第一个卷积操作的输入数据执行数值填补操作后的数据尺寸,所述K是小于N的整数;所述使用所述深度学习模型对所述输入数据进行深度学习处理,包括:在执行每次卷积操作前,使用所述卷积操作所属的卷积操作集合所对应的内存对所述卷积操作的输入数据进行数值填补。上述方法还具有以下特点:所述深度学习模型包括按顺序设置的N个卷积操作,N为大于1的整数;所述申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存,包括:确定所述深度学习模型中第一个卷积操作的输入数据的尺寸;根据所述第一个卷积操作的输入数据的尺寸确定所述N个卷积操作的输出数据的尺寸和所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸;根据所述K个卷积操作的输入数据执行数值填补操作后的数据尺寸确定K个卷积操作集合,所述N个卷积操作由所述K个卷积操作集合组成,每个卷积操作集合中包含的卷积操作的输入数据执行数值填补操作后的数据尺寸相同;申请K个内存,所述K个内存与所述K个卷积操作集合一一对应,所述K个内存的容量分别对应于K个卷积操作集合中任一卷积操作的输入数据执行数值填补操作后的数据尺寸,K是小于或等于N的整数;所述使用所述深度学习模型对所述输入数据进行深度学习处理,包括:在执行每次卷积操作前,使用所述卷积操作所属的卷积操作集合所对应的内存对所述卷积操作的输入数据进行数值填补。上述方法还具有以下特点:所述申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存包括:申请共享内存;所述深度学习模型对所述输入数据进行深度学习处理包括:对于需要进行数值填补操作的卷积操作,调整所述共享内存的容量,使调整后的所述共享内存的容量对应于所述需要进行数值填补操作的卷积操作的输入数据执行数值填补操作后的尺寸,使用所述共享内存对所述卷积操作的输入数据进行数值填补。上述方法还具有以下特点:所述对于需要进行数值填补操作的卷积操作,调整所述共享内存的容量包括:对于需要进行数值填补操作的卷积操作,确定所述需要进行数值填补操作的卷积操作的输入数据进行数值填补后的尺寸;若所述需要进行数值填补操作的卷积操作的输入数据进行数值填补后的尺寸对应的容量大于所述共享内存的容量,则将所述共享内存的容量重配置为所述需要进行数值填补操作的卷积操作的输入数据进行数值填补后的尺寸对应的容量。根据本文实施例的第二方面,提供一种处理内存访问开销的装置,包括:内存申请模块,用于申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存;输入数据确定模块,用于确定所述深度学习模型的输入数据;学习模块,用于使用所述深度学习模型对所述输入数据进行深度学习处理;内存释放模块,用于释放所述内存。上述装置还具有以下特点:所述深度学习算法包括具有预设执行顺序的N个卷积操作,N为大于1的整数;所述内存申请模块包括:第一确定模块,用于确定所述深度学习模型中第一个卷积操作的输入数据的尺寸;第二确定模块,用于根据所述第一个卷积操作的输入数据的尺寸确定所述N个卷积操作的输出数据的尺寸和所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸;第三确定模块,用于确定所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸中的最大尺寸;第一申请模块,用于申请N个内存,所述N个内存与所述N个卷积操作一一对应,所述N个内存的容量相同并且均对应于所述最大尺寸;所述学习模块,用于使用以下方法使用所述深度学习模型对所述输入数据进行深度学习处理:执行每次卷积操作前,使用所述卷积操作对应的内存对所述卷积操作的输入数据进行数值填补。上述装置还具有以下特点:所述深度学习算法包括具有预设执行顺序的N个卷积操作,N为大于1的整数;所述内存申请模块包括:第四确定模块,用于确定所述深度学习模型中第一个卷积操作的输入数据的尺寸;第五确定模块,用于根据所述第一个卷积操作的输入数据的尺寸确定所述N个卷积操作的输出数据的尺寸和所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸;第六确定模块,用于根据所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸确定K个卷积操本文档来自技高网...

【技术保护点】
1.处理内存访问开销的方法,其特征在于,应用于深度学习过程,所述方法包括:/n申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存;/n确定所述深度学习模型的输入数据;/n使用所述深度学习模型对所述输入数据进行深度学习处理;/n释放所述内存。/n

【技术特征摘要】
1.处理内存访问开销的方法,其特征在于,应用于深度学习过程,所述方法包括:
申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存;
确定所述深度学习模型的输入数据;
使用所述深度学习模型对所述输入数据进行深度学习处理;
释放所述内存。


2.如权利要求1所述的方法,其特征在于,
所述深度学习模型包括按顺序设置的N个卷积操作,N为大于1的整数;
所述申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存,包括:
确定所述深度学习模型中第一个卷积操作的输入数据的尺寸;
根据所述第一个卷积操作的输入数据的尺寸确定所述N个卷积操作的输出数据的尺寸和所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸;
确定所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸中的最大尺寸;
申请N个内存,所述N个内存与所述N个卷积操作一一对应,所述N个内存的容量相同并且均对应于所述最大尺寸;
所述使用所述深度学习模型对所述输入数据进行深度学习处理包括:
执行每次卷积操作前,使用所述卷积操作对应的内存对所述卷积操作的输入数据进行数值填补。


3.如权利要求1所述的方法,其特征在于,
所述深度学习模型包括按顺序设置的N个卷积操作,N为大于1的整数;
所述申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存,包括:
确定所述深度学习模型中第一个卷积操作的输入数据的尺寸;
根据所述第一个卷积操作的输入数据的尺寸确定所述N个卷积操作的输出数据的尺寸和所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸;
根据所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸确定K个卷积操作集合,所述N个卷积操作由所述K个卷积操作集合组成,每个卷积操作集合包含的连续的卷积操作的输出数据的尺寸满足不增大规律;
申请K个内存,所述K个内存与所述K个卷积操作集合一一对应,所述K个内存的容量分别对应于所述K个卷积操作集合中第一个卷积操作的输入数据执行数值填补操作后的数据尺寸,所述K是小于N的整数;
所述使用所述深度学习模型对所述输入数据进行深度学习处理,包括:
在执行每次卷积操作前,使用所述卷积操作所属的卷积操作集合所对应的内存对所述卷积操作的输入数据进行数值填补。


4.如权利要求1所述的方法,其特征在于,
所述深度学习模型包括按顺序设置的N个卷积操作,N为大于1的整数;
所述申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存,包括:
确定所述深度学习模型中第一个卷积操作的输入数据的尺寸;
根据所述第一个卷积操作的输入数据的尺寸确定所述N个卷积操作的输出数据的尺寸和所述N个卷积操作的输入数据执行数值填补操作后的数据尺寸;
根据所述K个卷积操作的输入数据执行数值填补操作后的数据尺寸确定K个卷积操作集合,所述N个卷积操作由所述K个卷积操作集合组成,每个卷积操作集合中包含的卷积操作的输入数据执行数值填补操作后的数据尺寸相同;
申请K个内存,所述K个内存与所述K个卷积操作集合一一对应,所述K个内存的容量分别对应于K个卷积操作集合中任一卷积操作的输入数据执行数值填补操作后的数据尺寸,K是小于或等于N的整数;
所述使用所述深度学习模型对所述输入数据进行深度学习处理,包括:
在执行每次卷积操作前,使用所述卷积操作所属的卷积操作集合所对应的内存对所述卷积操作的输入数据进行数值填补。


5.如权利要求1所述的方法,其特征在于,
所述申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存包括:
申请共享内存;
所述深度学习模型对所述输入数据进行深度学习处理包括:
对于需要进行数值填补操作的卷积操作,调整所述共享内存的容量,使调整后的所述共享内存的容量对应于所述需要进行数值填补操作的卷积操作的输入数据执行数值填补操作后的尺寸,使用所述共享内存对所述卷积操作的输入数据进行数值填补。


6.如权利要求5所述的方法,其特征在于,
所述对于需要进行数值填补操作的卷积操作,调整所述共享内存的容量包括:
对于需要进行数值填补操作的卷积操作,确定所述需要进行数值填补操作的卷积操作的输入数据进行数值填补后的尺寸;
若所述需要进行数值填补操作的卷积操作的输入数据进行数值填补后的尺寸对应的容量大于所述共享内存的容量,则将所述共享内存的容量重配置为所述需要进行数值填补操作的卷积操作的输入数据进行数值填补后的尺寸对应的容量。


7.处理内存访问开销的装置,其特征在于,包括:
内存申请模块,用于申请用于针对深度学习模型中至少一卷积操作进行数值填补操作的内存;
输入数据确定模块,用于确定所述深度学习模型的输入数据;
学习模块,用于使用所述深度学习模型对所述输入数据进行深度学...

【专利技术属性】
技术研发人员:李寅何亮亮
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京;11

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

1