Releases: sony/mct_quantizers
Release v1.5.2
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
What's Changed
- Updated requirements file to restrict numpy version to below 2.0.
Release 1.5.0
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
andget_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 layerMetadataLayer
. - Added support for quantizing constants with KerasQuantizationWrapper and PytorchQuantizationWrapper.
Breaking Changes
- Removed
KMEANS
from QuantizationMethod.
Contributors
@ofirgo, @reuvenperetz, @Chizkiyahu & @elad-c
Full Changelog: v1.4.0...v1.5.0
v1.4.0
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
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
- @lior-dikstein made their first contribution in #60
Full Changelog: v1.2.0...v1.3.0
Release v1.2.0
What's Changed
- MCT Quantizers now officially supports tensorflow version 2.12.
- Replaced
quantizer_type
property withidentity
property in@mark_quantizer
.- New unique identifier
QuantizerID.INFERABLE
for inferable quantizers. - This allows retrieving inferable quantizers via
get_inferable_quantizer_class
API without conflicting with other quantizers that my be defined in an external (user) environment.
- New unique identifier
- All dependencies in the tensorflow-model-optimization package have been removed.
Contributors
New Contributors
- @Chizkiyahu made their first contribution in #34
Full Changelog: v1.1.0...v1.2.0
Release v1.1.0
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 ofBaseInferableQuantizer
. -
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 likeQuantizationTarget
,QuantizationMethod
, andquantizer_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