pub trait TrainerCallback: Send {
// Provided methods
fn on_train_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction { ... }
fn on_train_end(&mut self, _ctx: &CallbackContext) { ... }
fn on_epoch_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction { ... }
fn on_epoch_end(&mut self, _ctx: &CallbackContext) -> CallbackAction { ... }
fn on_step_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction { ... }
fn on_step_end(&mut self, _ctx: &CallbackContext) -> CallbackAction { ... }
fn on_validation(&mut self, _ctx: &CallbackContext) -> CallbackAction { ... }
fn name(&self) -> &'static str { ... }
}Expand description
Trait for training callbacks
Implement this trait to hook into training events. All methods have default no-op implementations, so you only need to implement the events you care about.
Provided Methods§
Sourcefn on_train_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
fn on_train_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
Called before training starts
Sourcefn on_train_end(&mut self, _ctx: &CallbackContext)
fn on_train_end(&mut self, _ctx: &CallbackContext)
Called after training ends
Sourcefn on_epoch_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
fn on_epoch_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
Called before each epoch
Sourcefn on_epoch_end(&mut self, _ctx: &CallbackContext) -> CallbackAction
fn on_epoch_end(&mut self, _ctx: &CallbackContext) -> CallbackAction
Called after each epoch
Sourcefn on_step_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
fn on_step_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
Called before each training step
Sourcefn on_step_end(&mut self, _ctx: &CallbackContext) -> CallbackAction
fn on_step_end(&mut self, _ctx: &CallbackContext) -> CallbackAction
Called after each training step
Sourcefn on_validation(&mut self, _ctx: &CallbackContext) -> CallbackAction
fn on_validation(&mut self, _ctx: &CallbackContext) -> CallbackAction
Called when validation is performed
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".