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](https://github.com/sony/mct_quantizers/blob/main/README.md) 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