Download code/config.yaml from meet5568/meet_models: direct link, hf CLI and curl.
- Browser
- Download file 2.16 kB
-
https://huggingface.co/meet5568/meet_models/resolve/main/code/config.yaml
- Command line
-
hf download hf://meet5568/meet_models/code/config.yaml
-
curl -L -o config.yaml https://huggingface.co/meet5568/meet_models/resolve/main/code/config.yaml
2.16 kB
| # Multimodal theme classification (classification/classify.py) | |
| # 5-fold CV; for every modality combination every grid configuration is trained in every fold, | |
| # the one with the best inner-validation macro-F1 is chosen, and its test macro-F1 is reported. | |
| # Override any value from the command line, e.g. | |
| # python classification/classify.py --set data.lyrics=lyrics_phasea --set output_dir=results/classification/phasea | |
| data: | |
| metadata: data/multimodal/metadata.csv # songs, labels, 'fold', 'lyrics_group' | |
| embeddings: data/multimodal/embeddings.npz # vocal / instrument / mix + lyrics variants | |
| lyrics: lyrics_phaseb_cv # lyrics_phaseb_cv: Phase B model trained without the test fold | |
| # lyrics_phasea: Phase A (TSDAE) model, never saw a label | |
| output_dir: results/classification/phaseb | |
| modalities: [lyrics, vocal, instrument, mix] | |
| combos: all # all = every non-empty subset (15); or a list, e.g. [lyrics, lyrics+vocal] | |
| folds: all # all, or a list of fold ids, e.g. [0] | |
| seed: 42 | |
| inner_val_splits: 6 # 1/6 of the non-test songs form the validation split of each fold | |
| late_fusion: true # also score the average of the best single-modality models | |
| training: | |
| max_epochs: 60 | |
| min_epochs: 10 # never stop before this | |
| patience: 10 # epochs without a validation gain > min_delta | |
| min_delta: 0.001 | |
| lr_scheduler_patience: 5 # ReduceLROnPlateau on validation macro-F1, factor 0.5 | |
| batch_size: 64 | |
| weight_decay: 0.0001 | |
| model: | |
| d_model: 256 # width of every modality projection | |
| dropout: 0.3 | |
| attention_heads: 4 # xattn | |
| aux_loss_weight: 0.5 # weight of the per-modality auxiliary losses (aux: true) | |
| grid: | |
| methods: [mlp, gmu, xattn] # for combinations of 2+ modalities | |
| single_modality_methods: [mlp, xattn] # xattn only for single audio modalities | |
| lr: [0.0001, 0.0003] | |
| soft_labels: [false, true] # train on final_* soft scores instead of the label | |
| modality_dropout: [0.0, 0.3] # 2+ modalities only | |
| aux_loss: [false, true] # mlp / gmu with 2+ modalities only | |