mct-quantizers-nightly


Namemct-quantizers-nightly JSON
Version 1.6.0.20250901.post1744 PyPI version JSON
download
home_pageNone
SummaryInfrastructure for support neural networks compression
upload_time2025-09-01 00:17:47
maintainerNone
docs_urlNone
authorNone
requires_python>=3.6
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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:

1. `QuantizationWrapper`: This object takes a layer with weights and a set of weight quantizers to infer a quantized layer.
2. `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.

<img src="https://github.com/sony/mct_quantizers/raw/main/quantization_infra.png" width="700">

## Quantizers:

The library provides the "Inferable Quantizer" interface for implementing new quantizers. 
This interface is based on the [`BaseInferableQuantizer`](https://github.com/sony/mct_quantizers/blob/main/mct_quantizers/common/base_inferable_quantizer.py) 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:
1. [Keras Quantizers](https://github.com/sony/mct_quantizers/tree/main/mct_quantizers/keras/quantizers)
2. [Pytorch Quantizers](https://github.com/sony/mct_quantizers/tree/main/mct_quantizers/pytorch/quantizers)

### The mark_quantizer Decorator

The [`@mark_quantizer`](https://github.com/sony/mct_quantizers/blob/main/mct_quantizers/common/base_inferable_quantizer.py) 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`](https://github.com/sony/mct_quantizers/blob/main/mct_quantizers/common/base_inferable_quantizer.py): An Enum that indicates whether the quantizer is intended for weights or activations quantization.
 - [`QuantizationMethod`](https://github.com/sony/mct_quantizers/blob/main/mct_quantizers/common/quant_info.py): A list of quantization methods (Uniform, Symmetric, etc.).
 - `identifier`: A unique identifier for the quantizer class. 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

#### From PyPi - mct-quantizers package
To install the latest stable release of MCT Quantizer from PyPi, run the following command:
```
pip install mct-quantizers
```

If you prefer to use the nightly package (unstable version), you can install it with the following command:
```
pip install mct-quantizers-nightly
```

#### From Source
To work with the MCT Quantizers source code, follow these steps:
```
git clone https://github.com/sony/mct_quantizers.git
cd mct_quantizers
python setup.py install
```

### 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 package:
[tensorflow](https://www.tensorflow.org/install),

For use with PyTorch, please install the following package:
[torch](https://pytorch.org/)

You can also use the [requirements](https://github.com/sony/mct_quantizers/blob/main/requirements.txt) file to set up your environment.

## License
[Apache License 2.0](https://github.com/sony/mct_quantizers/blob/main/LICENSE.md).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mct-quantizers-nightly",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "ssi-dnn-dev@sony.com",
    "download_url": "https://files.pythonhosted.org/packages/7b/4e/daa564ed2dd19f208a6188e0cbff03aa2e2c7a8e53ff1cc434e4949efac9/mct_quantizers_nightly-1.6.0.20250901.post1744.tar.gz",
    "platform": null,
    "description": "# Model Compression Toolkit (MCT) Quantizers\n\nThe MCT Quantizers library is an open-source library developed by researchers and engineers working at Sony Semiconductor Israel. \n\nIt 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.\n\n## High level description:\n\nThe library's quantizers interface consists of two main components:\n\n1. `QuantizationWrapper`: This object takes a layer with weights and a set of weight quantizers to infer a quantized layer.\n2. `ActivationQuantizationHolder`: An object that holds an activation quantizer to be used during inference.\n\nUsers can set the quantizers and all the quantization information for each layer by initializing the weights_quantizer and activation_quantizer API.\n\nPlease note that the quantization wrapper and the quantizers are framework-specific.\n\n<img src=\"https://github.com/sony/mct_quantizers/raw/main/quantization_infra.png\" width=\"700\">\n\n## Quantizers:\n\nThe library provides the \"Inferable Quantizer\" interface for implementing new quantizers. \nThis interface is based on the [`BaseInferableQuantizer`](https://github.com/sony/mct_quantizers/blob/main/mct_quantizers/common/base_inferable_quantizer.py) class, which allows the definition of quantizers used for emulating inference-time quantization.\n\nOn top of `BaseInferableQuantizer` the library defines a set of framework-specific quantizers for both weights and activations:\n1. [Keras Quantizers](https://github.com/sony/mct_quantizers/tree/main/mct_quantizers/keras/quantizers)\n2. [Pytorch Quantizers](https://github.com/sony/mct_quantizers/tree/main/mct_quantizers/pytorch/quantizers)\n\n### The mark_quantizer Decorator\n\nThe [`@mark_quantizer`](https://github.com/sony/mct_quantizers/blob/main/mct_quantizers/common/base_inferable_quantizer.py) 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:\n - [`QuantizationTarget`](https://github.com/sony/mct_quantizers/blob/main/mct_quantizers/common/base_inferable_quantizer.py): An Enum that indicates whether the quantizer is intended for weights or activations quantization.\n - [`QuantizationMethod`](https://github.com/sony/mct_quantizers/blob/main/mct_quantizers/common/quant_info.py): A list of quantization methods (Uniform, Symmetric, etc.).\n - `identifier`: A unique identifier for the quantizer class. This is a helper property that allows the creation of advanced quantizers for specific tasks.\n \n## Getting Started\n\nThis 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.\n\n### Installation\n\n#### From PyPi - mct-quantizers package\nTo install the latest stable release of MCT Quantizer from PyPi, run the following command:\n```\npip install mct-quantizers\n```\n\nIf you prefer to use the nightly package (unstable version), you can install it with the following command:\n```\npip install mct-quantizers-nightly\n```\n\n#### From Source\nTo work with the MCT Quantizers source code, follow these steps:\n```\ngit clone https://github.com/sony/mct_quantizers.git\ncd mct_quantizers\npython setup.py install\n```\n\n### Requirements\n\nTo use MCT Quantizers, you need to have one of the supported frameworks, Tensorflow or PyTorch, installed.\n\nFor use with Tensorflow, please install the following package:\n[tensorflow](https://www.tensorflow.org/install),\n\nFor use with PyTorch, please install the following package:\n[torch](https://pytorch.org/)\n\nYou can also use the [requirements](https://github.com/sony/mct_quantizers/blob/main/requirements.txt) file to set up your environment.\n\n## License\n[Apache License 2.0](https://github.com/sony/mct_quantizers/blob/main/LICENSE.md).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Infrastructure for support neural networks compression",
    "version": "1.6.0.20250901.post1744",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4898c0e1b47e66e81583a9259aad1a6579f8d18925cc036daf1e07b319ebe84d",
                "md5": "57bd8bae6c27f67b992710bb05b62c1b",
                "sha256": "b159719773097d58e09218868a174dde118d1dd57fe3898891519772416a634e"
            },
            "downloads": -1,
            "filename": "mct_quantizers_nightly-1.6.0.20250901.post1744-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "57bd8bae6c27f67b992710bb05b62c1b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 108100,
            "upload_time": "2025-09-01T00:17:45",
            "upload_time_iso_8601": "2025-09-01T00:17:45.648177Z",
            "url": "https://files.pythonhosted.org/packages/48/98/c0e1b47e66e81583a9259aad1a6579f8d18925cc036daf1e07b319ebe84d/mct_quantizers_nightly-1.6.0.20250901.post1744-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7b4edaa564ed2dd19f208a6188e0cbff03aa2e2c7a8e53ff1cc434e4949efac9",
                "md5": "eb70184c01574ff9b413eb450f79a90a",
                "sha256": "aa3aa92c0f4bf5c01d93cf9d320b55a3c2da8e96746a6a42258a6b668889f704"
            },
            "downloads": -1,
            "filename": "mct_quantizers_nightly-1.6.0.20250901.post1744.tar.gz",
            "has_sig": false,
            "md5_digest": "eb70184c01574ff9b413eb450f79a90a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 48335,
            "upload_time": "2025-09-01T00:17:47",
            "upload_time_iso_8601": "2025-09-01T00:17:47.642534Z",
            "url": "https://files.pythonhosted.org/packages/7b/4e/daa564ed2dd19f208a6188e0cbff03aa2e2c7a8e53ff1cc434e4949efac9/mct_quantizers_nightly-1.6.0.20250901.post1744.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-01 00:17:47",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "mct-quantizers-nightly"
}
        
Elapsed time: 0.79318s