Trait AutodiffModule

Source
pub trait AutodiffModule<B: AutodiffBackend>:
    Module<B>
    + Send
    + Debug {
    type InnerModule: Module<B::InnerBackend>;

    // Required method
    fn valid(&self) -> Self::InnerModule;
}
Expand description

Module with auto-differentiation backend.

Required Associated Types§

Source

type InnerModule: Module<B::InnerBackend>

Inner module without auto-differentiation.

Required Methods§

Source

fn valid(&self) -> Self::InnerModule

Get the same module, but on the inner backend without auto-differentiation.

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<B, L0, L1> AutodiffModule<B> for (L0, L1)

Source§

impl<B, L0, L1, L2> AutodiffModule<B> for (L0, L1, L2)

Source§

impl<B, L0, L1, L2, L3> AutodiffModule<B> for (L0, L1, L2, L3)

Source§

impl<B, L0, L1, L2, L3, L4> AutodiffModule<B> for (L0, L1, L2, L3, L4)

Source§

impl<B, L0, L1, L2, L3, L4, L5> AutodiffModule<B> for (L0, L1, L2, L3, L4, L5)

Source§

impl<B, L0, L1, L2, L3, L4, L5, L6> AutodiffModule<B> for (L0, L1, L2, L3, L4, L5, L6)

Source§

impl<B, L0, L1, L2, L3, L4, L5, L6, L7> AutodiffModule<B> for (L0, L1, L2, L3, L4, L5, L6, L7)

Source§

impl<B, L0, L1, L2, L3, L4, L5, L6, L7, L8> AutodiffModule<B> for (L0, L1, L2, L3, L4, L5, L6, L7, L8)

Source§

impl<B, L0, L1, L2, L3, L4, L5, L6, L7, L8, L9> AutodiffModule<B> for (L0, L1, L2, L3, L4, L5, L6, L7, L8, L9)

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for bool

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for f32

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for f64

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for i8

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for i16

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for i32

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for i64

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for isize

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for u8

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for u16

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for u32

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for u64

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for usize

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for String

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for PhantomData<B>

Source§

impl<T, B> AutodiffModule<B> for Option<T>

Source§

impl<T, B> AutodiffModule<B> for Vec<T>

Source§

impl<const N: usize, T, B> AutodiffModule<B> for [T; N]

Implementors§

Source§

impl<B> AutodiffModule<B> for MultiHeadAttention<B>

Source§

impl<B> AutodiffModule<B> for Conv1d<B>

Source§

impl<B> AutodiffModule<B> for Conv2d<B>

Source§

impl<B> AutodiffModule<B> for Conv3d<B>

Source§

impl<B> AutodiffModule<B> for ConvTranspose1d<B>

Source§

impl<B> AutodiffModule<B> for ConvTranspose2d<B>

Source§

impl<B> AutodiffModule<B> for ConvTranspose3d<B>

Source§

impl<B> AutodiffModule<B> for DeformConv2d<B>

Source§

impl<B> AutodiffModule<B> for Gru<B>

Source§

impl<B> AutodiffModule<B> for BinaryCrossEntropyLoss<B>

Source§

impl<B> AutodiffModule<B> for CrossEntropyLoss<B>

Source§

impl<B> AutodiffModule<B> for BiLstm<B>

Source§

impl<B> AutodiffModule<B> for Embedding<B>

Source§

impl<B> AutodiffModule<B> for GateController<B>

Source§

impl<B> AutodiffModule<B> for GroupNorm<B>

Source§

impl<B> AutodiffModule<B> for InstanceNorm<B>

Source§

impl<B> AutodiffModule<B> for LayerNorm<B>

Source§

impl<B> AutodiffModule<B> for Linear<B>

Source§

impl<B> AutodiffModule<B> for Lstm<B>

Source§

impl<B> AutodiffModule<B> for PRelu<B>

Source§

impl<B> AutodiffModule<B> for PositionalEncoding<B>

Source§

impl<B> AutodiffModule<B> for RmsNorm<B>

Source§

impl<B> AutodiffModule<B> for RotaryEncoding<B>

Source§

impl<B> AutodiffModule<B> for SwiGlu<B>

Source§

impl<B> AutodiffModule<B> for PositionWiseFeedForward<B>

Source§

impl<B> AutodiffModule<B> for TransformerDecoder<B>

Source§

impl<B> AutodiffModule<B> for TransformerDecoderLayer<B>

Source§

impl<B> AutodiffModule<B> for TransformerEncoder<B>

Source§

impl<B> AutodiffModule<B> for TransformerEncoderLayer<B>

Source§

impl<B, T> AutodiffModule<B> for Ignored<T>
where B: AutodiffBackend, T: Sync + Send + Debug + Clone,

Source§

impl<B, const D: usize> AutodiffModule<B> for BatchNorm<B, D>

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for Interpolate1d

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for Interpolate2d

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for HuberLoss

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for MseLoss

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for PoissonNllLoss

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for AdaptiveAvgPool1d

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for AdaptiveAvgPool2d

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for AvgPool1d

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for AvgPool2d

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for MaxPool1d

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for MaxPool2d

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for Dropout

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for Gelu

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for HardSigmoid

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for LeakyRelu

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for Relu

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for Sigmoid

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for Tanh

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for Unfold4d

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for bf16

Source§

impl<B: AutodiffBackend> AutodiffModule<B> for f16

Source§

impl<const D: usize, B: AutodiffBackend> AutodiffModule<B> for Param<Tensor<B, D>>

Source§

impl<const D: usize, B: AutodiffBackend> AutodiffModule<B> for Param<Tensor<B, D, Bool>>

Source§

impl<const D: usize, B: AutodiffBackend> AutodiffModule<B> for Param<Tensor<B, D, Int>>

Source§

impl<const D: usize, B: AutodiffBackend> AutodiffModule<B> for RunningState<Tensor<B, D>>

Source§

impl<const D: usize, B: AutodiffBackend, K: BasicAutodiffOps<B>> AutodiffModule<B> for Tensor<B, D, K>