Annmixiu / MTANet

INTERSPEECH2023: Multi-band Time-frequency Attention Network for Singing Melody Extraction from Polyphonic Music
28 stars 3 forks source link

While testing the code, there was an issue with the mismatch between the pre-trained model and the current model. #5

Open twodog668 opened 4 months ago

twodog668 commented 4 months ago

While testing the code, there was an issue with the mismatch between the pre-trained model and the current model. Additionally, when retraining the model locally, a ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (3,) + inhomogeneous part. occurred in the validation_step of tonet.py. I would like to ask if the author encountered these issues during code execution and how to resolve them. Thank you very much.

twodog668 commented 4 months ago

When config.ablation_mode = "single", the code reports an error. When config.ablation_mode = "all", the code runs normally. Does this affect the results?

Annmixiu commented 4 months ago

Thank you very much for your correction. After checking, there is indeed a mismatch between the pre-trained model and the training instance. This algorithm has been used in specific projects, so it may be that I uploaded other versions before, but it does not affect the normal deployment and operation of the code. Since I no longer have access to server resources, I recommend retraining if you want to reproduce the results. I used a single 2080Ti GPU and the training converges in about 100 epoches.

Annmixiu commented 4 months ago

Regarding your second question, config.ablation_mode is the configuration item used to match the ablative version. If you want to use MTANet alone, you can call the "single" version, and if you want to apply other algorithms as encoders in TONet, you can call the "all" version. In addition, if you are convenient, you can make the error public to solve your problem faster. Based on guesswork, I think the error may be due to a mismatch between calling the model instance and config.