[发明专利]用于电子设备的内存优化方法和设备有效
申请号: | 201910293724.2 | 申请日: | 2019-04-12 |
公开(公告)号: | CN110058943B | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | 王晓;屈宇田 | 申请(专利权)人: | 三星(中国)半导体有限公司;三星电子株式会社 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06N3/04 |
代理公司: | 北京铭硕知识产权代理有限公司 11286 | 代理人: | 于彬;孔敏 |
地址: | 710000 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 电子设备 内存 优化 方法 设备 | ||
1.一种用于电子设备的内存优化方法,包括:
(A)将神经网络模型的层以多种组合方式进行分组,以得到多种分组结果,其中,每种分组结果包括至少两个组,且所述每个分组结果所包括的任意一个组中的最后的层与所述任意一个组的后一组的起始层执行顺序上相邻,所述分组结果中的每个组中所包括的各个层按照层的执行顺序排列;
(B)估计在每种分组结果下运行所述神经网络模型所需的运算资源;
(C)从所述多种分组结果中筛选出使用运算资源最小的分组结果;
(D)根据筛选出的分组结果所包括的每个组的执行顺序,在当前组的执行过程中加载所述当前组之后的下一组到相应的预设缓存区,以运行所述神经网络模型。
2.如权利要求1所述的方法,其中,所述方法还包括:
在所述当前组被执行完成后,并且在所述当前组之后的下一组被加载完成后,执行所述当前组之后的下一组。
3.如权利要求1所述的方法,其中,每个分组结果所包括的任意一个组中的最后的层与所述任意一个组的后一组的起始层相邻。
4.如权利要求1所述的方法,其中,运行所述神经网络模型所需的运算资源包括:运行所述神经网络模型使用的总内存和执行总时间。
5.如权利要求4所述的方法,其中,步骤(C)包括:
从所述多种分组结果中筛选出使用的总内存小于等于预设内存的分组结果中执行总时间最短的分组结果,
或者,
从所述多种分组结果中筛选出执行总时间小于等于预设时间的分组结果中使用的总内存最小的分组结果。
6.如权利要求4所述的方法,其中,步骤(B)包括:
(B1)估计所述神经网络模型的各个层的运行数据;
(B2)利用所述各个层的运行数据估计在每种分组结果下运行所述神经网络模型使用的总内存和执行总时间。
7.如权利要求6所述的方法,其中,步骤(B1)包括:
(B11)获取电子设备的硬件设备信息和所述神经网络模型的每一层的模型参数;
(B12)基于获取的硬件设备信息和模型参数估计所述神经网络模型的各个层的运行数据。
8.如权利要求6所述的方法,其中,所述神经网络模型的各个层的运行数据包括:每一层的执行时间、每一层的内存消耗、每一层的参数加载和/或存储时间。
9.如权利要求6所述的方法,其中,步骤(B2)包括:
(B21)基于每一层的参数加载和/或存储时间、每一层的执行时间、每一层的内存消耗和预设缓存区数目确定每种分组结果所包括的每一组的内存消耗、每一组的参数加载和/或存储时间、每一组的执行时间和每一组的时间消耗;
(B22)基于每种分组结果所包括的每一组的内存消耗、每一组的参数加载和/或存储时间、每一组的执行时间和每一组的时间消耗估计在每种分组结果下运行所述神经网络模型使用的总内存和执行总时间。
10.如权利要求9所述的方法,其中,在步骤(B21)中,利用下面的等式来确定任意一种分组结果所包括的任意一个组的参数加载和/或存储时间:
其中,j表示任意一种分组结果所包括的第j个组,GTL[j]表示第j组的参数加载和/或存储时间,LN[j]表示第j组所包括的神经网络模型的层的数量,第i层表示每个组的起始层,tl[id]表示神经网络模型的第id层的参数加载和/或存储时间,其中,其中,α表示电子设备的实际存储带宽SB和理论存储带宽SB'的比率,P[id]表示神经网络模型的第id层的模型参数所占的内存大小。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三星(中国)半导体有限公司;三星电子株式会社,未经三星(中国)半导体有限公司;三星电子株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910293724.2/1.html,转载请声明来源钻瓜专利网。