pub trait Conv2d: DeviceBase {
// Required methods
fn conv2d<T: Num>(
input: Matrix<Ref<&T>, DimDyn, Self>,
y: Matrix<Ref<&mut T>, DimDyn, Self>,
filter: Matrix<Ref<&T>, DimDyn, Self>,
pad_h: usize,
pad_w: usize,
stride_h: usize,
stride_w: usize,
dilation_h: usize,
dilation_w: usize,
config: Option<&Conv2dConfig<T>>,
);
fn conv2d_bckwd_data<T: Num>(
dy: Matrix<Ref<&T>, DimDyn, Self>,
dx: Matrix<Ref<&mut T>, DimDyn, Self>,
filter: Matrix<Ref<&T>, DimDyn, Self>,
pad_h: usize,
pad_w: usize,
stride_h: usize,
stride_w: usize,
dilation_h: usize,
dilation_w: usize,
config: Option<&Conv2dConfig<T>>,
);
fn conv2d_bckwd_filter<T: Num>(
input: Matrix<Ref<&T>, DimDyn, Self>,
dy: Matrix<Ref<&T>, DimDyn, Self>,
df: Matrix<Ref<&mut T>, DimDyn, Self>,
pad_h: usize,
pad_w: usize,
stride_h: usize,
stride_w: usize,
dilation_h: usize,
dilation_w: usize,
config: Option<&Conv2dConfig<T>>,
);
fn conv2d_forward_bias<T: Num>(
input: Matrix<Ref<&T>, DimDyn, Self>,
y: Matrix<Ref<&mut T>, DimDyn, Self>,
bias: Matrix<Ref<&T>, DimDyn, Self>,
);
fn conv2d_bckwd_bias<T: Num>(
dy: Matrix<Ref<&T>, DimDyn, Self>,
dx: Matrix<Ref<&mut T>, DimDyn, Self>,
);
}
Required Methods§
fn conv2d<T: Num>( input: Matrix<Ref<&T>, DimDyn, Self>, y: Matrix<Ref<&mut T>, DimDyn, Self>, filter: Matrix<Ref<&T>, DimDyn, Self>, pad_h: usize, pad_w: usize, stride_h: usize, stride_w: usize, dilation_h: usize, dilation_w: usize, config: Option<&Conv2dConfig<T>>, )
fn conv2d_bckwd_data<T: Num>( dy: Matrix<Ref<&T>, DimDyn, Self>, dx: Matrix<Ref<&mut T>, DimDyn, Self>, filter: Matrix<Ref<&T>, DimDyn, Self>, pad_h: usize, pad_w: usize, stride_h: usize, stride_w: usize, dilation_h: usize, dilation_w: usize, config: Option<&Conv2dConfig<T>>, )
fn conv2d_bckwd_filter<T: Num>( input: Matrix<Ref<&T>, DimDyn, Self>, dy: Matrix<Ref<&T>, DimDyn, Self>, df: Matrix<Ref<&mut T>, DimDyn, Self>, pad_h: usize, pad_w: usize, stride_h: usize, stride_w: usize, dilation_h: usize, dilation_w: usize, config: Option<&Conv2dConfig<T>>, )
fn conv2d_forward_bias<T: Num>( input: Matrix<Ref<&T>, DimDyn, Self>, y: Matrix<Ref<&mut T>, DimDyn, Self>, bias: Matrix<Ref<&T>, DimDyn, Self>, )
fn conv2d_bckwd_bias<T: Num>( dy: Matrix<Ref<&T>, DimDyn, Self>, dx: Matrix<Ref<&mut T>, DimDyn, Self>, )
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.