Code Monkey home page Code Monkey logo

Comments (13)

olivernina avatar olivernina commented on July 22, 2024 1

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

from c3d.

dutran avatar dutran commented on July 22, 2024

@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.

from c3d.

ycjlin avatar ycjlin commented on July 22, 2024

@Michael-Guo Did you solve the problem? How did you solve it?
I met the same problem when executing batch 1.
Thank you.

from c3d.

ycjlin avatar ycjlin commented on July 22, 2024

@dutran @Michael-Guo I found the error is due to an inconsistent typo in "test_01.lst":
/Hand"s"tandPushups/v_HandStandPushups_g01_c01/ should be modified as
/Hand"S"tandPushups/v_HandStandPushups_g01_c01/ to make it more consistent with the other directories' naming rule
Thank for your help. :D

from c3d.

Michael-Guo avatar Michael-Guo commented on July 22, 2024

@ycjlin I check my test_01.lst. Mine is correct. How did you find your error in your test_01.lst

from c3d.

dutran avatar dutran commented on July 22, 2024

@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.

from c3d.

ycjlin avatar ycjlin commented on July 22, 2024

@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 Thank for your detailed explanation. It helps a lot.

from c3d.

Michael-Guo avatar Michael-Guo commented on July 22, 2024

@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.

from c3d.

Michael-Guo avatar Michael-Guo commented on July 22, 2024

@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 [email protected]. Thanks a lot!

from c3d.

Michael-Guo avatar Michael-Guo commented on July 22, 2024

@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.
They are
/ApplyLipstick/v_ApplyLipstick_g02_c01 113 1
BabyCrawling/v_BabyCrawling_g04_c01 113 3.
But I find the path in list is consistent with database's path. If I remove the two terms, the program can go down, but the same error will occur in the following batch.
Thus, I guess that frames in a clip are less than 16 may be the reason. The frames in the two clips are both less than 16.

from c3d.

dutran avatar dutran commented on July 22, 2024

@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.

from c3d.

Michael-Guo avatar Michael-Guo commented on July 22, 2024

@dutran If a clip has less than 16 frames, how can we deal with this situtation in train or test. Just remove the clip?

from c3d.

kasparov92 avatar kasparov92 commented on July 22, 2024

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.
validate_dataset.py.zip

from c3d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.