Skip to content

Upgrade to Quantizeml 0.19.0, Akida/CNN2SNN 2.16.1 and Akida models 1.10.0

Choose a tag to compare

@ktsiknos-brainchip ktsiknos-brainchip released this 25 Sep 08:16
· 98 commits to main since this release

This is the last release supporting python 3.9 and TensorFlow 2.15.

In the next release python 3.9 will be dropped, python 3.12 will be added and requirements will be updated to TF-Keras 2.19.

Update QuantizeML to version 0.19.0

New features

  • Now built using pyproject.toml

Bug fixes

  • Prevent requantization of ONNX models or quantization of models with non-float inputs

Update Akida and CNN2SNN to version 2.16.1

Aligned with FPGA-1701(2-nodes)/1700(6-nodes)

New features and updates:

  • [akida/cnn2snn] Now built using pyproject.toml
  • [cnn2snn] Updated QuantizeML requirement to 0.19.0
  • [cnn2snn] Improved ONNX conversion errors adding faulty node names in messages
  • [akida] HRC is now part of the mesh discovery process, LUT included. As a result Akida.Mesh constructor API was changed from has_hrc boolean to a proper NP.Info.hrc object
  • [akida] Dropped Dense2D layer since it does not exist in hardware. Dense layers are converted to Dense1D when compatible and rejected otherwise
  • [akida] Added layer name to errors messages happening during mapping
  • [akida] Mapping errors will now display the list of all hardware incompatibilities that are identified during constraint checks
  • [akida] Reworked invalid sequence mapping error message to list the original faulty layer and the list of all issues encountered while trying to map a sequence of layers
  • [akida] Mapping with hw_only=True will now result in a explicit error message if the model cannot be mapped in a single sequence
  • [akida] Improved mapping on devices with custom HwVersion and feature like HwPR, dense outputs or sparse inputs that are not available on all product ids

Bug fixes

  • [akida] Properly adapt outputs allocated memory in engine depending on bitwidth while 32-bit was assumed
  • [akida] Mapping spatiotemporal models no longer trigger a pass after last TNP-B layer
  • [akida] Mapping with a bad MapMode now properly raises an error
  • [akida] Prevent mapping CNP with max pooling when not followed by another CNP for any device
  • [akida] Prevent mapping Add layer with ReLU activation since this is not supported in hardware
  • [akida] Model.evaluate was implicitely always casting input data to 8-bit unsigned. Data type is now checked against model input type
  • [akida] create_device was creating a device with LUT disabled in HRC
  • [akida] Fixed an erroneous layer name in mapping error message

Update Akida models to 1.10.0

New features and updates:

  • Now built using pyproject.toml
  • Updated QuantizeML requirement to 0.19.0, CNN2SNN to 2.16.1
  • Updated Modelnet40/Pointnet++ architecture to map in a single sequence on 6-node FPGA

Documentation update

  • Added a last "python 3.9 and TF2.15" information in installation page
  • Added HW capabilities page in the user guide section
  • Updated icons display for iOS/Ubuntu
  • Updated dead link on VOC dataset