Trait BatchForwardBase

Source
pub trait BatchForwardBase: ForwardAll {
    type BatchInput: Debug;
    type BatchOutput: Debug;
}
Expand description

Trait defining the relevant type of implementation of forward propagation of neural networks by batch processing.

Required Associated Types§

Source

type BatchInput: Debug

Input to this layer of the neural network for batch execution

Source

type BatchOutput: Debug

Output from this layer of the neural network for batch execution

Implementors§

Source§

impl<U, C, BC, P, D, I, PI, OP, const NI: usize, const NO: usize> BatchForwardBase for LinearLayer<U, C, BC, P, D, I, PI, OP, NI, NO>
where P: ForwardAll<Input = I, Output = PI> + BackwardAll<U, LossInput = PI> + PreTrain<U, PreOutput = PI> + Loss<U> + BatchForwardBase<BatchInput = <I as BatchDataType>::Type, BatchOutput = <PI as BatchDataType>::Type>, U: Default + Clone + Copy + Send + UnitValue<U>, I: Debug + Send + Sync + BatchDataType, <I as BatchDataType>::Type: Debug, PI: Debug + BatchDataType, OP: Optimizer<U, D>, D: Device<U> + DeviceLinear<U, C, BC, PI, NI, NO>, <D as DeviceLinear<U, C, BC, PI, NI, NO>>::BatchOutput: Debug,

Source§

type BatchInput = <I as BatchDataType>::Type

Source§

type BatchOutput = <D as DeviceLinear<U, C, BC, PI, NI, NO>>::BatchOutput

Source§

impl<U, C, P, OP, D, I, PI, S, const N: usize> BatchForwardBase for BatchNormalizationLayer<U, C, P, OP, D, I, PI, S, N>
where P: ForwardAll<Input = I, Output = PI> + BackwardAll<U, LossInput = PI> + PreTrain<U, PreOutput = PI> + Loss<U> + BatchForwardBase<BatchInput = <I as BatchDataType>::Type, BatchOutput = <PI as BatchDataType>::Type> + BatchForward, U: Default + Clone + Copy + Send + UnitValue<U>, D: Device<U> + DeviceBatchNorm<U, C, PI, N>, I: Debug + Send + Sync + BatchDataType, PI: BatchDataType + Debug + 'static, S: Debug + Sized + 'static, C: Debug, OP: Optimizer<U, D>, <I as BatchDataType>::Type: Debug, <PI as BatchDataType>::Type: Debug + 'static, Self: ForwardAll,

Source§

impl<U, C, P, OP, D, I, PI, const N: usize> BatchForwardBase for BiasLayer<U, C, P, OP, D, I, PI, N>
where P: ForwardAll<Input = I, Output = PI> + BackwardAll<U, LossInput = PI> + PreTrain<U, PreOutput = PI> + Loss<U> + BatchForwardBase<BatchInput = <I as BatchDataType>::Type, BatchOutput = <PI as BatchDataType>::Type>, U: Default + Clone + Copy + Send + UnitValue<U>, D: Device<U> + DeviceBias<U, C, PI, N>, I: Debug + Send + Sync + BatchDataType, PI: Debug + BatchDataType + 'static, <PI as BatchDataType>::Type: Debug + BatchSize + 'static, <I as BatchDataType>::Type: Debug, OP: Optimizer<U, D>, Self: ForwardAll,

Source§

impl<U, O, LI, D> BatchForwardBase for InputLayer<U, O, LI, D>
where U: UnitValue<U>, O: Debug + BatchDataType + Send + Sync + 'static, LI: Debug, D: Device<U> + DeviceInput<U, O>, <O as BatchDataType>::Type: Debug + 'static,

Source§

impl<U, P, A, I, PI, D, const N: usize> BatchForwardBase for ActivationLayer<U, P, A, I, PI, D, N>
where P: PreTrain<U, PreOutput = PI> + ForwardAll<Input = I, Output = PI> + BackwardAll<U, LossInput = PI> + Loss<U> + BatchForwardBase<BatchInput = <I as BatchDataType>::Type, BatchOutput = <PI as BatchDataType>::Type> + BatchPreTrainBase<U, BatchPreOutput = <PI as BatchDataType>::Type> + BatchBackward<U> + BatchLoss<U, BatchLossInput = <PI as BatchDataType>::Type>, U: Default + Clone + Copy + UnitValue<U>, D: Device<U> + DeviceActivation<U, PI, A, N>, PI: Debug + BatchDataType, I: Debug + Send + Sync + BatchDataType, <PI as BatchDataType>::Type: Debug, <I as BatchDataType>::Type: Debug,

Source§

impl<U, P, D, I, PI, const N: usize> BatchForwardBase for LinearOutputLayer<U, P, D, I, PI, N>
where P: PreTrain<U, PreOutput = PI> + ForwardAll<Input = I, Output = PI> + BackwardAll<U, LossInput = PI> + Loss<U> + BatchForwardBase<BatchInput = <I as BatchDataType>::Type, BatchOutput = <PI as BatchDataType>::Type>, U: Default + Clone + Copy + Send + UnitValue<U>, PI: Debug + BatchDataType + ToHost<U, Output = Arr<U, N>> + 'static, I: Debug + Send + Sync + BatchDataType, <PI as BatchDataType>::Type: Debug + ToHost<U, Output = SerializedVec<U, Arr<U, N>>>, <PI as ToHost<U>>::Output: Debug + 'static, <I as BatchDataType>::Type: Debug, <<PI as BatchDataType>::Type as ToHost<U>>::Output: Debug + 'static, for<'a> D: Device<U> + DeviceLinearOutput<'a, U, N, IO = PI>,

Source§

impl<U, P, I, PI, CI, D> BatchForwardBase for BridgeLayer<U, P, I, PI, CI, D>
where P: PreTrain<U, PreOutput = PI> + ForwardAll<Input = I, Output = PI> + BackwardAll<U, LossInput = PI> + Loss<U> + BatchForwardBase<BatchInput = <I as BatchDataType>::Type, BatchOutput = <PI as BatchDataType>::Type> + BatchPreTrainBase<U> + BatchBackward<U> + BatchLoss<U, BatchLossInput = <PI as BatchDataType>::Type>, U: Default + Clone + Copy + UnitValue<U>, D: Device<U>, PI: Debug + From<CI> + BatchDataType, I: Debug + Send + Sync + BatchDataType, <PI as BatchDataType>::Type: Debug, <I as BatchDataType>::Type: Debug, for<'a> CI: Debug + SliceSize + AsRawSlice<U> + MakeView<'a, U> + MakeViewMut<'a, U> + 'static,