Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug? Caffe doesn't read the HDF5 files for TEST phase (instead reads the path given in TRAIN phase twice) #6122

Closed
duygusar opened this issue Dec 21, 2017 · 1 comment

Comments

@duygusar
Copy link

duygusar commented Dec 21, 2017

Although I declare different training and validation txt files (that contains a list of hdf5 files), the
Net initializes the TEST phase with the path I give for the TRAIN phase.

For both TRAIN and TEST phase initialization I get:

Creating training net from net file: /home/caffe/models/det_alexnet/train_val.prototxt
... hdf5_data_layer.cpp:80] Loading list of HDF5 filenames from: /home/caffe/examples/det/train_h5_list.txt
... hdf5_data_layer.cpp:94] Number of HDF5 files: 17

Creating test net (#0) specified by net file: /home/caffe/models/det_alexnet/train_val.prototxt
... hdf5_data_layer.cpp:80] Loading list of HDF5 filenames from: /home/caffe/examples/det_/train_h5_list.txt_
... hdf5_data_layer.cpp:94] Number of HDF5 files: 17

Although my prototxt (train_val.prototxt) clearly provides different txt files for TRAIN and TEST phases:

layer {
name: "data"
type: "HDF5Data"
top: "imgdata"
top: "ph"
top: "sm"
include {
phase: TRAIN
}
hdf5_data_param {
source: "/home/caffe/examples/det/train_h5_list.txt"
batch_size: 256
}
}

layer {
name: "data"
type: "HDF5Data"
top: "imgdata"
top: "ph"
top: "sm"
include {
phase: TEST
}
hdf5_data_param {
source: "/home/caffe/examples/det/eval_h5_list.txt"
batch_size: 256
}
}

And I get this error:

Check failed: data_
*** Check failure stack trace: ***
@ 0x7fa264a335cd google::LogMessage::Fail()
@ 0x7fa264a35433 google::LogMessage::SendToLog()
@ 0x7fa264a3315b google::LogMessage::Flush()
@ 0x7fa264a35e1e google::LogMessageFatal::~LogMessageFatal()
@ 0x7fa2651d018b caffe::Blob<>::mutable_cpu_data()
@ 0x7fa2651ed4a1 caffe::hdf5_load_nd_dataset<>()
@ 0x7fa2650c3f73 caffe::HDF5DataLayer<>::LoadHDF5FileData()
@ 0x7fa2650c21fd caffe::HDF5DataLayer<>::Next()
@ 0x7fa265214a93 caffe::HDF5DataLayer<>::Forward_gpu()
@ 0x7fa265048a21 caffe::Net<>::ForwardFromTo()
@ 0x7fa265048b27 caffe::Net<>::Forward()
@ 0x7fa2651c7332 caffe::Solver<>::Test()
@ 0x7fa2651c7d4e caffe::Solver<>::TestAll()
@ 0x7fa2651cb2c7 caffe::Solver<>::Step()
@ 0x7fa2651cb58a caffe::Solver<>::Solve()
@ 0x40aba4 train()
@ 0x407390 main
@ 0x7fa2639a3830 __libc_start_main
@ 0x407bb9 _start
@ (nil) (unknown)
Aborted (core dumped)

PS: I work on only one GPU (Titan X)

@duygusar
Copy link
Author

This seems to be a bug? I really don't understand why it would read the training file instead of the validation file provided at the TEST phase. I would appreciate if someone can look into this.

@duygusar duygusar changed the title Caffe doesn't read the HDF5 files for TEST phase (instead reads the path given in TRAIN phase twice) Bug? Caffe doesn't read the HDF5 files for TEST phase (instead reads the path given in TRAIN phase twice) Dec 22, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant