Skip to content

Release v1.10.0

Compare
Choose a tag to compare
@lior-dikstein lior-dikstein released this 27 Sep 13:03
· 370 commits to main since this release
6695985

What's Changed

Major Updates:

  • Data Generation Library: The Data Generation Library has been added to the Model Compression Toolkit (MCT) project. This library allows users to generate synthetic data for compressing their models and enables quantization without requiring user-provided data. Check out an example of quantizing a model using generated data for torchvision's ResNet18 in this notebook.

General Changes:

  • TensorFlow and PyTorch Support: Added support for TensorFlow 2.12 and 2.13, as well as PyTorch 2.0.
  • Dependency Cleanup: All dependencies on 'tensorflow-model-optimization' have been removed.
  • Quick-Start Tutorial: The quick-start tutorial has been updated with additional GPTQ and Mixed Precision (MP) options and minor bug fixes.
  • New TPC: Added IMX500 TPC with weights quantized using non-uniform quantization (LookUp-Table).

Breaking Changes:

  • Quantizer Identifier: Replaced the "quantizer_type" property with a new "identifier" property for all trainable quantizers. Each quantizer now has a dedicated identifier.
  • ** Changes in Look-up Table (LUT) quantizers**: In Keras and PyTorch:
    • Class variables names have been modified to align with MCT Quantizers names:
      • cluster_centers -> lut_values
      • multiplier_n_bits -> lut_values_bitwidth
    • lut_values is now converted from a numpy array to a list before exporting the model.

Added Features:

  • Forward-Fold Layers: Added support for forward-folding BatchNorm and DW-Conv with 1x1 kernel layers for improved quantization.
  • Zero in LUT grid: LUT now explicitly includes zero in the quantization grid.

Improvements:

  • Quick-Start Enhancements: Improved quick-start for running pre-trained models in MCT.
  • Notebook Addition: Added a notebook for running pre-trained models in MCT and a notebook for quantizing a model using images generated with the data generation library.
  • Mixed Precision Quantization: Mixed precision quantization is now applied using MCT Quantizers infrastructure.
  • BOPs Computation Fix: Fixed bit operations (BOPs) computation in mixed precision in the BOPs restriction scenario.

Fixed Issues:

  • Param Search in SNC: Fixed param search during shift negative correction (SNC) in PyTorch [#771].
  • Second Momentum Correction: Fixed second momentum correction when SNC is enabled [#771].
  • Irrelevant Warning: Resolved an irrelevant warning related to the Kmeans function when running LUT quantization (no effect on the usability of the quantizer).

New Contributors

Contributors:

@alexander-sony @lior-dikstein @reuvenperetz @ofirgo @elad-c @eladc-git @haihabi @lapid92
Full Changelog: v1.9.0...v1.10.0