-
Notifications
You must be signed in to change notification settings - Fork 103
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
The score of the result #47
Comments
Hey @IItaly ,
That's OK, as the networks output the unnormalized scores of deepfake detection.
I can't really tell what's happening here, could you provide a more detailed error stack trace? Edoardo |
By the way:I noticed that the auc value is greater than you reported in your paper.Or it suggested I have made any mistakes? |
Hey @IItaly , let me see if I have understood everything straight:
If what I wrote is right, it's OK that what you tried in step 2 didn't work, as our EfficientNetB4 model is a slightly modified version of the architecture provided in the original repo.
Yes you're right, your numbers seem a little higher! With which model did you obtain these results? Could you provide us the training hyperparameters? Edoardo |
I tried to train the model follow the steps you provided(train_all.sh) So I felt so strange.I will check it again and confirm whether I have trained the model truly.It seems that the net has not been changed but got the greater score :) |
Hey @IItaly , yes that is definitely curious! If you used directly the train_all.sh, you should get close numbers to the ones of the paper. Edoardo |
Hello @CrohnEngineer , icpr2020dfdc/train_binclass.py Line 274 in 7f6059f
it seems that 'len()' should not be used here.cuz it will lead a type error: 'TypeError: Cannot determine the DataLoader length of a IterableDataset' Thus I replaced the 'train_loader' with 'train_dataset'. |
Hey @IItaly , When you call len() on a DataLoader it should return the result of calling len() on the dataset of the loader. Edoardo |
Hey @IItaly , I see you have pytorch=1.3.1, while in our experiments we use pytorch=1.4.0. Edoardo |
Thanks for your reminder @CrohnEngineer I have changed my environment and then trained the model.I am sure that I didn't modify the code heavily.The type error while 'len(train_loader)' didn't happen under the torch==1.4.0 However,I still got the higher score.. The code I modified in 'Video prediction.ipynb' (I am not sure if ok to do this): The test result and val result(EfficientNetB4 trained in dfdc): What's the result on your side?I would be grateful if you could tell me.And I want to know if I got something wrong. |
It's not clear to me why you are not able to load weights from the notebook, so it will help if you could provide us a complete screenshot from the beginning of the notebook till the error.
We are replicating the whole pipeline but it takes time. |
Got it, inside the state dict we save a bunch of stuff like the losses, the optimizer state etc besides the network weights. You should pass only the net.load_state_dict(load_url(...)['net']) like we did in the test script. |
Thank you very much!It seems that I modified it according to the test script. |
Hey @IItaly , we noticed just now that in the Edoardo |
Looking forward to your results. I will also try to set 20000 iterations and train it again, but it will take a little time. |
Hi,Thanks for your work and the detailed steps.
However,I followed them and trained the model(EfficientNet) in the DFDC
Then I got the strange result such as :
The real scores are greater than 1.And I try to predict it with the notebook 'Image prediction.ipynb'
Error while loading the weights:
The text was updated successfully, but these errors were encountered: