Skip to content

Draft: [New] first conv with cmsis_nn working

Context

In the context of the integration of cmsis_nn for aidge. This merge request is a first version focusing on the ConvScaling metoperator.

Modified files

  • operator.py : Now using aidge_quantization.Quantizer instead of aidge_core.scaling. Only including "arm_nn_functions.h" and copying kernels in export.py. Using my own function to compute fixed_point shift and multiplier;
  • export.py, now copying folder of cmsis_nn and two options between "aidge_arm" or "cmsis_nn";
  • arm_cmsis_nn_conv2d.jinja, both for configuration and forward call with debug options

TODO

  • Dataformat different for CMSIS_NN (HWC), need to change ImplSpec and apply recipes
  • Only one _mem_offset.jinja, _meminfo.jinja and _def_io.jinja
  • Other Kernels (Max/AvgPooling, Relu, FC, PaddedConv, DW) that are available in CMSIS_NN library
  • Good method to choose the dtype

Merge request reports

Loading