New feature, bug fixes, code modifications to create a CPP export of Resnet18 (quantified model)
Context
Summary
This MR is or adapt, fix error and add new features to this module for support the ResNet18 quandfied model
Detailed major modifications
Work on operators:
-
Pooling -
[Feat] integration of rounding for an integer data type (pooling.hpp)
-
-
Rescaling -
[Feat] Add rescaling function (rescaling.hpp) -
[Feat] Add registrar file (CppRescaling.py) -
[Feat] Add config and forward jinja for rescaling operator (rescaling_config.jinja & rescaling_forward.jinja)
-
-
Elemwise -
[Refactor] Change "elemwise_op" attribute resolution (elemwise_config.py) -
[Refactor] Use rescaling.jinja file to collect rescaling attribute
-
Work on export object:
-
[Fix] Modify cpp_recipes: renaming operator to fix error (export_utils.py) -
[Feat] Add normalize function necessary to format data before PTQ (export_utils.py) -
[Feat] Add external input_tensor option. Can be use with main cpp generation fucntion (export.py) -
[Fix] Replacing a hard CAST with a CAST based on the output data type (_aidge_cmp.jinja) -
[Feat] create a new template for aidge_cmp function (for integer datatype)
Work to fix error for openmp option:
-
[Fix] Add "#ifdef _OPENMP" to enable or disable the OpenMP option of the compilation -
convolution.hpp -
fullyconnected.hpp -
leakyrelu.hpp -
pooling.hpp
-
Edited by Mickael GUIBERT