c3d_finetuning test error #25
Comments
@Michael-Guo Some of the clips in your testing set is failed to read. And the clip that was failed to read is belong to batch 30. However, because we shuffled the list, so we don't know which clips are wrong. Simple way is to change shuffle: false and track down clips that you missed, you an trace it out by adding some message show that which clips are missing, then either correct the frames/videos or remove those clips from the list file. |
@Michael-Guo Did you solve the problem? How did you solve it? |
@dutran @Michael-Guo I found the error is due to an inconsistent typo in "test_01.lst": |
@ycjlin I check my test_01.lst. Mine is correct. How did you find your error in your test_01.lst |
@ycjlin @Michael-Guo there are several variants of UCF101 (the authors of UCF101 corrected the file names, action names a couple times: e.g. Pullup vs. PullUp, or HandStandPushups vs. HandstandPushups), thus there some inconsistency in the list. |
@Michael-Guo I set shuffle as false in c3d_ucf101_finetuning_test.prototxt. Then I gradually removed some files in test_01.lst until there are no errors. Using the concept of "divide and conquer" to find the error files. |
@dutran Is there some way to modify the source codes, so the program can show which file cannot be read. I set shuffle as false. I find the batch 9 which make errors. But all the paths are correct. I delete the bath 9. However, after several batches, the error occur again. I am very confused. |
@ycjlin Could you please send you test file for me, there are one more errors in my file. I want to look your test file as a reference. Thank you! My e-mail address is kjgwc@126.com. Thanks a lot! |
@dutran @dutran I set shuffle as false in c3d_ucf101_finetuning_test.prototxt. Then I manually find two terms leading to the error in test file. |
@Michael-Guo you can un-comment line 127 (//LOG(ERROR) << "cannot read " << layer->file_list_[id];) in https://github.com/facebook/C3D/blob/master/src/caffe/layers/video_data_layer.cpp, to have the message out which clips are missing. Yes, it needs 16 frames (by design of C3D architecture), but if you train you own architecture, this can be set differently. |
@dutran If a clip has less than 16 frames, how can we deal with this situtation in train or test. Just remove the clip? |
If the number of frames is not multiple of 16 might also be the cause of the problem, depending how you are extracting the features |
I wrote the following piece of code to get a validated test file. Briefly, it checks whether the last block used in each clip of the dataset has the 16 frames. It also prints the clips that have issues. |
I run ucf101_testing.sh, when going to batch 29, there is an error : Check failed: read status Testing must not miss any example. Before that, I have successfully trained the network on UCF101 with your trainlist. It's ok. From batch 1to 29, I can get the accuracy normally. But going to Batch 30, the error appears. I am confused. So I seek help here, thank you! @dutran
The text was updated successfully, but these errors were encountered: