【发布时间】: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