gpt4 book ai didi

python - Python 中包含图像的 H5 文件 : Want to randomly select without replacement

转载 作者:太空宇宙 更新时间:2023-11-03 16:33:33 26 4
gpt4 key购买 nike

我已经熟悉了Python中H5的基础知识。我现在想做的有两件事:

  • 将图像(numpy 数组)写入 H5 文件。
  • 完成后,就可以随机挑选 $M$。

这里的含义如下:我想将总共 $N=100000$ numpy 数组(图像)写入一个 H5 文件中。完成后,我想从 H5 文件中随机选择 $M=50$ 图像,并读取它们。然后,我想随机选择另一个 $M=50$,并将它们也读入,等等,直到我浏览完所有 $N$ 图像。 (基本上是 sample ,无需更换)。

有没有一种优雅的方式来做到这一点?我目前正在尝试将每个图像存储为单独的键值对,但我不确定这是否是最优雅的。

另一个解决方案是存储整个 $N$ 图像,然后从那里随机选择,但我也不确定这是否优雅,因为它需要我读取整个 block 。

最佳答案

一种无需放回采样的优雅方法是计算数字 1..N (numpy.random.permutation) 的随机排列,然后使用其中大小为 M 的 block 。

在 h5py 文件中存储数据是任意的。您可以使用单个高维数据集或包含 N 个二维数据集的组。由你决定。实际上,我更喜欢单独拥有二维数据集(为您提供更大的灵 active )并使用 Group.iteritems 对其进行迭代。

关于python - Python 中包含图像的 H5 文件 : Want to randomly select without replacement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37421035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com