pub trait ADBackend: Backend {
    type InnerBackend: Backend<Device = Self::Device, Elem = Self::Elem>;
    type Gradients: Send + Sync;

    fn backward<const D: usize>(
        tensor: &Self::TensorPrimitive<D>
    ) -> Self::Gradients; fn grad<const D: usize>(
        tensor: &Self::TensorPrimitive<D>,
        grads: &Self::Gradients
    ) -> Option<<<Self as ADBackend>::InnerBackend as Backend>::TensorPrimitive<D>>; fn inner<const D: usize>(
        tensor: &Self::TensorPrimitive<D>
    ) -> <Self::InnerBackend as Backend>::TensorPrimitive<D>; fn from_inner<const D: usize>(
        tensor: <Self::InnerBackend as Backend>::TensorPrimitive<D>
    ) -> Self::TensorPrimitive<D>; }

Required Associated Types§

Required Methods§

Implementors§