Skip to main content

entrenar/train/callback/
mod.rs

1//! Callback system for training events
2//!
3//! Provides extensible hooks for training loop events:
4//! - `on_train_begin` / `on_train_end`
5//! - `on_epoch_begin` / `on_epoch_end`
6//! - `on_step_begin` / `on_step_end`
7//!
8//! # Example
9//!
10//! ```rust
11//! use entrenar::train::callback::{TrainerCallback, CallbackContext, CallbackAction};
12//!
13//! struct PrintCallback;
14//!
15//! impl TrainerCallback for PrintCallback {
16//!     fn on_epoch_end(&mut self, ctx: &CallbackContext) -> CallbackAction {
17//!         println!("Epoch {} finished with loss {:.4}", ctx.epoch, ctx.loss);
18//!         CallbackAction::Continue
19//!     }
20//! }
21//! ```
22
23#![allow(clippy::field_reassign_with_default)]
24
25mod checkpoint;
26mod early_stopping;
27mod explainability;
28mod manager;
29mod monitor;
30mod progress;
31mod scheduler;
32mod traits;
33
34// Re-export all public types
35pub use checkpoint::CheckpointCallback;
36pub use early_stopping::EarlyStopping;
37pub use explainability::{ExplainMethod, ExplainabilityCallback, FeatureImportanceResult};
38pub use manager::CallbackManager;
39pub use monitor::MonitorCallback;
40pub use progress::ProgressCallback;
41pub use scheduler::LRSchedulerCallback;
42pub use traits::{CallbackAction, CallbackContext, TrainerCallback};