根据他们的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)
我查找了压缩过滤器ID here,并试图替换' lzf'使用32000,根据上面的链接应该是lzf的ID。当我这样做时,我得到错误ValueError:Compression filter" 32000"不可用。我无法找到更多文档或示例。我是否需要以某种方式预加载过滤器才能使其可用?
答案 0 :(得分:1)
看来文档位于已发布的库之前。 此功能在GitHub repository上可用,但在pypi版本中尚未提供(如果您使用easy_install或pip来安装h5py,则可以使用此功能)。如果要使用自定义压缩过滤器,则必须使用GitHub中的版本,等待更新pypi版本,或应用this set of changes。