pythonのh5pyパッケージに軽微な問題があります。私は次元(num_images x color_channels x幅x高さ)の配列としてhdf5ファイルに格納された非常に大きなデータセット(約250kの小さな画像断片)を扱っていますh5pyの読み込み速度を向上させる
このデータセットはトレーニングと検証にランダムに分けられていますデータ。したがって、分類器を訓練するときに、このデータのランダムな要素を読み取る必要があります。
データセット全体(250kの画像すべて)をロードすると、このデータの特定のサブセットを読み出すよりもはるかに速いという奇妙な発見ができました。具体的には、のように配列全体を読み取る:
indices = [3, 23, 31, 105, 106, 674, ...]
data = h5py.File("filename.h5", "r")["images"][indices, :, :, :]
:
data = h5py.File("filename.h5", "r")["images"][:]
する高速Iは、これらの画像(25K画像)のみランダム、非連続部分集合を読み出す場合よりも5の約倍であります
これは仕様ですか?それはhdf5ファイルの圧縮によるものですか?