LearnerComponentTypes

Trait LearnerComponentTypes 

Source
pub trait LearnerComponentTypes {
    type Backend: AutodiffBackend;
    type LrScheduler: LrScheduler;
    type Model: AutodiffModule<Self::Backend, InnerModule = Self::InnerModel> + TrainStep<<Self::LearningData as LearningData>::TrainInput, <Self::LearningData as LearningData>::TrainOutput> + Display + 'static;
    type InnerModel: ValidStep<<Self::LearningData as LearningData>::ValidInput, <Self::LearningData as LearningData>::ValidOutput>;
    type Optimizer: Optimizer<Self::Model, Self::Backend>;
    type CheckpointerModel: Checkpointer<<Self::Model as Module<Self::Backend>>::Record, Self::Backend>;
    type CheckpointerOptimizer: Checkpointer<<Self::Optimizer as Optimizer<Self::Model, Self::Backend>>::Record, Self::Backend> + Send;
    type CheckpointerLrScheduler: Checkpointer<<Self::LrScheduler as LrScheduler>::Record<Self::Backend>, Self::Backend>;
    type EventProcessor: EventProcessorTraining<ItemTrain = <Self::LearningData as LearningData>::TrainOutput, ItemValid = <Self::LearningData as LearningData>::ValidOutput> + 'static;
    type CheckpointerStrategy: CheckpointingStrategy;
    type LearningData: LearningData;
}
Expand description

All components necessary to train a model grouped in one trait.

Required Associated Types§

Source

type Backend: AutodiffBackend

The backend in used for the training.

Source

type LrScheduler: LrScheduler

The learning rate scheduler used for the training.

Source

type Model: AutodiffModule<Self::Backend, InnerModule = Self::InnerModel> + TrainStep<<Self::LearningData as LearningData>::TrainInput, <Self::LearningData as LearningData>::TrainOutput> + Display + 'static

The model to train.

Source

type InnerModel: ValidStep<<Self::LearningData as LearningData>::ValidInput, <Self::LearningData as LearningData>::ValidOutput>

The non-autodiff type of the model, should implement ValidationStep

Source

type Optimizer: Optimizer<Self::Model, Self::Backend>

The optimizer used for the training.

Source

type CheckpointerModel: Checkpointer<<Self::Model as Module<Self::Backend>>::Record, Self::Backend>

The checkpointer used for the model.

Source

type CheckpointerOptimizer: Checkpointer<<Self::Optimizer as Optimizer<Self::Model, Self::Backend>>::Record, Self::Backend> + Send

The checkpointer used for the optimizer.

Source

type CheckpointerLrScheduler: Checkpointer<<Self::LrScheduler as LrScheduler>::Record<Self::Backend>, Self::Backend>

The checkpointer used for the scheduler.

Source

type EventProcessor: EventProcessorTraining<ItemTrain = <Self::LearningData as LearningData>::TrainOutput, ItemValid = <Self::LearningData as LearningData>::ValidOutput> + 'static

Processes events happening during training and valid.

Source

type CheckpointerStrategy: CheckpointingStrategy

The strategy to save and delete checkpoints.

Source

type LearningData: LearningData

The data used to perform training and validation.

Implementors§