ForwardAll

Trait ForwardAll 

Source
pub trait ForwardAll {
    type Input: Debug;
    type Output: Debug + 'static;

    // Required method
    fn forward_all(
        &self,
        input: Self::Input,
    ) -> Result<Self::Output, EvaluateError>;
}
Expand description

Trait defining the implementation of forward propagation of neural networks

Required Associated Types§

Source

type Input: Debug

Input to this layer of the neural network

Source

type Output: Debug + 'static

Output from this layer of the neural network

Required Methods§

Source

fn forward_all(&self, input: Self::Input) -> Result<Self::Output, EvaluateError>

Forward propagation

§Arguments
  • input - input
§Errors

This function may return the following errors

Implementors§

Source§

impl<U, C, BC, P, D, I, PI, OP, const NI: usize, const NO: usize> ForwardAll 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>, U: Default + Clone + Copy + Send + UnitValue<U>, I: Debug + Send + Sync, PI: Debug + BatchDataType, OP: Optimizer<U, D>, D: Device<U> + DeviceLinear<U, C, BC, PI, NI, NO>,

Source§

type Input = I

Source§

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

Source§

impl<U, C, BC, P, OP, D, I, const NI: usize, const NO: usize> ForwardAll for DiffLinearLayer<U, C, BC, P, OP, D, I, NI, NO>
where P: ForwardAll<Input = I, Output = DiffInput<DiffArr<U, NI>, U, NI, NO>> + BackwardAll<U, LossInput = ()> + PreTrain<U, PreOutput = DiffInput<DiffArr<U, NI>, U, NI, NO>> + Loss<U>, U: Default + Clone + Copy + UnitValue<U>, I: Debug + Send + Sync, OP: Optimizer<U, D>, D: Device<U> + DeviceDiffLinear<U, C, BC, NI, NO>, <D as DeviceDiffLinear<U, C, BC, NI, NO>>::Output: Debug + 'static,

Source§

type Input = I

Source§

type Output = <D as DeviceDiffLinear<U, C, BC, NI, NO>>::Output

Source§

impl<U, C, P, OP, D, I, PI, S, const N: usize> ForwardAll 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>, U: Default + Clone + Copy + Send + UnitValue<U>, D: Device<U> + DeviceBatchNorm<U, C, PI, N>, I: Debug + Send + Sync, PI: BatchDataType + Debug + 'static, S: Debug + Sized + 'static, OP: Optimizer<U, D>, <PI as BatchDataType>::Type: Debug + 'static,

Source§

type Input = I

Source§

type Output = PI

Source§

impl<U, C, P, OP, D, I, PI, const N: usize> ForwardAll 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>, D: Device<U> + DeviceBias<U, C, PI, N>, U: Default + Clone + Copy + Send + UnitValue<U>, I: Debug + Send + Sync, PI: Debug + BatchDataType + 'static, OP: Optimizer<U, D>, <PI as BatchDataType>::Type: Debug + BatchSize + 'static,

Source§

type Input = I

Source§

type Output = PI

Source§

impl<U, O, LI, D> ForwardAll 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§

type Input = O

Source§

type Output = <D as DeviceInput<U, O>>::Output

Source§

impl<U, P, A, I, PI, D, const N: usize> ForwardAll for ActivationLayer<U, P, A, I, PI, D, N>
where P: ForwardAll<Input = I, Output = PI> + BackwardAll<U, LossInput = PI> + PreTrain<U, PreOutput = PI> + Loss<U>, U: Default + Clone + Copy + UnitValue<U>, D: Device<U> + DeviceActivation<U, PI, A, N>, PI: Debug + BatchDataType + 'static, I: Debug + Send + Sync,

Source§

type Input = I

Source§

type Output = PI

Source§

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

Source§

type Input = I

Source§

type Output = <PI as ToHost<U>>::Output

Source§

impl<U, P, I, PI, CI, D> ForwardAll for BridgeLayer<U, P, I, PI, CI, D>
where P: ForwardAll<Input = I, Output = PI> + BackwardAll<U, LossInput = PI> + PreTrain<U, PreOutput = PI> + Loss<U>, U: Default + Clone + Copy + UnitValue<U>, D: Device<U>, PI: Debug + 'static, CI: Debug + 'static, I: Debug + Send + Sync,

Source§

type Input = I

Source§

type Output = PI