动态数据加载减少内存开销的方法、系统、计算机设备及存储介质技术方案

技术编号:27934458 阅读:24 留言:0更新日期:2021-04-02 14:14
本申请涉及一种动态数据加载减少内存开销的方法、系统、计算机设备及存储介质,方法包括以下步骤:在RAM中设定固定模型地址、当前模型地址及下一步模型地址;通过CPU按序依次从FLASH加载模型M1~Mn;通过DMA将模型M1加载到固定模型地址中,同时,也通过DMA将除模型M1以外的其它模型按序加载到当前模型地址和下一步模型地址中;除初始化步骤通过CPU运行模型M1处理数据外,剩余步骤均通过当前模型地址加载的模型处理数据,数据处理后释放其内存,直到所有模型处理完成。本发明专利技术通过动态加载模型的方法,释放出大量运行近期不需要使用的模型空间,通过DMA协同加载模型的方法,减少频繁加载对CPU的时间消耗。

【技术实现步骤摘要】
动态数据加载减少内存开销的方法、系统、计算机设备及存储介质
本申请涉及深度相机数据处理
,特别是涉及一种动态数据加载减少内存开销的方法、系统、计算机设备及存储介质。
技术介绍
现如今,在计算机信息技术高速发展的时代背景下,计算机设备所具有的功能也越来越多,性能也越来越稳定,这也就意味着CPU的数据运算量可能也越来越大。当计算机设备运行中需要用到大量模型对数据进行处理时,早期的计算机程序中,为了加快设备的运行效率,大多采用以空间换时间的理念,即不论模型是否时刻在使用,都加载到CPU的RAM中。但是,当设备被要求的做到更多的功能时,需要加载使用的模型也会越来越多,按照传统的以空间换时间的理念,则需要更多的内存空间,那就需要更换内存更大的CPU来解决需求。这就意味需要更多的资金更新设备,不论是从消费者的角度看还是生产者的角度看,这种成本的增加都不是他们能接受的。
技术实现思路
基于此,有必要针对上述技术问题,提供一种动态数据加载减少内存开销的方法、系统、计算机设备及存储介质。一种动态数据加载减少内存开销的方法,包括以下步骤:在RAM中设定固定模型地址、当前模型地址及下一步模型地址;通过CPU按序依次从FLASH加载模型M1~Mn;通过DMA将模型M1加载到固定模型地址中,同时,也通过DMA将除模型M1以外的其它模型按序加载到当前模型地址和下一步模型地址中;除初始化步骤通过CPU运行模型M1处理数据外,剩余步骤均通过当前模型地址加载的模型处理数据,数据处理后释放其内存,直到所有模型处理完成。作为一种实施方式,还包括以下步骤:当某一模型处理失败,释放当前模型地址和下一步模型地址的内存,下一步重新开始处理模型M1。作为一种实施方式,所述通过CPU按序依次从FLASH加载模型M1~Mn,具体包括以下步骤:指定CPU按序依次从FLASH加载模型M1到Mn的包头,获取并记录各模型大小到对应的Size1到Sizen中;根据模型动态分配Size大小的内存,并记录内存地址到相应模型地址中。一种动态数据加载减少内存开销的方法系统,包括:地址单元,用于在RAM中设定固定模型地址、当前模型地址及下一步模型地址;CPU单元,用于通过CPU按序依次从FLASH加载模型M1~Mn;DMA单元,用于通过DMA将模型M1加载到固定模型地址中,同时,也通过DMA将除模型M1以外的其它模型按序加载到当前模型地址和下一步模型地址中;数据处理单元,用于除初始化步骤通过CPU运行模型M1处理数据外,剩余步骤均通过当前模型地址加载的模型处理数据,数据处理后释放其内存,直到所有模型处理完成。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现动态数据加载减少内存开销的方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现动态数据加载减少内存开销的方法的步骤。上述动态数据加载减少内存开销的方法、系统、计算机设备及存储介质,通过动态加载模型的方法,释放出大量运行近期不需要使用的模型空间,通过DMA协同加载模型的方法,减少频繁加载对CPU的时间消耗,最终通过此方法,解决为保障算法正常运行而需要更换CPU的问题。附图说明图1为一个实施例中动态数据加载减少内存开销的方法的应用环境图;图2为一个实施例中动态数据加载减少内存开销的方法的流程示意图;图3为一个实施例中动态数据加载减少内存开销的系统的结构框图;图4为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的动态数据加载减少内存开销的方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一个实施例中,如图2所示,提供了一种动态数据加载减少内存开销的方法。接下来以该方法应用于图1中的终端为例进行说明,该方法包括以下步骤:S100:在RAM中设定固定模型地址、当前模型地址及下一步模型地址;S200:通过CPU按序依次从FLASH加载模型M1~Mn;S300:通过DMA将模型M1加载到固定模型地址中,同时,也通过DMA将除模型M1以外的其它模型按序加载到当前模型地址和下一步模型地址中;S400:除初始化步骤通过CPU运行模型M1处理数据外,剩余步骤均通过当前模型地址加载的模型处理数据,数据处理后释放其内存,直到所有模型处理完成。步骤S200具体包括以下内容:指定CPU按序依次从FLASH加载模型M1到Mn的包头,获取并记录各模型大小到对应的Size1到Sizen中;根据模型动态分配Size大小的内存,并记录内存地址到相应模型地址中。除上述的步骤外,还包括以下步骤:当某一模型处理失败,释放当前模型地址和下一步模型地址的内存,下一步重新开始处理模型M1。在一实施例中,本专利技术的动态数据加载减少内存开销的方法详细流程如下:步骤一、设定模型为M1到Mn,在RAM中设定固定模型地址AddrA、当前模型地址AddrB及下一步模型地址AddrC用于保存3个模型,除了在M1处理数据时使用固定模型地址AddrA的内存空间外,其它模型都是使用AddrB的内存空间。同时,置前步骤变量Step=0;步骤二、指定CPU按序依次从FLASH加载模型M1到Mn的包头,获取并记录各模型大小到对应的Size1到Sizen中;步骤三、动态分配Size1大小的内存,并记录内存地址到固定模型地址AddrA后,使用DMA加载模型M1到固定模型地址AddrA;步骤四、当需要使用模型M1来处理数据时,置Step=1;步骤五、动态分配Size2大小的内存,记录内存地址到下一步模型地址AddrC,使用DMA加载模型M2到下一步模型地址AddrC,并用固定模型地址AddrA中的模型M1处理数据;步骤六,若M1处理数据失败,释放下一步模型地址AddrC的空间。下一步需模型M1处理,回到步骤五;步骤七、在模型M1处理完数据成功后,使用DMA加载M2到当前模型地址AddrB,同时,动态分配Size3大小的内存,记录内存地址到下一步模型地址AddrC,置Step=Step+1;下一轮通过模型M2处理数据,同理,后续步骤按序通过其他模型处理数据,在后续的步骤中,当前处理数据的模型用MStep表述;步骤八、若模型MStep处理成功,需要模型MStep本文档来自技高网...

【技术保护点】
1.一种动态数据加载减少内存开销的方法,其特征在于,包括以下步骤:/n在RAM中设定固定模型地址、当前模型地址及下一步模型地址;/n通过CPU按序依次从FLASH加载模型M1~Mn;/n通过DMA将模型M1加载到固定模型地址中,同时,也通过DMA将除模型M1以外的其它模型按序加载到当前模型地址和下一步模型地址中;/n除初始化步骤通过CPU运行模型M1处理数据外,剩余步骤均通过当前模型地址加载的模型处理数据,数据处理后释放其内存,直到所有模型处理完成。/n

【技术特征摘要】
1.一种动态数据加载减少内存开销的方法,其特征在于,包括以下步骤:
在RAM中设定固定模型地址、当前模型地址及下一步模型地址;
通过CPU按序依次从FLASH加载模型M1~Mn;
通过DMA将模型M1加载到固定模型地址中,同时,也通过DMA将除模型M1以外的其它模型按序加载到当前模型地址和下一步模型地址中;
除初始化步骤通过CPU运行模型M1处理数据外,剩余步骤均通过当前模型地址加载的模型处理数据,数据处理后释放其内存,直到所有模型处理完成。


2.根据权利要求1所述的动态数据加载减少内存开销的方法,其特征在于,还包括以下步骤:
当某一模型处理失败,释放当前模型地址和下一步模型地址的内存,下一步重新开始处理模型M1。


3.根据权利要求1所述的动态数据加载减少内存开销的方法,其特征在于,所述通过CPU按序依次从FLASH加载模型M1~Mn,具体包括以下步骤:
指定CPU按序依次从FLASH加载模型M1到Mn的包头,获取并记录各模型大小到对应的Size1到Sizen中;

【专利技术属性】
技术研发人员:方利红柳振强包建意陈波徐韡
申请(专利权)人:杭州艾芯智能科技有限公司
类型:发明
国别省市:浙江;33

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

1