Train classification models with bug fixes
- 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