Model Compression Toolkit (MCT) Quantizers
The MCT Quantizers library is an open-source library developed by researchers and engineers working at Sony Semiconductor Israel.
It provides tools for easily representing a quantized neural network in both Keras and PyTorch. The library offers researchers, developers, and engineers a set of useful quantizers, along with a simple interface for implementing new custom quantizers.
High level description:
The library's quantizers interface consists of two main components:
QuantizationWrapper: This object takes a layer with weights and a set of weight quantizers to infer a quantized layer.ActivationQuantizationHolder: An object that holds an activation quantizer to be used during inference.
Users can set the quantizers and all the quantization information for each layer by initializing the weights_quantizer and activation_quantizer API.
Please note that the quantization wrapper and the quantizers are framework-specific.
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.
On top of BaseInferableQuantizer the library defines a set of framework-specific quantizers for both weights and activations:
The 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 the following properties:
QuantizationTarget: An Enum that indicates whether the quantizer is intended for weights or activations quantization.QuantizationMethod: A list of quantization methods (Uniform, Symmetric, etc.).quantizer_type: An optional property that defines the type of the quantization technique. This is a helper property that allows the creation of advanced quantizers for specific tasks.
Getting Started
This section provides a quick guide to getting started. We begin with the installation process, either via source code or the pip server. Then, we provide a short example of usage.
Installation
Please refer to the MCT install guide for installing the pip package or building from the source.
From Source
git clone https://github.com/sony/mct_quantizers.git
python setup.py install
From PyPi - nightly package
Currently, only a nightly released package (unstable) is available via PyPi.
pip install mct-quantizers-nightly
Requirements
To use MCT Quantizers, you need to have one of the supported frameworks, Tensorflow or PyTorch, installed.
For use with Tensorflow, please install the following packages: tensorflow, tensorflow-model-optimization
For use with PyTorch, please install the following package: torch
You can also use the requirements file to set up your environment.
License
Metadata
Release files for mct-quantizers-nightly 1.0.0.420230611.post1147
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mct-quantizers-nightly-1.0.0.420230611.post1147.tar.gz | 32.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mct_quantizers_nightly-1.0.0.420230611.post1147-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 109.9 kB
Release files / mct-quantizers-nightly-1.0.0.420230611.post1147.tar.gz
| Download URL | mct-quantizers-nightly-1.0.0.420230611.post1147.tar.gz |
|---|---|
| Size | 32.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6a27fc62a271c06de989680fc9f2df635d20b39b31abf386bbc8f0490f56dd60
|
|
BLAKE2b-256 checksum How to use checksums |
5e59f942392a88a2f114819b9c2bc4843fb0654d9fccafe4015c982d4fad2d93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.16
|
Release files / mct_quantizers_nightly-1.0.0.420230611.post1147-py3-none-any.whl
| Download URL | mct_quantizers_nightly-1.0.0.420230611.post1147-py3-none-any.whl |
|---|---|
| Size | 77.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aca600d7778e179b4c4ceadddcf8269b2182f393287484f3a876dcde7fdbcaa9
|
|
BLAKE2b-256 checksum How to use checksums |
8f5f956ae2aee81667eb6e47f8f5c26a516e08a30625605f59d16c9c3323f196
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.16
|