Open zshiqiang opened 1 year ago
Current implementation of convolutional 2D layer assumes (1) no paddings (2) no dilations (3) zero biases.
To add these features, we need:
parameters corresponding to those features in the Layer2D definition: https://github.com/cog-imperial/OMLT/blob/main/src/omlt/neuralnet/layer.py
a bias term in the Layer2D constraints: https://github.com/cog-imperial/OMLT/blob/main/src/omlt/neuralnet/layers/full_space.py
By generalizing function _kernel_index_with_inputindexes in line 258 of https://github.com/cog-imperial/OMLT/blob/main/src/omlt/neuralnet/layer.py, it's possible to support more pooling and convolutional layers (e.g., 1D, 3D).
Current implementation of convolutional 2D layer assumes (1) no paddings (2) no dilations (3) zero biases.
To add these features, we need:
parameters corresponding to those features in the Layer2D definition: https://github.com/cog-imperial/OMLT/blob/main/src/omlt/neuralnet/layer.py
a bias term in the Layer2D constraints: https://github.com/cog-imperial/OMLT/blob/main/src/omlt/neuralnet/layers/full_space.py
By generalizing function _kernel_index_with_inputindexes in line 258 of https://github.com/cog-imperial/OMLT/blob/main/src/omlt/neuralnet/layer.py, it's possible to support more pooling and convolutional layers (e.g., 1D, 3D).