0

私のデータセットは HDF5 ファイルで、datawith shape[129028,1,12,1024]labelshapeで構成されています[129028,1,1,1]
しかし、solver.prototxt を実行すると、次のエラー メッセージが表示されます。

I0413 08:54:34.689985 17769 hdf5.cpp:32] Datatype class: H5T_FLOAT
F0413 08:54:40.661201 17769 hdf5_data_layer.cpp:53] Check failed:   
hdf_blobs_[i] ->shape(0) == num (1 vs. 1024) 
*** Check failure stack trace: ***
4

1 に答える 1

2

python ではなく、matlab から hdf5 を保存したようです (前の質問から判断すると)。
Matlab からデータを保存する場合、Matlab は多次元配列を列優先 (fortran スタイル) でメモリに保存するのに対し、python、caffe、および他の多くのアプリケーションは行優先 (C スタイル) で多次元配列を想定していることを覚えておく必要があります。 . したがって、データを caffe 用に hdf5 に保存する前に、matlab にデータを保存する
必要があります。permute詳細については、この回答を参照してください。

h5ls保存した hdf5 ファイルに対してシェルで実行すると、保存された配列の形状が実際には

data   [1024, 12, 1, 129028]
label  [1, 1, 1, 129028]
于 2016-04-13T15:37:59.767 に答える