Skip to content

Commit

Permalink
update installation url, revise training instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
Chin-Yun Yu committed May 18, 2023
1 parent b717147 commit 1dec49f
Showing 1 changed file with 17 additions and 11 deletions.
28 changes: 17 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,14 @@

</div>

AIMLESS (Artificial Intelligence and Music League for Effective Source Separation) is a special interest group in audio source separation at C4DM, consisting of PhD students from the AIM CDT program.
This repository contains our training code for the [SDX23 Sound Demixing Challenge](https://www.aicrowd.com/challenges/sound-demixing-challenge-2023).


## Quick Start

The conda environment we used for training is described in `environment.yml`.
The below commands should be runnable if you're using EECS servers.
The below commands should be runnable if you're using QMUL EECS servers.
If you want to run it on your local machine, change the `root` param in the config to where you downloaded the MUSDB18-HQ dataset.

### Frequency-masking-based model
Expand All @@ -24,11 +28,18 @@ python main.py fit --config cfg/xumx.yaml
python main.py fit --config cfg/demucs.yaml
```

## Install the repository as a package

This step is required if you want to test our submission repositories (see section [Reproduce the winning submission](#reproduce-the-winning-submission)) locally.
```sh
pip install git+https://github.com/aim-qmul/sdx23-aimless
```

## Reproduce the winning submission

### CDX Leaderboard A, submission ID 220319

This section describes how to reproduce the models we used in our [winning submission](https://gitlab.aicrowd.com/yoyololicon/cdx-submissions/-/issues/90) on CDX leaderboard A.
This section describes how to reproduce the [best perform model](https://gitlab.aicrowd.com/yoyololicon/cdx-submissions/-/issues/90) we used on CDX leaderboard A.
The submission consists of one HDemucs predicting all the targets and one BandSplitRNN predicitng the music from the mixture.

To train the HDemucs:
Expand All @@ -44,7 +55,7 @@ python main.py fit --config cfg/cdx_a/bandsplit_rnn.yaml --data.init_args.root /

We trained the models with no more than 4 GPUs, depending on the resources we had at the time.

After training, please go to our [submission repository](https://gitlab.aicrowd.com/yoyololicon/cdx-submissions/) and checkout the tag `submission-hdemucs+rnn-music-99k`.
After training, please go to our [submission repository](https://gitlab.aicrowd.com/yoyololicon/cdx-submissions/).
Then, copy the last checkpoint of HDemucs (usually located at `lightning_logs/version_**/checkpoints/last.ckpt`) to `my_submission/lightning_logs/hdemucs-64-sdr/checkpoints/last.ckpt` in the submission repository.
Similarly, copy the last checkpoint of BandSplitRNN to `my_submission/lightning_logs/bandsplitRNN-music/checkpoints/last.ckpt`.
After these steps, you have reproduced our submission!
Expand All @@ -56,9 +67,9 @@ The separated music from the BandSplitRNN is enhanced by Wiener Filtering, and t

### MDX Leaderboard A (Label Noise), submission ID 220426

This section describes how to reproduce the model we used in our [winning submission](https://gitlab.aicrowd.com/yoyololicon/mdx23-submissions/-/issues/76) on MDX leaderboard A.
This section describes how to reproduce the [best perform model](https://gitlab.aicrowd.com/yoyololicon/mdx23-submissions/-/issues/76) we used on MDX leaderboard A.

Firstly, we manually inspected the [label noise dataset](https://www.aicrowd.com/challenges/sound-demixing-challenge-2023/problems/music-demixing-track-mdx-23/dataset_files) and labeled the clean songs (no label noise).
Firstly, we manually inspected the [label noise dataset](https://www.aicrowd.com/challenges/sound-demixing-challenge-2023/problems/music-demixing-track-mdx-23/dataset_files)(thanks @mhrice for the hard work!) and labeled the clean songs (no label noise).
The labels are recorded in `data/lightning/label_noise.csv`.
Then, a HDemucs was trained only on the clean labels with the following settings:

Expand All @@ -77,7 +88,7 @@ Other details:
* Model is trained for ~800 epochs (approx. 2 weeks on 4 RTX A50000)
* During the last ~200 epochs, the learning rate is reduced to 0.001, gradient accumulation is increased to 64, and the effect randomization chance is increased by a factor of 1.666 (e.g. 30% to 50% etc.)

After training, please go to our [submission repository](https://gitlab.aicrowd.com/yoyololicon/mdx23-submissions/) and checkout the tag `submission-cm-acc64-4d-lr001-e1213-last`.
After training, please go to our [submission repository](https://gitlab.aicrowd.com/yoyololicon/mdx23-submissions/).
Then, copy the checkpoint to `my_submission/acc64_4devices_lr0001_e1213_last.ckpt` in the submission repository.
After these steps, you have reproduced our submission!

Expand Down Expand Up @@ -108,9 +119,4 @@ Split song in the browser with pretrained Hybrid Demucs.
Then open [http://localhost:8501/](http://localhost:8501/) in your browser.


## Install the repository as a package

```sh
pip install git+https://yoyololicon:[email protected]/yoyololicon/mdx23-aim-playground
```
For the value of `ACCESS_TOKEN` please refer to [#24](https://github.com/yoyololicon/mdx23-aim-playground/issues/24#issuecomment-1420952853).

0 comments on commit 1dec49f

Please sign in to comment.