1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//! Training orchestration module
//!
//! This module provides the training loop and configuration for
//! training neural models on labeled data.
//!
//! # Architecture
//!
//! ```text
//! Dataset → Training Loop → Model Updates → Checkpoints → Registry
//! ```
//!
//! # Example
//!
//! ```ignore
//! use lattice_tune::train::{TrainingConfig, TrainingLoop, TrainingMetrics};
//! use lattice_tune::data::Dataset;
//!
//! // Configure training
//! let config = TrainingConfig::default()
//! .epochs(100)
//! .learning_rate(0.001)
//! .batch_size(32);
//!
//! // Create training loop
//! let mut trainer = TrainingLoop::new(model, config)?;
//!
//! // Train
//! let metrics = trainer.train(&dataset)?;
//! ```
//!
//! # GPU Training
//!
//! With the `gpu` feature enabled, GPU-accelerated training is available:
//!
//! ```ignore
//! use lattice_tune::train::{GpuTrainer, GpuTrainerBuilder, TrainingConfig};
//! use lattice_fann::Activation;
//!
//! // Build GPU trainer
//! let mut trainer = GpuTrainerBuilder::new(768, 6)
//! .hidden(64, Activation::ReLU)
//! .hidden(32, Activation::ReLU)
//! .config(TrainingConfig::default())
//! .build()?;
//!
//! // Train batches
//! for batch in dataset.batches() {
//! let loss = trainer.train_batch(&batch)?;
//! }
//! ```
pub use ;
pub use ;
pub use r#loop::;
pub use ;