pub trait ADModule<B: ADBackend>: Module<B> + Send + Sync + Debug {
    type InnerModule: Module<B::InnerBackend>;

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

Module with auto-differentiation backend.

Required Associated Types§

Required Methods§

source

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

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

Implementations on Foreign Types§

source§

impl<B: ADBackend> ADModule<B> for String

source§

impl<const N: usize, T, B> ADModule<B> for [T; N]where T: ADModule<B> + Debug + Send + Sync + Clone + Copy, T::InnerModule: Copy + Debug, <T::InnerModule as Module<B::InnerBackend>>::Record: Debug, <T as Module<B>>::Record: Debug, B: ADBackend,

§

type InnerModule = [<T as ADModule<B>>::InnerModule; N]

source§

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

source§

impl<B: ADBackend> ADModule<B> for usize

§

type InnerModule = usize

source§

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

source§

impl<B: ADBackend> ADModule<B> for u64

§

type InnerModule = u64

source§

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

source§

impl<B: ADBackend> ADModule<B> for i16

§

type InnerModule = i16

source§

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

source§

impl<B: ADBackend> ADModule<B> for bool

§

type InnerModule = bool

source§

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

source§

impl<B: ADBackend> ADModule<B> for i32

§

type InnerModule = i32

source§

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

source§

impl<B: ADBackend> ADModule<B> for u32

§

type InnerModule = u32

source§

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

source§

impl<B: ADBackend> ADModule<B> for u16

§

type InnerModule = u16

source§

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

source§

impl<B: ADBackend> ADModule<B> for i64

§

type InnerModule = i64

source§

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

source§

impl<B: ADBackend> ADModule<B> for u8

§

type InnerModule = u8

source§

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

source§

impl<B: ADBackend> ADModule<B> for i8

§

type InnerModule = i8

source§

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

source§

impl<T, B> ADModule<B> for Option<T>where T: ADModule<B> + Debug + Send + Sync + Clone, B: ADBackend,

§

type InnerModule = Option<<T as ADModule<B>>::InnerModule>

source§

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

source§

impl<B: ADBackend> ADModule<B> for f32

§

type InnerModule = f32

source§

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

source§

impl<B: ADBackend> ADModule<B> for f64

§

type InnerModule = f64

source§

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

source§

impl<T, B> ADModule<B> for Vec<T>where T: ADModule<B> + Debug + Send + Sync + Clone, B: ADBackend,

§

type InnerModule = Vec<<T as ADModule<B>>::InnerModule, Global>

source§

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

Implementors§

source§

impl<B> ADModule<B> for MultiHeadAttention<B>where B: ADBackend + Backend,

source§

impl<B> ADModule<B> for Conv1d<B>where B: ADBackend + Backend,

source§

impl<B> ADModule<B> for Conv2d<B>where B: ADBackend + Backend,

source§

impl<B> ADModule<B> for Embedding<B>where B: ADBackend + Backend,

source§

impl<B> ADModule<B> for LayerNorm<B>where B: ADBackend + Backend,

source§

impl<B> ADModule<B> for Linear<B>where B: ADBackend + Backend,

source§

impl<B> ADModule<B> for PositionWiseFeedForward<B>where B: ADBackend + Backend,

source§

impl<B> ADModule<B> for TransformerDecoder<B>where B: ADBackend + Backend,

source§

impl<B> ADModule<B> for TransformerDecoderLayer<B>where B: ADBackend + Backend,

source§

impl<B> ADModule<B> for TransformerEncoder<B>where B: ADBackend + Backend,

source§

impl<B> ADModule<B> for TransformerEncoderLayer<B>where B: ADBackend + Backend,

source§

impl<B, const D: usize> ADModule<B> for BatchNorm<B, D>where B: ADBackend + Backend,

source§

impl<B: ADBackend> ADModule<B> for Conv1dPaddingConfig

source§

impl<B: ADBackend> ADModule<B> for Conv2dPaddingConfig

source§

impl<B: ADBackend> ADModule<B> for AvgPool2d

source§

impl<B: ADBackend> ADModule<B> for MaxPool2d

source§

impl<B: ADBackend> ADModule<B> for Dropout

source§

impl<B: ADBackend> ADModule<B> for GELU

source§

impl<B: ADBackend> ADModule<B> for ReLU

source§

impl<B: ADBackend> ADModule<B> for bf16

source§

impl<B: ADBackend> ADModule<B> for f16

source§

impl<const D: usize, B: ADBackend> ADModule<B> for Param<Tensor<B, D>>

source§

impl<const D: usize, B: ADBackend> ADModule<B> for RunningState<Tensor<B, D>>