【问题标题】:Is there a memmap functionality for pickle?pickle 有 memmap 功能吗?
【发布时间】:2022-07-26 20:27:54
【问题描述】:

pickle 或 torch.load() 是否有 memmap 功能?

参考:https://numpy.org/doc/stable/reference/generated/numpy.memmap.html

【问题讨论】:

  • mmap 模块帮助您将磁盘数据映射到内存中,但数据需要 unpickle 才能使用。
  • @Aaron numpy 未序列化。我无法用 numpy 保存大量数据。但是我需要先加载整个泡菜文件,然后再次以非序列化的方式保存,对吧?
  • 是的,如果未序列化的是 numpy.array。没有序列化就无法保存复杂的对象。
  • @Aaron 这没有帮助。因为我有可用的数据作为泡菜。我会加载它并再次将其保存为.npy(这可能因为太大而无法使用),以便我可以使用 mmap。
  • 如果您可以加载它,请使用array.tofile() 将其写入原始二进制格式,而不是npy。然后可以稍后使用numpy.memmap() 映射该文件。要不,找个强大的机器?

标签: python


【解决方案1】:

我的解决方案:

使用而不是 pickle 或 torch.save/torch.load。最好使用tf.records,例如来自 PyTorch DALI 插件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-03
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多