7

我目前正在研究一个关于压缩 HDF5 数据集的项目,最近开始使用 h5py。我遵循了基本教程,并且能够在创建文件时打开、创建和压缩文件。但是,在压缩现有文件时我一直没有成功(这是我工作的目标)。

我尝试使用 'r+' 打开文件,然后压缩分块数据集,但文件大小保持不变。

关于使用哪些命令或我以错误的方式处理事情的任何建议?

4

2 回答 2

5

HDF 组提供了一组工具来转换、显示、分析和编辑和重新打包您的 HDF5 文件。

您可以使用h5repack实用程序压缩现有的 hdf5 文件。您还可以使用相同的实用程序更改块大小。

h5repack 可以从命令行使用。

h5repack file1 file2//删除文件1占用的空间,保存为file2。

h5repack -v -l CHUNK=1024 file1 file2//将1024的分块应用于file1

h5repack -v -l CHUNK=1024 GZIP=5 file1 file2//制作 1024 的块并使用 GZIP 5 级压缩对其进行压缩

h5repack --help\获取可用的帮助文档

还提供了详细的文档。

于 2018-08-20T13:07:45.717 回答
2

压缩在 h5py 中非常容易使用。查看 Wiki HowTo压缩指南。基本上,它会是这样的:

ds = myfile.create_dataset('ds', shape, dtype, compression='lzf')

如何选择块大小以优化文件大小/访问也存在一些问题,请参阅我链接到的压缩指南。

我不记得默认情况下启用了哪种压缩(如果有)。

于 2013-04-09T15:49:57.127 回答