-
Notifications
You must be signed in to change notification settings - Fork 0
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
WIP: Implementing EAT_SSL #15
base: main
Are you sure you want to change the base?
Conversation
f955b2c
to
135d015
Compare
61e8fa0
to
6981bad
Compare
@XgamerTV, @PariaValizadeh |
The repo from Lukas' students was extremely helpful and allowed me to implement the model without too much hassle. The accuracies of the AS FT checkpoint for Watkins are ~63% at the moment, which is not great so we should experiment with different settings and see if the AS/ESC accuracies match the ones from the paper! |
@XgamerTV Perfect, thanks! Good idea to test AS/ESC50 performance! |
@XgamerTV I add new experiment on ESC-50. it has the same accuracy, around 64% |
The dataset mean (0) and std (0.5) values seemed to have been the problem. Where did you get the values @PariaValizadeh? I used the AS values for now and the watkins accuracy is ~86 now :) |
I saw that in the article, I also have a doubt on that so I change it to check if it will change the accuracy or not but for the value I put, It haven't changed |
@XgamerTV In the training details headline, it said 'the audio spectrogram patches are then normalized with a mean value of 0 and a standard deviation of 0.5, following the approach used in previous works.' but not sure about when we put linear classifier on the top |
Ok I found it in the article but I think the values are weird and it does heavily change the accuracy. Regarding your change of values and not noticing any differences in the accuracy: When using the embedding_datamodule not all changes to the model result in a new extraction of the embeddings. This is because the usual fingerprint method didn't work for the embedding datasets which is why we used the important params in the name. If you change a value and see that no ">> Extracting Embeddings for train Split" is logged the old set has to be deleted manually in the data_birdset folder. |
Thank you, I will check it tomorrow, also will check if it works for AS values or not. |
You can check if we can AS if you want but I don't think its necessary. The ESC-50 accuracy is 98.5 which is better than theirs in the Paper and they do Finetuning 🤣 On the ESC the embedding datamodule is a bit weird I will check it next time can you also get the accuracies? |
I deleted it manually and changed mean and STD which shows no difference in results. |
Yeah there is something wrong with ESC if you try it with BEANs you should see the difference 🤔 |
yes I saw that. I also ask some other questions in Mattermost :Some thing is not completely clear to me about our talk in git. first:by how many epochs you get 98.5 % accuracy on ESC50 because i got 64 for 4 epoch? second: by getting the accuracy, you mean I need to check what's the problem which it doesn't have the paper results or just check the accuracy in different datasets? |
@XgamerTV I also think about getting the accuracy for beats on ESC50, which encounter errors, first asking for embedding size, when I determine it, error for not matching the classifier and embedding matrix |
I couldn't recreate the accuracies myself and I believe it was a weird caching error. |
…rch-group/BioFoundation into EAT_SSL_Implementation
@XgamerTV I saw d04b852 but when I set that False still using loading data from cache until I delete that one from cache, and for loading it does not split the data into 3 part which strsnge. I add the spliting part myself and it works! maybe I am not on the updated version or you have sth else in your code but for me during loading data, data set just contains test and train folder without updating this in embedding_datamodule.py :
this is also the part tha shows it has only 2split : |
This branch included Implementation of the EAT model, which extracted from its repo.
EAT_SSL Info
Fine_tuned model checkpoints
model and dependencies
embedding model
Efforts to get fairseq to run
Reimplementing EAT
To reimplement EAT we use the models code from https://github.com/[nhaH-luaP/PyEat](https://github.com/nhaH-luaP/PyEat) as it only relies on a small local fairseq.