marl / marl/l3embedding

Train classification models with bug fixes

Open
#49 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
89
Forks
19
PR merge metrics
No merged PRs in 30d

Description

## US8K
* [x] L3 embedding / linear model / music set
* [x] L3 embedding / melspec1 / music set
* [ ] L3 embedding / melspec2 / music set
* [x] L3 embedding / linear model / env set
* [x] L3 embedding / melspec1 / env set
* [ ] L3 embedding / melspec2 / env set

## ESC-50
* [x] L3 embedding / linear model / music set
* [x] L3 embedding / melspec1 / music set
* [ ] L3 embedding / melspec2 / music set
* [x] L3 embedding / linear model / env set
* [x] L3 embedding / melspec1 / env set
* [ ] L3 embedding / melspec2 / env set

## DCASE 2013
* [x] L3 embedding / linear model / music set
* [x] L3 embedding / melspec1 / music set
* [ ] L3 embedding / melspec2 / music set
* [x] L3 embedding / linear model / env set
* [x] L3 embedding / melspec1 / env set
* [ ] L3 embedding / melspec2 / env set

## Instructions
To train the classifier, make edit or make a copy of `jobs/classifier-train-array.sbatch` In there, you'll want to make the following changes:

1. Change the email to your email
2. Change the anaconda environment name
3. Change `SRCDIR` to whatever directory the `l3embedding` repository is in
4. Change `FEATURES_DIR` to the directory where the features are
5. Change `OUTPUT_DIR` to your general experiment output directory. A subdirectory called `classifier` will be created here for the classifier output.
6. ~Change `MODEL_DIR` to the type of model you want to train.~ This should remain `mlp`
7. ~Change `FEATURE_MODE` to the type of feature preprocessing you want to perform. Options are `framewise` or `stats`.~ This should remain `framewise`
8. Change `GOOGLE_DEV_APP_NAME` and `GSHEET_ID` if you want to sync the results with a Google Docs spreadsheet.
9. ~Add `--non-overlap` as an argument if you want to do a run with no overlapping frames.~ *But this shouldn't be necessary for this set of experiments.*
10. ~Add `--parameter-search-no-valid-fold` to use 4 folds for training, and then perform a 85-15 split to get a validation set. This is present in the template.~ This should remain set.
11. ~Add `--parameter-search-valid-ratio ` to change the validation ratio, when `--parameter-search-no-valid-fold` is used. This is present in the template.~ This should remain set
12. ~Add any additional command line arguments to the script call. Take a look at `06_train_classifier.py` for the options.~ *This will not be necessary for this set of experiments though.* This is only mentioned for posterity.
13. For US8K/ESC50: Run `sbatch --array=1- classifier-train-array.sbatch`
* is 10 for US8K, 5 for ESC-50.
14. For DCASE2013 run `sbatch --array=2-2 classifier-train-array.sbatch`.
15. Repeat 13. or 14. (depending on the dataset) 2 times for US8K, 5 times for ESC-50, and once for DCASE (though we should check for DCASE)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with jobs/classifier-train-array.sbatch and review 06_train_classifier.py for the available training options. Configure the dataset-specific paths, environment, and spreadsheet settings, then run the specified sbatch arrays for US8K, ESC-50, and DCASE 2013. Done means the remaining melspec2 experiments and requested repeat runs have completed.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, shell
Domain
machine-learning
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.