r1c7 / SlowFastNetworks

PyTorch implementation of "SlowFast Networks for Video Recognition".
338 stars 80 forks source link

result in ucf101 #11

Open qichenghan666 opened 5 years ago

qichenghan666 commented 5 years ago

I trained the model in ucf101, after 70 epoch, the top 1 accuracy is 73.3%, the top 5 accuracy is 95.7% in training data, is this a normal result?

HorusMaster commented 5 years ago

I trained the model in ucf101, after 70 epoch, the top 1 accuracy is 73.3%, the top 5 accuracy is 95.7% in training data, is this a normal result?

Hi, I looks good acoording to the paper but when using inference how did it work?

tomanick commented 5 years ago

I also trained the model on ucf101 dataset. At first, I used the default hyperparameters which the author gave. Then I got the 73.50% of top 1 accuracy. Afterwards, I changed the learning schedule from StepLR to ReduceLROnPlateau and hyperparameters such as learning rates, weight decay, and so on. The top 1 accuracy became about 94%.

Therefore, I think we should use our own hyperparameters and learning schedule so that we could get better results on our own datasets.

patykov commented 5 years ago

@tomanick how did you search for the hyperparameters? Would you mind sharing the ones that have worked for you?

tomanick commented 5 years ago

@patykov Maybe there was no standard answer for hyperparameters. I often found the better hyperparameters by trial and error. On UCF101 dataset, I used learning rate=0.001, weight decay = 0.0005, batch size=16, and clip length=64. The learning schedule which I used was ReduceLROnPlateau. In addition, I also found used AdamW as the optimizer could get better results than SGD sometimes.

Finally, maybe there would be much better hyperparameters than I used. Just give it a try and maybe you would find a surprise. Good luck!

MStumpp commented 5 years ago

@tomanick did you find a way to set the temporal stride τ used on input frames? in the paper they used values equal to 16, 8, ...

sdjsngs commented 5 years ago

@MStumpp do you want to set the temporal stride like 16, 8 ? you can look into slowfastnet.py/class slowfast / forward find code like this slow = self.SlowPath(input[:, :, ::16, :, :], lateral) input is a 5D tensor which have dim like [batch ,channel,temporal, h,w] ,so once you have a input with 64 frames, the temporal axis is 64 and you can use ::16 ,that means you choose 4 frames in 64 frames with stride 16

anuar12 commented 4 years ago

@tomanick @qichenghan666 @HorusMaster Did you guys try to validate this model on datasets from the paper (Kinetics, Charades or anything else)? Does the accuracy look representative of the paper?

luwanglin commented 4 years ago

I trained the model in ucf101, after 70 epoch, the top 1 accuracy is 73.3%, the top 5 accuracy is 95.7% in training data, is this a normal result?

What is the accuracy of your validation sets, I hope you can tell me, thank you

sdjsngs commented 4 years ago

@tomanick The top 1 accuracy became about 94% is the train accuracy for training from scratch ? And since you use ReduceLROnPlateau as your lrschedular, how did you get the validation set from ucf101? The offical splits are three train/test splits, Or you just give the train loss to the ReduceLROnPlateau? i used did a wrong split to get train/validation/test and the test accuracy is 91% training from scratch , and once i fix this spilt the top-1 accuracy is just 65, which is close to the facebook-slowfast i sincerely look forward to your reply !!!

yangjinghit commented 4 years ago

@HorusMaster did you get the inference code at last ?such as how to detect a small single video?

Weed-eat-meat commented 4 years ago

I trained the model in ucf101, after 70 epoch, the top 1 accuracy is 73.3%, the top 5 accuracy is 95.7% in training data, is this a normal result? I want to confirm your experimental results which is the experiment of ucf101 training from scratch on slowfast, As you said "after 70 epoch, the top 1 accuracy is 73.3%, the top 5 accuracy is 95.7% in training data", which author's implementation are you using , have any changes been made?

wangpanpan666 commented 2 years ago

I trained the model in ucf101, after 70 epoch, the top 1 accuracy is 73.3%, the top 5 accuracy is 95.7% in training data, is this a normal result? I want to confirm your experimental results which is the experiment of ucf101 training from scratch on slowfast, As you said "after 70 epoch, the top 1 accuracy is 73.3%, the top 5 accuracy is 95.7% in training data", which author's implementation are you using , have any changes been made?

用好一点的显卡,然后精度就提高了哈哈哈哈

vsumm commented 2 years ago

Hai @wangpanpan666 @r1c7

after completion of training on how to test model ???

can anyone provide an inference code it's very useful for me

Thanks