[发明专利]神经网络推理的内存管理方法及装置有效
申请号: | 202011532175.9 | 申请日: | 2020-12-23 |
公开(公告)号: | CN112256440B | 公开(公告)日: | 2021-03-09 |
发明(设计)人: | 梁军 | 申请(专利权)人: | 上海齐感电子信息科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06N3/02;G06N5/04 |
代理公司: | 上海浦一知识产权代理有限公司 31211 | 代理人: | 焦天雷 |
地址: | 201120 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 推理 内存 管理 方法 装置 | ||
神经网络推理的内存管理方法及装置,所述方法包括:将内存空间划分为第一类区域和第二类区域,所述第一类区域只会被用于存储生命周期为1的FM数据,所述第二类区域能够被用于存储任意生命周期的FM数据;对待分配内存空间的神经网络进行分析,根据该神经网络中存在多输入的层的数量与该神经网络的总层数,来确定是否启用第一类区域、以及是否启用第二类区域;从第一类区域和/或第二类区域中为该神经网络中各个层的FM数据分配内存空间。本发明根据神经网络的结构来自适应选择合适的内存管理策略,最优化内存使用。本发明使用贪婪算法逐层搜索最优化的内存分配方案,能够降低神经网络推理的内存占用,尽可能的最小化内存使用。
技术领域
本发明涉及人工智能技术领域,特别是涉及一种神经网络推理的内存管理方法及装置。
背景技术
得益于深度神经网络的高效性和准确性,尤其在检测、识别分类等任务中表现优异,近几年,深度神经网络在生活中的应用不断扩展和发散。由此,各类嵌入式神经网路处理器(NPU)应运而生。
但是,深度神经网络通常会占用大量的内存,这就提高了对硬件的要求,也会直接导致硬件的生产成本提高。因此,如何降低深度神经网络的内存占用是目前亟需解决的问题,能够大幅降低深度神经网络对硬件的要求,并节约成本。
现有的神经网路推理都是假设神经网络的输入、输出以及中间层的数据都不会相互干扰,并没有针对性的内存分配和优化,而是直接交给操作系统来做。那么在此情况下,神经网络的输入、输出及中间层的输入、输出所需要占用的内存大小与平铺的方式所需要占用的内存大小一样。
上述方式占用的内存过于巨大,尤其是对于边缘计算设备而言,在此情况下,对于中间层数据比较大的神经网络(比如vgg19),甚至不能在边缘计算设备的处理器上运行。
相关术语解释
FM(Feature Map),特征图;
IFM(Input Feature Map),输入特征图;
OFM(Output Feature Map),输出特征图。
发明内容
本发明解决的技术问题是:如何降低神经网络推理的内存占用,以降低硬件消耗和运行神经网络所需的硬件成本。
为了解决上述技术问题,本发明实施例提供一种神经网络推理的内存管理方法,包括:
对内存空间进行划分,划分后的内存空间至少包括第一类区域和第二类区域;其中,所述第一类区域只会被用于存储生命周期为1的FM数据,所述第二类区域能够被用于存储任意生命周期的FM数据;
对待分配内存空间的神经网络进行分析,得出该神经网络中存在多输入的层的数量;
根据该神经网络中存在多输入的层的数量与该神经网络的总层数,来确定是否启用第一类区域、以及是否启用第二类区域;
从第一类区域和/或第二类区域中为该神经网络中各个层的FM数据分配内存空间;其中,在从第二类区域中,为需要存放在第二类区域的各个网络层分配内存空间的过程中,尽可能的最小化当前第二类区域的内存总和、且尽可能的最大化第二类区域的内存复用。
可选的,所述对待分配内存空间的神经网络进行分析,得出该神经网络中存在多输入的层的数量包括:
对待分配内存空间的神经网络中每一层的所有输入IFMs进行统计,得出每一层的FM和生命周期终止点;
根据待分配内存空间的神经网络中每一层的FM和生命周期终止点,统计得出该神经网络中存在多输入的层的数量。
可选的,所述根据该神经网络中存在多输入的层的数量与该神经网络的总层数,来确定是否启用第一类区域、以及是否启用第二类区域包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海齐感电子信息科技有限公司,未经上海齐感电子信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011532175.9/2.html,转载请声明来源钻瓜专利网。