pub trait TryConvTrans2D<Stride, Padding, Dilation, Groups>: Sized {
    type Convolved;
    type Error: Debug;

    // Required method
    fn try_convtrans2d(
        self,
        stride: Stride,
        padding: Padding,
        dilation: Dilation,
        groups: Groups
    ) -> Result<Self::Convolved, Self::Error>;

    // Provided method
    fn convtrans2d(
        self,
        stride: Stride,
        padding: Padding,
        dilation: Dilation,
        groups: Groups
    ) -> Self::Convolved { ... }
}

Required Associated Types§

Required Methods§

source

fn try_convtrans2d( self, stride: Stride, padding: Padding, dilation: Dilation, groups: Groups ) -> Result<Self::Convolved, Self::Error>

Fallibly applies a 2D convolution to the input tensor.

Provided Methods§

source

fn convtrans2d( self, stride: Stride, padding: Padding, dilation: Dilation, groups: Groups ) -> Self::Convolved

Applies a 2D convolution to the input tensor.

Implementations on Foreign Types§

source§

impl<InpChan, OutChanOverGroups, Kernel, Stride, Padding, Dilation, Groups, Batch, H, W, E, D, T> TryConvTrans2D<Stride, Padding, Dilation, Groups> for (Tensor<(Batch, InpChan, H, W), E, D, T>, Tensor<(InpChan, OutChanOverGroups, Kernel, Kernel), E, D>)where InpChan: Dim, OutChanOverGroups: Dim + Mul<Groups>, Kernel: Dim, Stride: Dim, Padding: Dim, Dilation: Dim, Groups: Dim, Batch: Dim, H: Dim, W: Dim, E: Dtype, D: ConvTrans2DKernel<E>, T: Tape<E, D>, <OutChanOverGroups as Mul<Groups>>::Output: Dim, (H, Kernel): TryConvTrans2D<Stride, Padding, Dilation, Groups>, (W, Kernel): TryConvTrans2D<Stride, Padding, Dilation, Groups>, <(H, Kernel) as TryConvTrans2D<Stride, Padding, Dilation, Groups>>::Convolved: Dim, <(W, Kernel) as TryConvTrans2D<Stride, Padding, Dilation, Groups>>::Convolved: Dim,

§

type Convolved = Tensor<(Batch, <OutChanOverGroups as Mul<Groups>>::Output, <(H, Kernel) as TryConvTrans2D<Stride, Padding, Dilation, Groups>>::Convolved, <(W, Kernel) as TryConvTrans2D<Stride, Padding, Dilation, Groups>>::Convolved), E, D, T>

§

type Error = <D as HasErr>::Err

source§

fn try_convtrans2d( self, stride: Stride, padding: Padding, dilation: Dilation, groups: Groups ) -> Result<Self::Convolved, Self::Error>

source§

impl<const KERNEL: usize, const STRIDE: usize, const PADDING: usize, const DILATION: usize, Groups: Dim, const DIM: usize> TryConvTrans2D<Const<STRIDE>, Const<PADDING>, Const<DILATION>, Groups> for (Const<DIM>, Const<KERNEL>)where Const<{ _ }>: Sized,

§

type Convolved = Const<{ (DIM - 1) * STRIDE - 2 * PADDING + DILATION * (KERNEL - 1) + 1 }>

§

type Error = Infallible

source§

fn try_convtrans2d( self, _: Const<STRIDE>, _: Const<PADDING>, _: Const<DILATION>, _: Groups ) -> Result<Self::Convolved, Self::Error>

source§

impl<Kernel: Dim, Stride: Dim, Padding: Dim, Dilation: Dim, Groups: Dim> TryConvTrans2D<Stride, Padding, Dilation, Groups> for (usize, Kernel)

§

type Convolved = usize

§

type Error = Infallible

source§

fn try_convtrans2d( self, stride: Stride, padding: Padding, dilation: Dilation, _: Groups ) -> Result<Self::Convolved, Self::Error>

source§

impl<InpChan, OutChanOverGroups, Kernel, Stride, Padding, Dilation, Groups, H, W, E, D, T> TryConvTrans2D<Stride, Padding, Dilation, Groups> for (Tensor<(InpChan, H, W), E, D, T>, Tensor<(InpChan, OutChanOverGroups, Kernel, Kernel), E, D>)where InpChan: Dim, OutChanOverGroups: Dim + Mul<Groups>, Kernel: Dim, Stride: Dim, Padding: Dim, Dilation: Dim, Groups: Dim, H: Dim, W: Dim, E: Dtype, D: ConvTrans2DKernel<E> + ReshapeKernel<E>, T: Tape<E, D>, <OutChanOverGroups as Mul<Groups>>::Output: Dim, (H, Kernel): TryConvTrans2D<Stride, Padding, Dilation, Groups>, (W, Kernel): TryConvTrans2D<Stride, Padding, Dilation, Groups>, <(H, Kernel) as TryConvTrans2D<Stride, Padding, Dilation, Groups>>::Convolved: Dim, <(W, Kernel) as TryConvTrans2D<Stride, Padding, Dilation, Groups>>::Convolved: Dim,

§

type Convolved = Tensor<(<OutChanOverGroups as Mul<Groups>>::Output, <(H, Kernel) as TryConvTrans2D<Stride, Padding, Dilation, Groups>>::Convolved, <(W, Kernel) as TryConvTrans2D<Stride, Padding, Dilation, Groups>>::Convolved), E, D, T>

§

type Error = <D as HasErr>::Err

source§

fn try_convtrans2d( self, stride: Stride, padding: Padding, dilation: Dilation, groups: Groups ) -> Result<Self::Convolved, Self::Error>

Implementors§