This could potentially be a bug. When using multiple conv2D layers (N > 1), there will be N conv2D layers in the ONNX file, but they all point to the same initializer for their weights. During the conversion from ONNX to SADL, these conv2D layers are pointing to the same filter. Therefore, when N is even, the function reshapeConv2DFilters will be executed an even number of times, which becomes meaningless.
I have provided an example and test code below:
# generate ONNX file python sample/debug_reshapeConv2DFilters.py # check the modifications made in sadl/model.h file and also test the code without any modifications ./utests/check.sh