Repository navigation
Upgrade to Quantizeml 0.10.1, Akida/CNN2SNN 2.8.1 and Akida models 1.5.2
·
209 commits
to main
since this release
Last release supporting python 3.8 and Tensorflow 2.10 to 2.12, next release will support python 3.9 to 3.11 and Tensorflow 2.15.
Update QuantizeML to version 0.10.1
New features
- Introduced "analysis" module that allows to gather information about quantized layers and display quantization error informations
- Implemented partial quantization that allows to stop at a given layer
- Bias quantization improved in layers to handle outliers
- Added support for '+' operation quantization in Tensorflow/Keras
- Now handling ONNX models in "load_model"
- Removed the deprecated 'check_quantization' API and CLI
- Added dispatch for QTensor slicing
- Added support for ReLU activation comming after an Add layer
- Added support for Keras layers defined with an
activationparameter - Updated ONNX sanitize function to handle MobileNetV1/V2 ops patterns
- Optimized input shift quantization is ONNX skip connections
- Added support for QuantizedConcatenate, QuantizedTransposedConvolution, QuantizedRescaling in ONNX
Bug fixes:
- Fixed a cross-layer equalization issue with Conv2DTranspose
- Prevented cross-layer equalization when layers do not perform an output scaling operation
- Fixed a quantization issue with ONNX where models with skip connection and computation in both branches would lead to an invalid graph
- Fixed a issue preventing to load quantized model into a multi-GPU setup
- Fixed issues in sanitize when model comes with skip connections both on the Keras and ONNX paths
- OutputQuantizer will now properly use their
buffer_bitwidthparameter
Update Akida and CNN2SNN to version 2.8.1
Aligned with FPGA 1492/1515(ViT)
New features
- [akida] Added a mapping mode to akida.Model.map that allows to map a model on AllNps (default), HwPr (all NPs and partial reconfig) or Minimal (legacy mode using less resources)
- [akida] Added a 'run' CLI to perform an inference on device from a one line command
- [akida] Added support for multi-sequence mapping for V2
- [akida] Full support of Stem layer in V2 HW
- [akida] Skip connection support in V2: added mesh discovery and early mapping algorithm
- [akida] Model constructor that takes a list of layers as parameter now supports Add layers
- [akida] Added support for CNP without activation but with max pooling enabled
- [akida] When mapping is not possible after a search, the initial mapping is restored
- [cnn2snn] Bumped QuantizeML requirement to 0.10.1 and included support for Add>ReLU conversion
Bug fixes:
- [akida] Added an exception when unsigned inputs are fed to a V2 InputData
- [akida] Updated MeshMapper behavior for DepthwiseConvolution layers
- [akida] Restricted FNP > CNP mapping that is not supported
- [akida] Fixed non-homogenous behavior in the mapping seach algorithm depending on the
hw_onlyparameter
Update Akida models to 1.5.2
New features
- Aligned with Akida/CNN2SNN 2.8.1 and QuantizeML 0.10.1
- Improved AkidaNet18/CenterNet detection model training and architecture
- Updated a large part of the 8-bits models from the zoo with better bias quantization (and accuracy)
- Updated GXNOR/MNIST model quantization scheme
- Fixed AkidaUNet evaluation pipeline
- Added explicit dependency to tqdm
- Improved exception handling in
load_model
Documentation update
- Added
akida runCLI usage in Akida user guide - Added
akida_models summaryCLI usage in Akida models zoo user guide - Added analysis module in QuantizeML user guide
- Reworked advanced ONNX quantization example that uses custom pattern to reflect updated supported patterns