【问题标题】:how to specify a custom compression filter in h5py如何在 h5py 中指定自定义压缩过滤器
【发布时间】:2014-11-20 21:08:45
【问题描述】:

根据他们的 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:压缩过滤器“32000”不可用。我找不到更多的文档或示例。我是否需要以某种方式预加载过滤器才能使其可用?

【问题讨论】:

    标签: python hdf5 h5py


    【解决方案1】:

    看来文档在发布库之前。 此功能在GitHub repository 上可用,但在 pypi 版本中尚不可用(如果您使用 easy_install 或 pip 安装 h5py,则可以使用此功能)。如果你想使用自定义压缩过滤器,你要么必须使用 GitHub 的版本,等待 pypi 版本更新,要么申请 this set of changes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      • 2020-06-07
      • 1970-01-01
      • 2018-02-17
      • 1970-01-01
      相关资源
      最近更新 更多