Skip to content

Latest commit

 

History

History
61 lines (40 loc) · 2.8 KB

sdx23.md

File metadata and controls

61 lines (40 loc) · 2.8 KB

SDX 23 challenge

Checkout the challenge page for more information. This page is specifically on training models for the MDX'23 sub-challenge. There are two tracks: one trained on a dataset with bleeding, and the other with label mixups.

This gives instructions on training an Hybrid Demucs model on those datasets. I haven't tried the HT Demucs model, as it typically requires quite a bit of training data but the same could be done with it.

You will need to work from an up to date clone of this repo. See the generic training instructions for more information.

Getting the data

Register on the challenge, then checkout the Resources page and download the dataset you are interested in.

Update the conf/dset/sdx23_bleeding.yaml and conf/dset/sdx23_labelnoise.yaml files to point to the right path.

Make sure soundfile is installed (conda install -c conda-forge libsndfile; pip install soundfile).

Create proper train / valid structure

Demucs requires a valid set to work properly. Go to the folder where you extracted the tracks then do:

mkdir train
mv * train    # there will be a warning saying cannot move train to itself but  that's fine the other tracks should have.
mkdir valid
cd train
mv 5640831d-7853-4d06-8166-988e2844b652  bc964128-da16-4e4c-af95-4d1211e78c70 \
	cc7f7675-d3c8-4a49-a2d7-a8959b694004  f40ffd10-4e8b-41e6-bd8a-971929ca9138 \
	bc1f2967-f834-43bd-aadc-95afc897cfe7  cc3e4991-6cce-40fe-a917-81a4fbb92ea6  \
	ed90a89a-bf22-444d-af3d-d9ac3896ebd2  f4b735de-14b1-4091-a9ba-c8b30c0740a7 ../valid

Training

See dora grid sdx23 for a starting point. You can do dora grid sdx23 --init --dry_run then dora run -f SIG -d with SIG one of the signature to train on a machine with GPUs if you do not have a SLURM cluster.

Keep in mind that the valid tracks and train tracks are corrupted in different ways for those tasks, so do not expect the valid loss to go down as smoothly as with normal training on the clean MusDB.

I only trained Hybrid Demucs baselines as Hybrid Transformer typically requires more data.

Exporting models

Run

python -m tools.export SIG

This will export the trained model into the release_models folder.

Submitting a model

Clone the Demucs Starter Kit for SDX23. Follow the instructions there.

You will to copy the models under release_models in the sdx23/models/ folder before you can use them. Make sure you have git-lfs properly installed and setup before adding those files to your fork of sdx23.