pub struct TrainConfig {Show 23 fields
pub noise_asset_root: String,
pub training_sources: Vec<String>,
pub validation_sources: Vec<String>,
pub destination: String,
pub log: String,
pub simulation_size: usize,
pub simulation_peak_radius: f32,
pub simulation_harmonic_decay: f32,
pub simulation_frequency_wobble: f32,
pub captured_oversample_factor: usize,
pub mha_heads: usize,
pub dropout: f64,
pub trunk_hidden_size: usize,
pub model_epochs: usize,
pub model_batch_size: usize,
pub model_workers: usize,
pub model_seed: u64,
pub adam_learning_rate: f64,
pub adam_weight_decay: f32,
pub adam_beta1: f32,
pub adam_beta2: f32,
pub adam_epsilon: f32,
pub no_plots: bool,
}Expand description
The training configuration used for all training, inference, and hyper parameter tuning.
Fields§
§noise_asset_root: StringThe source directory for the noise assets used to generate simulated items.
training_sources: Vec<String>The directories (or the special sim source) that provide training samples. Must contain at least one entry.
validation_sources: Vec<String>Optional directories (or sim) that provide validation samples. An empty list triggers an 80/20 split of the training pool.
destination: StringThe destination directory for the trained model.
log: StringThe log directory for training.
simulation_size: usizeSimulation data set size.
simulation_peak_radius: f32Simulation peak radius.
simulation_harmonic_decay: f32Simulation harmonic decay.
simulation_frequency_wobble: f32Simulation frequency wobble.
captured_oversample_factor: usizeThe number of times to replicate captured samples when constructing datasets.
mha_heads: usizeThe number of Multi Head Attention (MHA) heads.
dropout: f64The dropout rate applied to attention and trunk layers.
The hidden size of the model’s MLP trunk.
model_epochs: usizeThe number of epochs to train for.
model_batch_size: usizeThe number of samples to use per epoch.
model_workers: usizeThe number of workers to use for training.
model_seed: u64The seed used for training.
adam_learning_rate: f64The Adam optimizer learning rate.
adam_weight_decay: f32The Adam optimizer weight decay.
adam_beta1: f32The Adam optimizer beta1.
adam_beta2: f32The Adam optimizer beta2.
adam_epsilon: f32The Adam optimizer epsilon.
no_plots: boolSuppresses the training plots.
Implementations§
Source§impl TrainConfig
impl TrainConfig
Sourcepub fn new(
noise_asset_root: String,
training_sources: Vec<String>,
validation_sources: Vec<String>,
destination: String,
log: String,
simulation_size: usize,
simulation_peak_radius: f32,
simulation_harmonic_decay: f32,
simulation_frequency_wobble: f32,
captured_oversample_factor: usize,
mha_heads: usize,
dropout: f64,
trunk_hidden_size: usize,
model_epochs: usize,
model_batch_size: usize,
model_workers: usize,
model_seed: u64,
adam_learning_rate: f64,
adam_weight_decay: f32,
adam_beta1: f32,
adam_beta2: f32,
adam_epsilon: f32,
no_plots: bool,
) -> Self
pub fn new( noise_asset_root: String, training_sources: Vec<String>, validation_sources: Vec<String>, destination: String, log: String, simulation_size: usize, simulation_peak_radius: f32, simulation_harmonic_decay: f32, simulation_frequency_wobble: f32, captured_oversample_factor: usize, mha_heads: usize, dropout: f64, trunk_hidden_size: usize, model_epochs: usize, model_batch_size: usize, model_workers: usize, model_seed: u64, adam_learning_rate: f64, adam_weight_decay: f32, adam_beta1: f32, adam_beta2: f32, adam_epsilon: f32, no_plots: bool, ) -> Self
Create a new instance of the config.