Skip to content

Releases: sony/mct_quantizers

Release v1.5.2

06 Aug 15:12
bd4008f
Compare
Choose a tag to compare

What's Changed

  • Fixed broken links in README.
  • Replaced the exception with a warning when unsupported data types are added to the metadata.

Release v1.5.1

19 Jun 12:22
3f1032d
Compare
Choose a tag to compare

What's Changed

  • Updated requirements file to restrict numpy version to below 2.0.

Release 1.5.0

11 Apr 07:12
57ddc55
Compare
Choose a tag to compare

What's Changed

  • TensorFlow 2.15 Support: MCT Quantizers now offers full compatibility with TensorFlow version 2.15.
  • Added metadata to TensorFlow\Pytorch\ONNX models: use the add_metadata and get_metadata API to access it. The metadata is a dictionary, for example: {'mctq_version': '1.5.0'}. Note that in TensorFlow the metadata is also saved in a special layer MetadataLayer.
  • Added support for quantizing constants with KerasQuantizationWrapper and PytorchQuantizationWrapper.

Breaking Changes

Contributors

@ofirgo, @reuvenperetz, @Chizkiyahu & @elad-c

Full Changelog: v1.4.0...v1.5.0

v1.4.0

18 Dec 11:57
e63fc5d
Compare
Choose a tag to compare

What's Changed

  • Updated Installation Instructions: The README has been updated to provide clearer guidelines for installing the latest stable release, nightly builds, and building from source.
  • Added support for negative channel_axis values in Keras weight quantizers.

Fixes:

  • Fixed an issue where quantization parameters such as input_rank and channel_axis were missing in scenarios where they were irrelevant, such as when using per-tensor quantization.
  • KerasQuantizationWrapper fixes:
    • Fixed an issue in KerasQuantizationWrapper where _trainable_weights and _non_trainable_weights were not handled correctly, caused by the removal of weights in some cases.
    • The convert_to_inferable_quantizers has been removed from KerasQuantizationWrapper.

Release 1.3.0

20 Sep 08:11
Compare
Choose a tag to compare

What's Changed

  • TensorFlow 2.13 and .keras File Format Support: MCT Quantizers now offers full compatibility with TensorFlow version 2.13 and the .keras file format.
  • MCT Quantizers Version Tracking. With this release, you can easily access the 'mctq_version' property within each KerasQuantizationWrapper and KerasActivationQuantizationHolder.
  • Support ONNX models export- we now support exporting models to the ONNX format. Notice this is experimental and subject to future changes.

Breaking Changes

  • LUT Quantizer Argument Improvements: We've refined the argument names for the Look-Up Table (LUT) quantizer.

Contributors

@ofirgo @reuvenperetz @Chizkiyahu @eladc-git @lior-dikstein

New Contributors

Full Changelog: v1.2.0...v1.3.0

Release v1.2.0

18 Jul 14:23
aebf916
Compare
Choose a tag to compare

What's Changed

  • MCT Quantizers now officially supports tensorflow version 2.12.
  • Replaced quantizer_type property with identity property in @mark_quantizer.
  • All dependencies in the tensorflow-model-optimization package have been removed.

Contributors

@ofirgo

New Contributors

Full Changelog: v1.1.0...v1.2.0

Release v1.1.0

15 Jun 06:46
721a86a
Compare
Choose a tag to compare

This is the first released version of this project.

Introduction

MCT Quantizers is an open-source library developed by researchers and engineers at Sony Semiconductor Israel. The library provides tools for easily representing a quantized neural network in both Keras and PyTorch. It offers a set of useful quantizers and a simple interface for implementing new custom quantizers.

Main API and Features

  • Quantization Wrapper: A framework-specific object that takes a layer with weights and a set of weight quantizers to infer a quantized layer.

  • Activation Quantization Holder: A framework-specific object that holds an activation quantizer to be used during inference.

  • Quantizers: The library provides the "Inferable Quantizer" interface for implementing new quantizers. This interface is based on the BaseInferableQuantizer class, which allows the definition of quantizers used for emulating inference-time quantization. A set of framework-specific quantizers for both weights and activations are defined on top of BaseInferableQuantizer.

  • Mark Quantizer Decorator: The @mark_quantizer decorator is used to assign each quantizer with static properties that define its task compatibility. Each quantizer class should be decorated with this decorator, which defines properties like QuantizationTarget, QuantizationMethod, and quantizer_type.

  • Load quantized model: A framework-specific API that allows loading a model that is quantized using the library's quantization interface.

Getting Started

To get started, you can install MCT Quantizers either from the source or from PyPi. See the repository's README file for more details.

Contributors

@reuvenperetz, @eladc-git, @lior-dikstein, @elad-c, @haihabi, @lapid92, @Idan-BenAmi, @ofirgo

Thank you for your interest in our project. We look forward to your contributions and feedback.

Full Changelog: https://github.com/sony/mct_quantizers/commits/v1.1.0