Expand description
High-level training API with a builder pattern.
The Trainer struct wraps model construction, token-sequence training,
and checkpoint management behind a single ergonomic interface with sensible
defaults.
Users encode their own text into token IDs using any tokenizer they choose,
then pass the Vec<Vec<u32>> sequences to Trainer::train_on_token_sequences.
§Example
use multiscreen_rs::prelude::*;
fn main() -> multiscreen_rs::Result<()> {
let mut trainer = Trainer::builder()
.vocab_size(1000)
.budget(ParameterBudget::Params10M)
.batch_size(4)
.seq_len(64)
.steps(100)
.device(auto_device()?)
.build()?;
// Token sequences from YOUR tokenizer
let sequences = vec![
vec![1, 2, 3, 4, 5],
vec![1, 2, 6, 7, 5],
];
let report = trainer.train_on_token_sequences(&sequences)?;
println!("trained {} steps, final loss {:.4}", report.steps, report.final_loss);
Ok(())
}Structs§
- Trainer
- High-level trainer that bundles a model and training config.
- Trainer
Builder - Builder for constructing a
Trainerwith sensible defaults. - Training
Report - Summary returned after training via the high-level
Trainer.
Enums§
- Parameter
Budget - Re-export of the parameter budget enum for convenience. Supported neural Multiscreen parameter budgets.