struct TrainConfig
Source: train.joule:28
struct TrainConfigSource: train.joule:28
fn default() -> SelfSource: train.joule:76
struct MixedPrecisionConfigSource: train.joule:99
fn default() -> SelfSource: train.joule:107
enum EnergyModeSource: train.joule:119
struct LoggingConfigSource: train.joule:132
fn default() -> SelfSource: train.joule:142
struct CheckpointConfigSource: train.joule:156
fn default() -> SelfSource: train.joule:167
struct EarlyStoppingConfigSource: train.joule:182
fn default() -> SelfSource: train.joule:190
struct TrainStateSource: train.joule:206
fn new() -> SelfSource: train.joule:216
struct TrainMetricsSource: train.joule:234
fn new() -> SelfSource: train.joule:264
fn compute_derived(&mut self, batch_size: usize)Compute derived metrics
Source: train.joule:279
fn summary(&self) -> StringSummary string
Source: train.joule:288
struct TrainerEnergy-aware trainer
Source: train.joule:309
fn new(model: M, optimizer: O, loss_fn: L, config: TrainConfig) -> SelfCreate new trainer
Source: train.joule:351
fn add_callback(&mut self, callback: Box<dyn TrainCallback>)Add callback
Source: train.joule:385
fn model(&self) -> &MGet model reference
Source: train.joule:390
fn model_mut(&mut self) -> &mut MGet mutable model reference
Source: train.joule:395
fn state(&self) -> &TrainStateGet training state
Source: train.joule:400
fn train<D>(&mut self, train_data: DataLoader<D, DefaultCollate>, val_data: Option<DataLoader<D, DefaultCollate>>) -> TrainResultSource: train.joule:406
fn train_epoch<D>(&mut self, data_loader: &DataLoader<D, DefaultCollate>) -> Result<TrainMetrics, TrainError>Train one epoch
Source: train.joule:527
fn train_step(&mut self, inputs: &Tensor, targets: &Tensor) -> Result<TrainMetrics, TrainError>Execute one training step
Source: train.joule:606
fn validate<D>(&mut self, data_loader: &DataLoader<D, DefaultCollate>) -> Result<TrainMetrics, TrainError>Validate on dataset
Source: train.joule:677
fn clip_gradients(&mut self, max_norm: f64)Clip gradients by norm
Source: train.joule:739
fn unscale_gradients(&mut self)Unscale gradients for mixed precision
Source: train.joule:764
fn throttle_training(&mut self)Throttle training for energy efficiency
Source: train.joule:775
fn save_checkpoint(&mut self, metric: Option<f64>)Save checkpoint
Source: train.joule:785
fn energy_report(&self) -> EnergyReportGet energy report
Source: train.joule:801
struct TrainResultSource: train.joule:812
fn new() -> SelfSource: train.joule:822
fn best_val_loss(&self) -> Option<f64>Best validation loss
Source: train.joule:834
fn epochs_trained(&self) -> usizeTotal epochs trained
Source: train.joule:844
fn avg_energy_per_epoch(&self) -> JoulesAverage energy per epoch
Source: train.joule:849
fn print_summary(&self)Print summary
Source: train.joule:858
enum StopReasonSource: train.joule:882
enum TrainErrorSource: train.joule:892
trait TrainCallbackTraining callback trait
Source: train.joule:906
fn on_train_begin(&mut self, _config: &TrainConfig, _state: &TrainState)Source: train.joule:907
fn on_train_end(&mut self, _result: &TrainResult)Source: train.joule:908
fn on_epoch_begin(&mut self, _epoch: u32)Source: train.joule:909
fn on_epoch_end(&mut self, _epoch: u32, _metrics: &TrainMetrics)Source: train.joule:910
fn on_step_begin(&mut self, _step: u64)Source: train.joule:911
fn on_step_end(&mut self, _step: u64, _metrics: &TrainMetrics)Source: train.joule:912
fn on_validation_begin(&mut self)Source: train.joule:913
fn on_validation_end(&mut self, _metrics: &TrainMetrics)Source: train.joule:914
struct EnergyLoggerCallbackEnergy logging callback
Source: train.joule:918
struct EnergyLogEntrySource: train.joule:924
fn new(log_path: &str) -> SelfSource: train.joule:933
fn on_step_end(&mut self, step: u64, metrics: &TrainMetrics)Source: train.joule:942
fn on_train_end(&mut self, _result: &TrainResult)Source: train.joule:952
struct PowerLimitCallbackPower limit callback (throttles when exceeding power budget)
Source: train.joule:971
fn new(power_limit: Watts, window_size: usize) -> SelfSource: train.joule:978
fn on_step_end(&mut self, _step: u64, metrics: &TrainMetrics)Source: train.joule:988
fn train_simple<M, D, L>(Source: train.joule:1013
fn gradient_norm<M: Module>(model: &M) -> f64Compute gradient norm
Source: train.joule:1069
fn count_parameters<M: Module>(model: &M) -> usizeCount trainable parameters
Source: train.joule:1080
fn estimate_training_memory(Estimate memory usage for training
Source: train.joule:1085
fn estimate_training_energy(Estimate energy for training run
Source: train.joule:1105