[发明专利]一种基于深度学习网络的内存管理方法在审
申请号: | 202010285754.1 | 申请日: | 2020-04-13 |
公开(公告)号: | CN113537444A | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 罗涛 | 申请(专利权)人: | 杭州英歌智达科技有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08;G06F9/50 |
代理公司: | 浙江杭知桥律师事务所 33256 | 代理人: | 方东;罗贤水 |
地址: | 310012 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 学习 网络 内存 管理 方法 | ||
本发明涉及一种基于深度学习网络的内存管理方法,包括:载入网络模型参数;载入网络模型;接收用户输入网络运行的数据;比较网络输入尺寸和默认网络输入尺寸或上一次网络输入尺寸;如果网络输入尺寸较大,则重新计算每层临时内存和层间传递内存,并重新分配;网络根据用户设置的运行设备和参数进行运行。
技术领域
本发明属于深度学习领域,尤其涉及基于深度学习网络的内存管理。
背景技术
随着深度学习这几年迅速的发展,计算机视觉、数据处理等方面的产品与日俱增,可以部署深度学习的芯片也多样化。现有的深度学习部署框架,存在以下几个问题:
1.网络架构无法同时使用不同的处理单元(例如DSP和GPU)运行同一网络的不同层。
2.嵌入式设备上,内存的使用很受限制。在以往网络(如NCNN、MACE)运行过程中,内存的分配都是对用户不可见的,用户只能通过系统的内存检测系统查看和监视网络的内存使用情况,而且存在不可预知的内存分配的可能性,造成网络在嵌入式设备上的不稳定性。
3.在以往的网络框架中,GPU的使用率是不可控制的,所有网络架构都会最大限度地使用GPU。当有多个网络同时调用GPU时,会产生资源的竞争,每个网络运行的时间会产生不确定性。
鉴于以上现有深度学习网络存在的问题和不足,本发明致力于实现一种面向多种处理单元的网络架构,采用更有效和更透明的方式管理内存,并能有效地设置GPU的使用率。
发明内容
鉴于以上现有深度学习网络存在的问题和不足,本发明致力于提出一种基于深度学习网络的内存管理方法,包括:
载入网络模型参数;
载入网络模型;
接收用户输入网络运行的数据;
比较网络输入尺寸和默认网络输入尺寸或上一次网络输入尺寸;
如果网络输入尺寸较大,则重新计算每层临时内存和层间传递内存,并重新分配;
网络根据用户设置的运行设备和参数进行运行。
可选的,上述方法还包括:如果网络输入尺寸较大,则内存大小保持不变。
可选的,上述方法还包括:根据用户设置模型网络的处理单元,设置方式包括如下任何之一:
根据用户设置某一类型层的处理单元;
根据用户设置某一层的处理单元;
根据用户设置全部层的处理单元。
可选的,载入网络模型包括:
载入网络层数和每一层的类型、参数;
根据每层的类型和根据用户设置的每层的处理单元,初始化每层的参数;
根据每层输入的参数计算模型内存、临时内存和层间传递内存;
计算汇总,根据用户选择自行分配内存。
可选的,网络根据用户设置的运行设备和参数进行运行包括:处理单元为GPU,根据用户设置GPU的使用率为可选配置,默认配置为100%
本发明针对深度学习训练好的模型进行部署,可适用于PC、嵌入式设备或单设备单(多)处理单元(CPU、GPU、DSP)的情况,最大限度利用设备的特性,提升网络前向的速度和性能,节省设备的资源。本发明使深度学习网络在运行过程中内存稳定,比一般内存池网络效率更高,比原有网络更节省内存。本发明采用更有效和更透明的方式管理内存,并能有效地设置GPU的使用率。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州英歌智达科技有限公司,未经杭州英歌智达科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010285754.1/2.html,转载请声明来源钻瓜专利网。