根据 h5py 文档,“压缩过滤器可以由底层 HDF5 库动态加载。这是通过将过滤器编号作为压缩参数传递给 Group.create_dataset() 来完成的。”我有以下代码(效果很好):
import numpy as np
a = np.random.random(1e5)
with h5py.File(args.baseName + '/allubf.h5', libver='latest') as f:
dset = f.create_dataset('myData', (1000,), dtype=np.dtype(float), chunks=(1000,), compression='lzf', shuffle=True)
我查找了压缩过滤器 IDhere http://www.hdfgroup.org/services/filters.html并尝试将“lzf”替换为 32000,根据上面的链接,这应该是 lzf 的 ID。当我这样做时,我收到错误 ValueError:压缩过滤器“32000”不可用。我找不到更多的文档或示例。我是否需要以某种方式预加载过滤器才能使其可用?
看来文档早于发布的库。
此功能可在GitHub 存储库 https://github.com/h5py/h5py但在 pypi 版本中尚不可用(如果您使用 easy_install 或 pip 安装 h5py,则可以使用此版本)。如果您想使用自定义压缩过滤器,您必须使用 GitHub 中的版本,等待 pypi 版本更新,或者应用这组改变 https://github.com/h5py/h5py/pull/426/files.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)