Download docs/configuration.md from IN03X/SAID: direct link, hf CLI and curl.
- Browser
- Download file 6.3 kB
-
https://huggingface.co/IN03X/SAID/resolve/main/docs/configuration.md
- Command line
-
hf download hf://IN03X/SAID/docs/configuration.md
-
curl -L -o configuration.md https://huggingface.co/IN03X/SAID/resolve/main/docs/configuration.md
Configuration
said train --config configs/training/<recipe>.yaml reads a training recipe.
The recipe points to configs/data.yaml, which contains local dataset paths
and Online Scene Generation settings. Relative paths are resolved from the
file that contains them.
Training recipe fields
Every top-level field below is required:
| Field | Accepted value | Purpose |
|---|---|---|
schema |
said-config-v1 |
Public configuration version |
preset |
paper |
Published architecture and objective settings |
model |
said, audio2sph |
Complete SAID or Audio2Sph + Panoramic Decoder |
class_feature_encoder |
passt, audiomae, null |
Class Feature Encoder; null for Audio2Sph |
data |
dcase_recordings, simulated_scenes |
Selected section of the data configuration |
data_config |
path | Data configuration file |
load_said_ckpt |
path, null |
Complete SAID initialization |
load_audio2sph_ckpt |
path, null |
Audio2Sph initialization |
load_class_feature_encoder_ckpt |
path, null |
Class Feature Encoder initialization when assembling SAID |
training |
mapping | Optimization, output, logging, validation, and checkpoint settings |
The initialization combinations are:
| Training object | Data | Required initialization | Result |
|---|---|---|---|
said |
dcase_recordings |
load_said_ckpt |
Fine-tune a complete SAID model |
said |
simulated_scenes |
load_audio2sph_ckpt and load_class_feature_encoder_ckpt |
Extract Audio2Sph and Class Feature Encoder components, assemble SAID, and train on SourceBank scenes |
audio2sph |
simulated_scenes |
none, or load_audio2sph_ckpt |
Train Audio2Sph + Panoramic Decoder from the beginning or initialize the complete pretraining model |
Complete-model initialization is mutually exclusive with component
initialization. For complete SAID,
class_feature_encoder: passt selects SAID (PaSST), and
class_feature_encoder: audiomae selects SAID (AudioMAE). Checkpoint keys,
tensor shapes, and dtypes are validated before training begins.
Training settings
Fields from output_directory through log_every_steps are required. The
three validation fields are optional and their defaults are shown below. The
table also records the values used by the released recipes.
| Field | Released recipe value | Purpose |
|---|---|---|
output_directory |
route-specific path under runs/ |
Run outputs and checkpoints |
total_steps |
2,500,000 for Audio2Sph; 500,000 for SAID | Optimizer updates |
batch_size |
1 |
Samples per optimizer update |
num_workers |
8 |
Data-loader workers |
seed |
route-specific integer | Model, sampling, and data-order seed |
device |
auto |
CUDA when available, otherwise CPU |
learning_rate |
1.0e-4 for simulated scenes; 1.5e-6 for DCASE |
Main parameter-group learning rate; required, with null selecting the same route-specific values |
audio2sph_learning_rate |
2.5e-6 |
Audio2Sph parameter group during SourceBank SAID training; retained but unused by the Audio2Sph and DCASE recipes |
warmup_steps |
1,000 |
Linear warmup duration |
minimum_learning_rate_ratio |
0.1 |
Final cosine-schedule ratio |
ema_decay |
0.999 |
Exponential-moving-average decay |
save_every_steps |
10,000 |
Latest checkpoint cadence |
keep_every_steps |
100,000 |
Retained milestone cadence |
log_every_steps |
100 |
Terminal and metrics.jsonl cadence |
validate_every_steps |
10,000 for simulated scenes; null for DCASE |
Optional validation cadence; default null |
validation_batches |
16 for simulated scenes; 0 for DCASE |
Optional fixed validation batches; default 0 |
selection_metric |
validation_loss |
Optional metric minimized for best.ema.ckpt; default validation_loss |
keep_every_steps must be a multiple of save_every_steps. When validation
is enabled, validate_every_steps must also be a multiple of
save_every_steps so the selected state is resumable.
Released recipes
| Recipe | Reads by default | Writes |
|---|---|---|
audio2sph.yaml |
Prepared VCTK through Online Scene Generation | runs/audio2sph_pretraining/ |
sourcebank_passt.yaml |
audio2sph.ckpt, PaSST tensors from said_passt.ckpt, and SourceBank |
runs/said_sourcebank_passt/ |
sourcebank_audiomae.yaml |
audio2sph.ckpt, AudioMAE tensors from said_audiomae.ckpt, and SourceBank |
runs/said_sourcebank_audiomae/ |
dcase_passt.yaml |
said_passt.ckpt and DCASE recordings |
runs/said_dcase_fine_tuning_passt/ |
dcase_audiomae.yaml |
said_audiomae.ckpt and DCASE recordings |
runs/said_dcase_fine_tuning_audiomae/ |
These defaults make each recipe an independent published-model entry point.
To carry newly trained weights forward, replace the next recipe's
load_audio2sph_ckpt or load_said_ckpt with the preceding .ema.ckpt.
Training gives the
exact handoff paths.
Checkpoint paths and resume
Canonical published paths in the repository-root checkpoints/ directory are
downloaded from the official
Hugging Face repository and verified by
byte length and SHA256. SAID_CHECKPOINT_BASE_URL selects another authorized
mirror. Other checkpoint paths must already exist locally.
load_said_ckpt and load_audio2sph_ckpt accept flat model-weight files for
initialization. Rerunning the same training command instead restores
latest.training.pt from output_directory. --resume PATH selects another
complete training state, and the stored training-recipe and data-configuration
fingerprint must match the current files.
Data configuration
configs/data.yaml contains these sections:
dcase_recordings: DCASE root, split names, rotation views, source limit, and class balancing;simulated_scenes: VCTK, SourceBank, room, source, activity, noise, and target-map settings;audio: microphone array, 1-based Eigenmike capsule numbers[6, 10, 26, 22], 48 kHz sample rate, and two-second segment duration.
Only the section selected by the recipe's data field is validated and used.
Data gives the required directory layouts and SourceBank manifest
schema.