[−][src]Struct mli::Chain
Trait Implementations
impl<T, U> Forward for Chain<T, U> where
T: Forward,
U: Forward<Input = T::Output>,
[src]
T: Forward,
U: Forward<Input = T::Output>,
type Input = T::Input
type Internal = (T::Internal, T::Output, U::Internal)
type Output = U::Output
fn forward(&self, input: &T::Input) -> (Self::Internal, Self::Output)
[src]
fn run(&self, input: &Self::Input) -> Self::Output
[src]
run
only produces the output from the input. The default implementation uses forward
. You can make a custom implementation of this to avoid the overhead of producing and returning the internal variables. Read more
impl<T, U, O> Backward for Chain<T, U> where
T: Backward<OutputDelta = U::InputDelta> + Forward<Output = O>,
U: Backward + Forward<Input = O>,
[src]
T: Backward<OutputDelta = U::InputDelta> + Forward<Output = O>,
U: Backward + Forward<Input = O>,
type OutputDelta = U::OutputDelta
type InputDelta = T::InputDelta
type TrainDelta = (T::TrainDelta, U::TrainDelta)
fn backward(
&self,
input: &T::Input,
internal: &Self::Internal,
output_delta: &U::OutputDelta
) -> (Self::InputDelta, Self::TrainDelta)
[src]
&self,
input: &T::Input,
internal: &Self::Internal,
output_delta: &U::OutputDelta
) -> (Self::InputDelta, Self::TrainDelta)
fn backward_input(
&self,
input: &Self::Input,
internal: &Self::Internal,
output_delta: &Self::OutputDelta
) -> Self::InputDelta
[src]
&self,
input: &Self::Input,
internal: &Self::Internal,
output_delta: &Self::OutputDelta
) -> Self::InputDelta
See Backward::backward
for documentation.
fn backward_train(
&self,
input: &Self::Input,
internal: &Self::Internal,
output_delta: &Self::OutputDelta
) -> Self::TrainDelta
[src]
&self,
input: &Self::Input,
internal: &Self::Internal,
output_delta: &Self::OutputDelta
) -> Self::TrainDelta
See Backward::backward
for documentation.
impl<T, U, O> Train for Chain<T, U> where
T: Train + Backward<OutputDelta = U::InputDelta> + Forward<Output = O>,
U: Train + Backward + Forward<Input = O>,
[src]
T: Train + Backward<OutputDelta = U::InputDelta> + Forward<Output = O>,
U: Train + Backward + Forward<Input = O>,
fn train(&mut self, train_delta: &Self::TrainDelta)
[src]
fn propogate(
&mut self,
input: &Self::Input,
internal: &Self::Internal,
output_delta: &Self::OutputDelta
) -> Self::InputDelta
[src]
&mut self,
input: &Self::Input,
internal: &Self::Internal,
output_delta: &Self::OutputDelta
) -> Self::InputDelta
propogate
should have the same effect as running backwards
followed by train
. Read more
impl<T: Debug, U: Debug> Debug for Chain<T, U>
[src]
impl<T: Clone, U: Clone> Clone for Chain<T, U>
[src]
Auto Trait Implementations
impl<T, U> Unpin for Chain<T, U> where
T: Unpin,
U: Unpin,
T: Unpin,
U: Unpin,
impl<T, U> Sync for Chain<T, U> where
T: Sync,
U: Sync,
T: Sync,
U: Sync,
impl<T, U> Send for Chain<T, U> where
T: Send,
U: Send,
T: Send,
U: Send,
Blanket Implementations
impl<T> Graph for T where
T: Train,
[src]
T: Train,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,