-
Notifications
You must be signed in to change notification settings - Fork 280
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
Can't reproduce paper #142
Comments
Hey Daniel, one possible explanation for your results (and mine) is that we are both not training on the full set of data used in the paper, some constituents of which are unavailable publicly. Could you list which of the datasets you're currently using to train? |
@bgenchel I have tried Maestro and GuitarSet. Did not realize the paper used non-public data. What proportion of the training set in the paper is proprietary? My goal is to train on a self generated synthetic dataset, but just want to validate the training code is working properly beforehand |
I'm trying to replicate the ICASSP 2022 paper result (A Lightweight Instrument-Agnostic Model for Polyphonic Note Transcription and Multipitch Estimation).
Having some trouble getting the model to converge. I used all the hyperparameters mentioned in the paper, but the loss seems to plateau at around ~0.35 for note loss, ~0.4 for onset loss, and ~0.3 for contour loss. The code has a learning rate scheduler but that doesn't seem to help – eventually the early stopping gets hit.
I've tried:
But all yield the same result.
The paper mentions a weighted binary crossentropy:
"Binary cross entropy is used as the loss function for each
output, and the total loss is the sum of the three losses. However,
for Yo, there is a heavy class imbalance that drives models to output
Yo = 0 everywhere. As a countermeasure, we use a class-balanced
cross entropy loss, where the weight for the negative class is 0.05
and the positive is 0.95"
So I also enabled this in the training arguments. I had to fix the
weighted_transcription_loss
function inmodels.py
since it was outputting the wrong dimension. I'm about 95% sure I got it right:But regardless of whether I use weighted or unweighted loss, I get the same result.
Any advice?
The text was updated successfully, but these errors were encountered: