-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
update installation url, revise training instructions
- 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.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 | ||
|
@@ -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: | ||
|
@@ -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! | ||
|
@@ -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: | ||
|
||
|
@@ -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! | ||
|
||
|
@@ -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). |