Skip to content

Add and modify operators to run the ConvNeXt onnx model

Matthew Newson requested to merge mnewson/aidge_export_cpp:main into dev

Context

While trying to export the ConvNeXt onnx model to cpp, we encountered several issues. First, several operators were missing, including transpose and erf. Additionally, we needed to add broadcasting support for operators like add, sub, mul, div, and matmul. For the convolution layers, we added the groups parameter. Lastly, batch normalization and global average pooling required debugging. Specifically, batch normalization had issues, and for global average pooling, there was a type error that resulted in incorrect values. ConvNeXt_export.onnx

Modified files

  • added erf and transpose_diff and matching jinja files
  • added convolution_groups to have the parameter groups (not to interfer with original convolution model)
  • operator.py : add erf, transpose, convolution_groups operators
  • pooling global : modified the type of sum for Average
  • batchnorm : updated to perform a batchnorm and changed the parameters order
  • modified matmul : for broadcasting support
  • added transpose_diff (not to interfer with original model because i wasn't able to make it work)

Merge request reports

Loading