hx173149 / C3D-tensorflow

C3D is a modified version of BVLC tensorflow to support 3D ConvNets.
MIT License
588 stars 265 forks source link

Training iterations #9

Closed kilianyp closed 7 years ago

kilianyp commented 7 years ago

Hi, I was just wondering how many iterations are necessary to train this network. I am not using the pre-trained model and training on the UCF-101 dataset with 16 frames. In issue #2, an accuracy of over 90% was reached after 10 000, however for me, I am still at 0% training and validation accuracy after 3000 iterations. How many iterations should I run?

hx173149 commented 7 years ago

Hi @kilsen512 The issue #2 is that if you want to get a high acc in UCF101 dataset you should finetuning from the sports-1M dataset, the c3d paper has demonstrated that acc result higher than 80% is fine tuning from sports-1M and used the SVM classifier as output. If you don't do fine tuning from sports-1M, you can not get an acc higher than 40%.

hx173149 commented 7 years ago

@kilsen512 but the validate accuracy is 0% is not make sense, generally after 500 iterations you can get an accuracy about 10%

LongLong-Jing commented 7 years ago

@kilsen512 I got the same problem as you. I decreased the learning rate to 0.0001 and then I got an accuracy of 33% after 80000 iterations.

kilianyp commented 7 years ago

Hi, might be the difference that I am extracting 16 frames instead of 5? I am a little confused because the provided crop_mean.npy model seems to be made for 16 frames. So it would be good to know for me how many frames you were using when exporting both your pre-trained model and the crop_mean.npy. Thanks

kilianyp commented 7 years ago

When I run it with 5 frames without the crop_mean (this is just some kind of normalization, right?) I still do not get any results. I don't want it to run it to 80000 iterations because this would take too long with my setup, but I can tell that I don't get 10% after 500 iterations. Prediction is running fine if I use the provided pre-trained model and 16 frames. @LongLong-Jing What python and OS do you use?

hx173149 commented 7 years ago

Hi @kilsen512 I haven't used the 5 frames parameters with this method ever, and I think your frames is too small, it's not enough for C3D net to capture the motivation feature. Besides the fine tuning frome sports-1M is an important way to improve the peformance

kilianyp commented 7 years ago

Hi @hx173149, can you then please clarify how many frames you used in the pre-trained model and how many to get ~10% after 500 iterations? Thanks

hx173149 commented 7 years ago

Hi @kilsen512 I used 16 frames to pre-trained model which is as same as the paper parameter, I can not remember what the accuracy after 500 iterations... I think the key point is when you used 5 frames, you can not used the pretrained model, which lead you to a low accuracy.

kilianyp commented 7 years ago

When I finally got the pretrained model to work, I was able to reproduce your results. I couldnt pass the variable list as a dictionary in python 3, only as a list worked. Thank you for your help!