【问题标题】:Writing large memory structures to disk with limited Memory resources (Python)将大型内存结构写入内存资源有限的磁盘(Python)
【发布时间】:2021-01-21 00:11:16
【问题描述】:

我有一个大内存信息库(在一个有大字典的类中),一旦数据被编译成这个超大结构(高达 20GB),需要将其加载到内存中并在收到信息时进行更新然后我需要将此更新的内存库保存到磁盘以供以后加载。但是,使用pickle,我无法找到一种方法,可以通过在序列化数据时流式传输数据来腌制文件(我不能超过25.5 GB)。如果您注意到在拥有 20GB 结构和需要序列化 ​​pickle 之间,它远远超出了我的内存资源。

有没有办法让pickle在序列化时流式传输信息,还是我必须自己创建函数来自己将内存写入文件?

有没有办法降低内存成本(在进程完成时将内存从磁盘卸载)?

【问题讨论】:

    标签: python-3.x machine-learning memory pickle


    【解决方案1】:

    如果有人必须知道,我通过将我的大内存结构转换为三个较小的内存结构(依赖于顺序)来解决这个问题,然后我可以腌制它们。当我加载内存结构时,我还必须将内存重新连接成一个更大的结构。节省的内存并不多,但这是我现在能够做到的一种解决方法。这个解决方案当然是依赖于结构的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      • 2016-08-23
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多