我有两个存储在 hdf5 中的 numpy 数组 每个 44 GB。我需要将它们连接在一起 但需要在磁盘上进行,因为我只有 8GB 内存。 我该怎么做?
谢谢!
最佳答案
相关帖子是为了在生成的文件中获取不同的数据集。在 Python 中这是可能的,但您需要在多个操作中读取和写入数据集。比如说,从文件 1 中读取 1GB,写入输出文件,重复直到从文件 1 中读取所有数据,然后对文件 2 执行相同的操作。您需要直接在适当的最终大小的输出文件中声明数据集
d = f.create_dataset('name_of_dataset', shape=shape, dtype=dtype, data=None)
其中 shape 是根据数据集计算的,dtype 与数据集中的匹配。
写入d
:
d[i*N:(i+1)N] = d_from_file_1[iN:(i+1)*N]
这应该只会将部分数据集加载到内存中。
关于numpy - 如何连接两个 hdf5 格式的 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43929420/