airis_layers/convolution_layer/
mod.rs

1use 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}