Spaces:
Configuration error
Configuration error
| # SDX 23 challenge | |
| Checkout [the challenge page](https://www.aicrowd.com/challenges/sound-demixing-challenge-2023) | |
| for more information. This page is specifically on training models for the [MDX'23 sub-challenge](https://www.aicrowd.com/challenges/sound-demixing-challenge-2023/problems/music-demixing-track-mdx-23). | |
| 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](./training.md) for more information. | |
| ## Getting the data | |
| Register on the challenge, then checkout the [Resources page](https://www.aicrowd.com/challenges/sound-demixing-challenge-2023/problems/music-demixing-track-mdx-23/dataset_files) 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: | |
| ```shell | |
| 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](https://github.com/adefossez/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`. | |