【发布时间】:2018-10-26 17:11:34
【问题描述】:
我有一个42000 numpy 数组列表(每个数组都是240x240),我想将其保存到一个文件中以用于另一个python 脚本。
我尝试使用 pickle 和 numpy.savez_compressed 并遇到内存错误(我有 16gb DDR3)。我读到hdf5 通常用于深度学习的东西不能保存列表,所以我有点卡住了。
有人知道如何保存我的数据吗?
编辑:我之前使用np.save 将这些数据保存到磁盘上的 numpy 数组中,它大约为 2.3GB,但我的计算机无法始终处理它,因此如果我尝试处理它有时会崩溃。我阅读列表可能会更好,所以我已经转向使用 numpy 数组列表
【问题讨论】:
-
从列表中创建一个一维 numpy 数组
-
我遇到了另一个内存错误。当我之前尝试使用 numpy 数组并以 .npy 格式保存到磁盘时,它大约为 2.3GB。
-
您是否尝试过使用 scipy.io.savemat 保存在 .mat 文件中?您可以将所有 42000 个矩阵分别保存在一个目录中,然后您可以在新脚本中读取该目录。 docs.scipy.org/doc/scipy-0.19.0/reference/generated/… 您也可以使用 scipy.io.savemat 进行压缩
-
您可以使用 numpy.memmap 避免在数组太大时将数据分配到 RAM 中。
-
尝试保存块。例如,每个文件都是 100 个 numpy 数组的一维数组
标签: python list numpy hdf5 h5py