[发明专利]神经网络的内存分配方法、架构、电子设备及存储介质在审
申请号: | 202310166428.2 | 申请日: | 2023-02-17 |
公开(公告)号: | CN116302506A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 王赟;张官兴 | 申请(专利权)人: | 绍兴埃瓦科技有限公司;上海埃瓦智能科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06N3/063;G06N3/0464;G06N3/0495;G06N3/048;G06N5/04 |
代理公司: | 北京清大紫荆知识产权代理有限公司 11718 | 代理人: | 黎飞鸿;郑纯 |
地址: | 311800 浙江省绍兴市陶朱*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 内存 分配 方法 架构 电子设备 存储 介质 | ||
本申请公开神经网络的内存分配方法、架构、电子设备及存储介质。本申请的方法包括:确定算子节点的生命周期和所需的空间大小;以内存空间位置为横轴,以所述算子节点所需的空间大小为纵轴建立二维坐标平面;将所述算子节点的内存大小作为宽,所述算子节点的生命周期间隔作为高,生成矩形内存模型;保持所述算子节点的生命周期间隔及内存空间大小不变,基于预设算法对所述矩形内存模型进行平移,直至总需求空间最小。
技术领域
本申请涉及神经网络技术领域,具体地涉及神经网络的内存分配方法、架构、电子设备及存储介质。
背景技术
目前,神经网络应用中较多地通过稀疏激活压缩对卷积激活输出结果进行压缩,然后将对应压缩编码数据加载至预设内存空间。但是,嵌入式AIOT设备内存空间较为紧张,在神经网络推理运算时至少需要存储当前计算节点的激活、权重、池化、量化、归一化等相关依赖数据,导致嵌入式AIOT设备内存空间不足。因此,亟需减少神经网络在模型推理时的内存消耗。
相关的方案是在神经网络的模型推理过程中采用动态分配内存的方法,根据每个计算节点生命周期所需内存大小动态分配内存块,该方法可以减少大量内存及I/O读写资源消耗。但是,这种方法需要在每一次推理过程中频繁的分配和释放内存空间,不可避免地影响到模型推理时的执行效率,增加了模型推理的时间消耗,同时,常见的内存分配算法(FirstFit/BestFit等)会造成内存碎片化问题。
本背景技术描述的内容仅为了便于了解本领域的相关技术,不视作对现有技术的承认。
发明内容
因此,本发明实施例意图提供神经网络的内存分配方法、架构、电子设备及存储介质。
在第一方面,本发明实施例提供了神经网络的内存分配方法,包括:
确定算子节点的生命周期和所需的空间大小;
以内存空间位置为横轴,以所述算子节点所需的空间大小为纵轴建立二维坐标平面;
将所述算子节点的内存大小作为宽,所述算子节点的生命周期间隔作为高,生成矩形内存模型;
保持所述算子节点的生命周期间隔及内存空间大小不变,基于预设算法对所述矩形内存模型进行平移,直至总需求空间最小。
在其中一个实施例中,所述算子节点的算子总时间周期是确定的,所述二维坐标平面空间在内存空间位置方向生长。
在其中一个实施例中,所述预设算法包括装箱算法。
在其中一个实施例中,所述确定算子节点的生命周期和所需的空间大小,包括:
构建完整神经网络各层拓扑关系的有向无环图;
获取所述有向无环图中算子节点的生命周期和所需内存空间大小。
在其中一个实施例中,保持所述算子节点的生命周期间隔及内存空间大小不变,基于预设算法对所述矩形内存模型进行平移,包括:
对所述有向无环图按照预设静态内存空间大小进行分割;
对分割后的所述有向无环图的每一段所需的内存空间按照预设算法进行静态内存空间分配;
根据计算顺序动态进行静态内存空间分配。
在其中一个实施例中,所述方法还包括:
根据不同层所需的内存空间大小在预设范围内动态调整所述预设静态内存空间大小。
在其中一个实施例中,所述确定算子节点的生命周期和所需的空间大小,包括:
根据所述算子节点的拓扑依赖关系自动计算每个算子节点的中间特征数据的生命周期及内存空间大小;
在其中一个实施例中,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于绍兴埃瓦科技有限公司;上海埃瓦智能科技有限公司,未经绍兴埃瓦科技有限公司;上海埃瓦智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310166428.2/2.html,转载请声明来源钻瓜专利网。