pub trait TryPool2D<Kernel, Stride, Padding, Dilation>: Sized {
    type Pooled;
    type Error: Debug;

    // Required method
    fn try_pool2d(
        self,
        kind: Pool2DKind,
        kernel: Kernel,
        stride: Stride,
        padding: Padding,
        dilation: Dilation
    ) -> Result<Self::Pooled, Self::Error>;

    // Provided method
    fn pool2d(
        self,
        kind: Pool2DKind,
        kernel: Kernel,
        stride: Stride,
        padding: Padding,
        dilation: Dilation
    ) -> Self::Pooled { ... }
}

Required Associated Types§

Required Methods§

source

fn try_pool2d( self, kind: Pool2DKind, kernel: Kernel, stride: Stride, padding: Padding, dilation: Dilation ) -> Result<Self::Pooled, Self::Error>

Provided Methods§

source

fn pool2d( self, kind: Pool2DKind, kernel: Kernel, stride: Stride, padding: Padding, dilation: Dilation ) -> Self::Pooled

Implementations on Foreign Types§

source§

impl<Kernel: Dim, Stride: Dim, Padding: Dim, Dilation: Dim> TryPool2D<Kernel, Stride, Padding, Dilation> for usize

§

type Pooled = usize

§

type Error = Infallible

source§

fn try_pool2d( self, _: Pool2DKind, kernel: Kernel, stride: Stride, padding: Padding, dilation: Dilation ) -> Result<Self::Pooled, Self::Error>

Implementors§

source§

impl<Chan, Kernel, Stride, Padding, Dilation, Batch, H, W, E, D, T> TryPool2D<Kernel, Stride, Padding, Dilation> for Tensor<(Batch, Chan, H, W), E, D, T>where Chan: Dim, Kernel: Dim, Stride: Dim, Padding: Dim, Dilation: Dim, Batch: Dim, H: Dim + TryPool2D<Kernel, Stride, Padding, Dilation>, H::Pooled: Dim, W: Dim + TryPool2D<Kernel, Stride, Padding, Dilation>, W::Pooled: Dim, E: Dtype, D: Pool2DKernel<E>, T: Tape<E, D>,

§

type Pooled = Tensor<(Batch, Chan, <H as TryPool2D<Kernel, Stride, Padding, Dilation>>::Pooled, <W as TryPool2D<Kernel, Stride, Padding, Dilation>>::Pooled), E, D, T>

§

type Error = <D as HasErr>::Err

source§

impl<Chan, Kernel, Stride, Padding, Dilation, H, W, E, D, T> TryPool2D<Kernel, Stride, Padding, Dilation> for Tensor<(Chan, H, W), E, D, T>where Chan: Dim, Kernel: Dim, Stride: Dim, Padding: Dim, Dilation: Dim, H: Dim + TryPool2D<Kernel, Stride, Padding, Dilation>, H::Pooled: Dim, W: Dim + TryPool2D<Kernel, Stride, Padding, Dilation>, W::Pooled: Dim, E: Dtype, D: Pool2DKernel<E> + ReshapeKernel<E>, T: Tape<E, D>,

§

type Pooled = Tensor<(Chan, <H as TryPool2D<Kernel, Stride, Padding, Dilation>>::Pooled, <W as TryPool2D<Kernel, Stride, Padding, Dilation>>::Pooled), E, D, T>

§

type Error = <D as HasErr>::Err

source§

impl<const KERNEL: usize, const STRIDE: usize, const PADDING: usize, const DILATION: usize, const DIM: usize> TryPool2D<Const<KERNEL>, Const<STRIDE>, Const<PADDING>, Const<DILATION>> for Const<DIM>where Const<{ _ }>: Sized,

§

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

§

type Error = Infallible