【发布时间】:2021-08-12 17:32:38
【问题描述】:
我正在尝试将一个大的 .npy 文件 (~800 MB) 加载到 Google Collab 中,但每次我尝试这样做时,Collab 实例都会由于 RAM 过度使用而崩溃。
import numpy as np
a=np.load('oddata.npy',allow_pickle=True)
我正在使用具有 12 GB RAM 的基本 Collab 实例。
我曾尝试使用 mmap,但它返回此错误:ValueError: Array can't be memory-mapped: Python objects in dtype.
问题是否存在,例如将 .npy 文件分成块或将其转换为另一种文件格式。
最好的,
阿拉夫
【问题讨论】:
-
HDF5 支持分块读取文件。您可以尝试将文件转换为 HDF5,但您至少需要能够在进行转换的机器上打开它。例如,您可以在交换内存非常大的机器上执行此操作。但是请注意,HDF5 不会接受纯 Python 对象,我认为这是您的主要问题。为什么不使用原生类型?
-
非常感谢您的快速响应。问题是这是一个预制数据集,所以我真的没有机会创建任何原生类型。
标签: python dataframe numpy google-colaboratory ram