У меня есть следующие файлы h5, перечисленные в train.txt
, которые я передаю слову данных hdf5.Caffe не читает все файлы h5
/home/foo/data/h5_files/train_data1.h5 /home/foo/data/h5_files/train_data2.h5 /home/foo/data/h5_files/train_data3.h5 /home/foo/data/h5_files/train_data4.h5 /home/foo/data/h5_files/train_data5.h5
У меня есть 3 наборов данных - X
, Meta
и Labels
в этих файлах. Первоначально я сохранил все эти файлы в 1 h5, но поскольку caffe не может обрабатывать файлы h5 размером более 2 ГБ, мне пришлось разделить X (скажем, X состоит из 5000 образцов), в 5 частях. В первом h5 у меня есть мета и ярлыки, хранящиеся вместе с первой частью, то есть; 1000 образцов X, а в оставшихся файлах 4 h5 у меня есть по 1000 образцов. Когда я начинаю точной настройки, Caffe аварии со следующим сообщением об ошибке
0111 07:46:54.094041 23981 layer_factory.hpp:74] Creating layer data
net.cpp:76] Creating Layer data
net.cpp:334] data -> X
net.cpp:334] data -> Labels
net.cpp:334] data -> Meta
net.cpp:105] Setting up data
hdf5_data_layer.cpp:66] Loading list of HDF5 filenames from: /home/foo/hdf5_train.txt
hdf5_data_layer.cpp:80] Number of HDF5 files: 5
hdf5_data_layer.cpp:53] Check failed: hdf_blobs_[i]->num() == num (5000 vs. 1000)
*** Check failure stack trace: ***
@ 0x7f1eebcab0d0 google::LogMessage::Fail()
@ 0x7f1eebcab029 google::LogMessage::SendToLog()
@ 0x7f1eebcaaa07 google::LogMessage::Flush()
@ 0x7f1eebcad98f google::LogMessageFatal::~LogMessageFatal()
@ 0x7f1ef18ff045 caffe::HDF5DataLayer<>::LoadHDF5FileData()
@ 0x7f1ef18fdca4 caffe::HDF5DataLayer<>::LayerSetUp()
@ 0x7f1ef196bffc caffe::Net<>::Init()
@ 0x7f1ef196e0b2 caffe::Net<>::Net()
@ 0x7f1ef18cf3cd caffe::Solver<>::InitTrainNet()
@ 0x7f1ef18cfa3f caffe::Solver<>::Init()
@ 0x7f1ef18cfe75 caffe::Solver<>::Solver()
@ 0x40a3c8 caffe::GetSolver<>()
@ 0x404fb1 train()
@ 0x405936 main
@ 0x3a8141ed1d (unknown)
@ 0x4048a9 (unknown)
Главное, по моему мнению является «Проверить не удалось: hdf_blobs_ [я] -> Num() == Num (5000 против 1000) '
Из чего я предполагаю, что caffe читает только первый файл h5, как я могу заставить его прочитать все 5 h5 файлов? Пожалуйста помоги!