airis_layers/convolution_layer/
mod.rs1use airs_types::Tensor;
2
3pub struct ConvolutionND<D> {
4 pub weight: Tensor,
5 pub bias: Tensor,
6 pub stride: Vec<i64>,
7 pub padding: Vec<i64>,
8 pub dilation: Vec<i64>,
9 pub groups: i64,
10 pub data_format: D,
11}
12
13pub type Convolution1D = ConvolutionND<[i64; 1]>;
14
15pub type Convolution2D = ConvolutionND<[i64; 2]>;
16
17pub type Convolution3D = ConvolutionND<[i64; 2]>;
18
19pub struct ConvolutionConfig {
20 pub stride: Vec<i64>,
21 pub padding: Vec<i64>,
22 pub dilation: Vec<i64>,
23 pub groups: i64,
24}
25
26impl ConvolutionConfig {
27 pub fn build<D>(&self, data_format: D) -> ConvolutionND<D> {
28 todo!()
29 }
30}