TextMetricRegistration

Trait TextMetricRegistration 

Source
pub trait TextMetricRegistration<B, M, O, S, TI, VI, TO, VO>: Sized
where B: AutodiffBackend, M: AutodiffModule<B> + TrainStep<TI, TO> + Display + 'static, M::InnerModule: ValidStep<VI, VO>, O: Optimizer<M, B>, S: LrScheduler, TI: Send + 'static, VI: Send + 'static, TO: ItemLazy + 'static, VO: ItemLazy + 'static,
{ // Required method fn register( self, builder: LearnerBuilder<B, M, O, S, TI, VI, TO, VO>, ) -> LearnerBuilder<B, M, O, S, TI, VI, TO, VO>; }
Expand description

Trait to fake variadic generics.

Required Methods§

Source

fn register( self, builder: LearnerBuilder<B, M, O, S, TI, VI, TO, VO>, ) -> LearnerBuilder<B, M, O, S, TI, VI, TO, VO>

Register the metrics.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<M1, B, M, O, S, TI, VI, TO, VO> TextMetricRegistration<B, M, O, S, TI, VI, TO, VO> for (M1,)
where B: AutodiffBackend, M: AutodiffModule<B> + TrainStep<TI, TO> + Display + 'static, M::InnerModule: ValidStep<VI, VO>, O: Optimizer<M, B>, S: LrScheduler, TI: Send + 'static, VI: Send + 'static, TO: ItemLazy + 'static, VO: ItemLazy + 'static, TO::ItemSync: Adaptor<M1::Input>, VO::ItemSync: Adaptor<M1::Input>, M1: Metric + 'static,

Source§

fn register( self, builder: LearnerBuilder<B, M, O, S, TI, VI, TO, VO>, ) -> LearnerBuilder<B, M, O, S, TI, VI, TO, VO>

Source§

impl<M1, M2, B, M, O, S, TI, VI, TO, VO> TextMetricRegistration<B, M, O, S, TI, VI, TO, VO> for (M1, M2)
where B: AutodiffBackend, M: AutodiffModule<B> + TrainStep<TI, TO> + Display + 'static, M::InnerModule: ValidStep<VI, VO>, O: Optimizer<M, B>, S: LrScheduler, TI: Send + 'static, VI: Send + 'static, TO: ItemLazy + 'static, VO: ItemLazy + 'static, TO::ItemSync: Adaptor<M1::Input> + Adaptor<M2::Input>, VO::ItemSync: Adaptor<M1::Input> + Adaptor<M2::Input>, M1: Metric + 'static, M2: Metric + 'static,

Source§

fn register( self, builder: LearnerBuilder<B, M, O, S, TI, VI, TO, VO>, ) -> LearnerBuilder<B, M, O, S, TI, VI, TO, VO>

Source§

impl<M1, M2, M3, B, M, O, S, TI, VI, TO, VO> TextMetricRegistration<B, M, O, S, TI, VI, TO, VO> for (M1, M2, M3)
where B: AutodiffBackend, M: AutodiffModule<B> + TrainStep<TI, TO> + Display + 'static, M::InnerModule: ValidStep<VI, VO>, O: Optimizer<M, B>, S: LrScheduler, TI: Send + 'static, VI: Send + 'static, TO: ItemLazy + 'static, VO: ItemLazy + 'static, TO::ItemSync: Adaptor<M1::Input> + Adaptor<M2::Input> + Adaptor<M3::Input>, VO::ItemSync: Adaptor<M1::Input> + Adaptor<M2::Input> + Adaptor<M3::Input>, M1: Metric + 'static, M2: Metric + 'static, M3: Metric + 'static,

Source§

fn register( self, builder: LearnerBuilder<B, M, O, S, TI, VI, TO, VO>, ) -> LearnerBuilder<B, M, O, S, TI, VI, TO, VO>

Source§

impl<M1, M2, M3, M4, B, M, O, S, TI, VI, TO, VO> TextMetricRegistration<B, M, O, S, TI, VI, TO, VO> for (M1, M2, M3, M4)
where B: AutodiffBackend, M: AutodiffModule<B> + TrainStep<TI, TO> + Display + 'static, M::InnerModule: ValidStep<VI, VO>, O: Optimizer<M, B>, S: LrScheduler, TI: Send + 'static, VI: Send + 'static, TO: ItemLazy + 'static, VO: ItemLazy + 'static, TO::ItemSync: Adaptor<M1::Input> + Adaptor<M2::Input> + Adaptor<M3::Input> + Adaptor<M4::Input>, VO::ItemSync: Adaptor<M1::Input> + Adaptor<M2::Input> + Adaptor<M3::Input> + Adaptor<M4::Input>, M1: Metric + 'static, M2: Metric + 'static, M3: Metric + 'static, M4: Metric + 'static,

Source§

fn register( self, builder: LearnerBuilder<B, M, O, S, TI, VI, TO, VO>, ) -> LearnerBuilder<B, M, O, S, TI, VI, TO, VO>

Source§

impl<M1, M2, M3, M4, M5, B, M, O, S, TI, VI, TO, VO> TextMetricRegistration<B, M, O, S, TI, VI, TO, VO> for (M1, M2, M3, M4, M5)
where B: AutodiffBackend, M: AutodiffModule<B> + TrainStep<TI, TO> + Display + 'static, M::InnerModule: ValidStep<VI, VO>, O: Optimizer<M, B>, S: LrScheduler, TI: Send + 'static, VI: Send + 'static, TO: ItemLazy + 'static, VO: ItemLazy + 'static, TO::ItemSync: Adaptor<M1::Input> + Adaptor<M2::Input> + Adaptor<M3::Input> + Adaptor<M4::Input> + Adaptor<M5::Input>, VO::ItemSync: Adaptor<M1::Input> + Adaptor<M2::Input> + Adaptor<M3::Input> + Adaptor<M4::Input> + Adaptor<M5::Input>, M1: Metric + 'static, M2: Metric + 'static, M3: Metric + 'static, M4: Metric + 'static, M5: Metric + 'static,

Source§

fn register( self, builder: LearnerBuilder<B, M, O, S, TI, VI, TO, VO>, ) -> LearnerBuilder<B, M, O, S, TI, VI, TO, VO>

Source§

impl<M1, M2, M3, M4, M5, M6, B, M, O, S, TI, VI, TO, VO> TextMetricRegistration<B, M, O, S, TI, VI, TO, VO> for (M1, M2, M3, M4, M5, M6)
where B: AutodiffBackend, M: AutodiffModule<B> + TrainStep<TI, TO> + Display + 'static, M::InnerModule: ValidStep<VI, VO>, O: Optimizer<M, B>, S: LrScheduler, TI: Send + 'static, VI: Send + 'static, TO: ItemLazy + 'static, VO: ItemLazy + 'static, TO::ItemSync: Adaptor<M1::Input> + Adaptor<M2::Input> + Adaptor<M3::Input> + Adaptor<M4::Input> + Adaptor<M5::Input> + Adaptor<M6::Input>, VO::ItemSync: Adaptor<M1::Input> + Adaptor<M2::Input> + Adaptor<M3::Input> + Adaptor<M4::Input> + Adaptor<M5::Input> + Adaptor<M6::Input>, M1: Metric + 'static, M2: Metric + 'static, M3: Metric + 'static, M4: Metric + 'static, M5: Metric + 'static, M6: Metric + 'static,

Source§

fn register( self, builder: LearnerBuilder<B, M, O, S, TI, VI, TO, VO>, ) -> LearnerBuilder<B, M, O, S, TI, VI, TO, VO>

Implementors§