use crate::{InferenceStep, TrainStep};
use burn_core::module::AutodiffModule;
pub trait LearnerModel:
TrainStep + InferenceStep + AutodiffModule + core::fmt::Display + 'static
{
}
impl<T> LearnerModel for T where
T: TrainStep + InferenceStep + AutodiffModule + core::fmt::Display + 'static
{
}
pub(crate) type TrainingModelInput<M> = <M as TrainStep>::Input;
pub(crate) type InferenceModelInput<M> = <M as InferenceStep>::Input;
pub(crate) type TrainingModelOutput<M> = <M as TrainStep>::Output;
pub(crate) type InferenceModelOutput<M> = <M as InferenceStep>::Output;