如何在 HDF5 中逐个存储组数组

How to store array of groups in HDF5, one by one?

本文关键字:存储 数组 HDF5      更新时间:2023-10-16

我无法为我的任务找到正确的文档/示例。我想存储每个组(?(,每个组包含:

  • 一个 8 位 RGB 图像
  • 一个 16 位灰度图像
  • 一个无符号短值数组。
我想

一个接一个地做这个。也就是说,我将执行一些预处理来获取组的组件,然后我想在继续下一个组件之前存储这些组件。要记住的一件事是,我不知道最终会写出多少这样的小组。我的想法是每次都直接在 root 下创建一个新组,按当前计数命名,但我有一种感觉有一种更优雅的方法来解决这个问题。有什么建议吗?

编辑:我意识到我只添加了C++标签,并没有在文本中提及它。我对此C++很困惑,无法使用 python。

EDIT2:稍后将由 caffe 中的 hdf5 层使用

我认为你最初的想法是完全可以的。只需将它们命名为 foo1 、...、foo42 ,但也添加一个包含要 root 的组总数的属性(并在每次添加组时更新该属性(。

事实证明,我不需要打扰太多,因为 HDF5 的 C++ API 不支持图像。