Trait rai_core::Shape

source ·
pub trait Shape: Debug {
Show 28 methods // Required method fn shape(&self) -> &[usize]; // Provided methods fn size(&self) -> usize { ... } fn shape_at<I: Dim>(&self, i: I) -> usize { ... } fn shape_before<const N: usize>(&self) -> [usize; N] { ... } fn shape_of<D: Dims>(&self, d: D) -> Vec<usize> { ... } fn size_of<D: Dims>(&self, d: D) -> usize { ... } fn ndim(&self) -> usize { ... } fn dim<I: Dim>(&self, i: I) -> usize { ... } fn dims<D: Dims>(&self, d: D) -> Vec<usize> { ... } fn shape_transpose(&self, dim0: usize, dim1: usize) -> Vec<usize> { ... } fn shape_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool { ... } fn shape_ndim_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool { ... } fn shape_size_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool { ... } fn shape_expand_left<T: Shape + ?Sized>(&self, rhs: &T) -> Vec<usize> { ... } fn shape_expand_right<T: Shape + ?Sized>(&self, rhs: &T) -> Vec<usize> { ... } fn shape_broadcast_to<T: Shape + ?Sized>( &self, rhs: &T ) -> Result<(Vec<usize>, bool, bool)> { ... } fn shape_broadcast_matmul<S: Shape + ?Sized>( &self, rhs: &S ) -> Result<(Vec<usize>, Vec<usize>, Vec<usize>, bool, bool)> { ... } fn shape_reduce<T: AsRef<[usize]>>( &self, dims: T, keep_dim: bool ) -> Vec<usize> { ... } fn shape_conv1d<S: Shape + ?Sized>( &self, kernel: &S, padding: usize, stride: usize, dilation: usize ) -> Vec<usize> { ... } fn shape_conv2d<S: Shape + ?Sized>( &self, kernel: &S, padding: &[usize; 2], stride: &[usize; 2], dilation: &[usize; 2] ) -> Vec<usize> { ... } fn shape_conv_transpose1d<S: Shape + ?Sized>( &self, kernel: &S, padding: usize, output_padding: usize, stride: usize, dilation: usize ) -> Vec<usize> { ... } fn shape_conv_transpose2d<S: Shape + ?Sized>( &self, kernel: &S, padding: &[usize; 2], output_padding: &[usize; 2], stride: &[usize; 2], dilation: &[usize; 2] ) -> Vec<usize> { ... } fn shape_avg_pool1d( &self, kernel_size: usize, stride: usize, padding: usize ) -> Vec<usize> { ... } fn shape_avg_pool2d( &self, kernel_size: &(usize, usize), stride: &(usize, usize), padding: &(usize, usize) ) -> Vec<usize> { ... } fn shape_max_pool1d( &self, kernel_size: usize, stride: usize, padding: usize, dialation: usize ) -> Vec<usize> { ... } fn shape_max_pool2d( &self, kernel_size: &(usize, usize), stride: &(usize, usize), padding: &(usize, usize), dialation: &(usize, usize) ) -> Vec<usize> { ... } fn shape_upsample_nearest1d(&self, size: usize) -> Vec<usize> { ... } fn shape_upsample_nearest2d(&self, size: &(usize, usize)) -> Vec<usize> { ... }
}

Required Methods§

source

fn shape(&self) -> &[usize]

Provided Methods§

source

fn size(&self) -> usize

source

fn shape_at<I: Dim>(&self, i: I) -> usize

source

fn shape_before<const N: usize>(&self) -> [usize; N]

source

fn shape_of<D: Dims>(&self, d: D) -> Vec<usize>

source

fn size_of<D: Dims>(&self, d: D) -> usize

source

fn ndim(&self) -> usize

source

fn dim<I: Dim>(&self, i: I) -> usize

source

fn dims<D: Dims>(&self, d: D) -> Vec<usize>

source

fn shape_transpose(&self, dim0: usize, dim1: usize) -> Vec<usize>

source

fn shape_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool

source

fn shape_ndim_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool

source

fn shape_size_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool

source

fn shape_expand_left<T: Shape + ?Sized>(&self, rhs: &T) -> Vec<usize>

source

fn shape_expand_right<T: Shape + ?Sized>(&self, rhs: &T) -> Vec<usize>

source

fn shape_broadcast_to<T: Shape + ?Sized>( &self, rhs: &T ) -> Result<(Vec<usize>, bool, bool)>

source

fn shape_broadcast_matmul<S: Shape + ?Sized>( &self, rhs: &S ) -> Result<(Vec<usize>, Vec<usize>, Vec<usize>, bool, bool)>

source

fn shape_reduce<T: AsRef<[usize]>>(&self, dims: T, keep_dim: bool) -> Vec<usize>

source

fn shape_conv1d<S: Shape + ?Sized>( &self, kernel: &S, padding: usize, stride: usize, dilation: usize ) -> Vec<usize>

source

fn shape_conv2d<S: Shape + ?Sized>( &self, kernel: &S, padding: &[usize; 2], stride: &[usize; 2], dilation: &[usize; 2] ) -> Vec<usize>

source

fn shape_conv_transpose1d<S: Shape + ?Sized>( &self, kernel: &S, padding: usize, output_padding: usize, stride: usize, dilation: usize ) -> Vec<usize>

source

fn shape_conv_transpose2d<S: Shape + ?Sized>( &self, kernel: &S, padding: &[usize; 2], output_padding: &[usize; 2], stride: &[usize; 2], dilation: &[usize; 2] ) -> Vec<usize>

source

fn shape_avg_pool1d( &self, kernel_size: usize, stride: usize, padding: usize ) -> Vec<usize>

source

fn shape_avg_pool2d( &self, kernel_size: &(usize, usize), stride: &(usize, usize), padding: &(usize, usize) ) -> Vec<usize>

source

fn shape_max_pool1d( &self, kernel_size: usize, stride: usize, padding: usize, dialation: usize ) -> Vec<usize>

source

fn shape_max_pool2d( &self, kernel_size: &(usize, usize), stride: &(usize, usize), padding: &(usize, usize), dialation: &(usize, usize) ) -> Vec<usize>

source

fn shape_upsample_nearest1d(&self, size: usize) -> Vec<usize>

source

fn shape_upsample_nearest2d(&self, size: &(usize, usize)) -> Vec<usize>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Shape for Vec<usize>

source§

fn shape(&self) -> &[usize]

source§

fn ndim(&self) -> usize

source§

impl Shape for [usize]

source§

fn shape(&self) -> &[usize]

source§

fn ndim(&self) -> usize

source§

impl<'a, T> Shape for &'a T
where T: Shape + ?Sized,

source§

fn shape(&self) -> &[usize]

source§

impl<const N: usize> Shape for [usize; N]

source§

fn shape(&self) -> &[usize]

source§

fn ndim(&self) -> usize

Implementors§