我有一个20GB的图像库,存储为高维numpy数组。这个库允许我使用这些图像,而不必每次都重新生成它们。现在我的问题是np.load(" mylibrary")花费的时间与生成一些图像所需的时间相同。因此我的问题是:有没有办法存储一个numpy数组,以便它可以轻松访问而无需加载它?
编辑:我正在使用PyCharm
答案 0 :(得分:0)
我建议使用h5py这是HDF5二进制数据格式的Pythonic接口。
它可以存储大量的数值数据,并可以轻松地从NumPy处理这些数据。例如,您可以切片存储在磁盘上的多TB数据集,就好像它们是真正的NumPy数组一样。数以千计的数据集可以存储在一个文件中,按照您的需要进行分类和标记。
您也可以使用PyTables'。它是python和numpy的另一个HDF5接口
PyTables是一个用于管理分层数据集的软件包,旨在高效,轻松地处理大量数据。您可以下载PyTables并免费使用它。您可以在此处访问文档,一些使用示例和演示文稿。
numpy.memap是另一种选择。然而它会比hdf5慢。另一个条件是阵列应限制在2.5G