Skip to main content

Brevitas

Downloads Pytest Examples Pytest DOI

Brevitas is a PyTorch library for neural network quantization, with support for both post-training quantization (PTQ) and quantization-aware training (QAT).

Please note that Brevitas is a research project and not an official Xilinx product.

If you like this project please consider ⭐ this repo, as it is the simplest and best way to support it.

Requirements

  • Python >= 3.10
  • Pytorch >= 1.12, <= 2.12.1 (more recent versions would be untested).
  • Windows, Linux or macOS.
  • GPU training-time acceleration (Optional but recommended).

Installation

You can install the latest release from PyPI:

pip install brevitas

Getting Started

Brevitas currently offers quantized implementations of the most common PyTorch layers used in DNN under brevitas.nn, such as QuantConv1d, QuantConv2d, QuantConvTranspose1d, QuantConvTranspose2d, QuantMultiheadAttention, QuantRNN, QuantLSTM etc., for adoption within PTQ and/or QAT. For each one of these layers, quantization of different tensors (inputs, weights, bias, outputs, etc) can be individually tuned according to a wide range of quantization settings.

As a reference for PTQ, Brevitas provides an example user flow for ImageNet classification models under brevitas_examples.imagenet_classification.ptq that quantizes an input torchvision model using PTQ under different quantization configurations (e.g. bit-width, granularity of scale, etc).

For more info, checkout our documentation.

Cite as

If you adopt Brevitas in your work, please cite it as:

@software{brevitas,
  author       = {Franco, Giuseppe and Monteagudo-Lago, Pablo and Colbert, Ian and Pappalardo, Alessandro and Fraser, Nicholas J},
  title        = {Xilinx/brevitas},
  year         = {2026},
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.3333552},
  url          = {https://doi.org/10.5281/zenodo.3333552}
}

History

  • 2026/07/14 - Release version 0.13.0, see the release notes.
  • 2025/08/28 - Release version 0.12.1, see the release notes.
  • 2025/05/09 - Release version 0.12.0, see the release notes.
  • 2024/10/10 - Release version 0.11.0, see the release notes.
  • 2024/07/23 - Minor release version 0.10.3, see the release notes.
  • 2024/02/19 - Minor release version 0.10.2, see the release notes.
  • 2024/02/15 - Minor release version 0.10.1, see the release notes.
  • 2023/12/08 - Release version 0.10.0, see the release notes.
  • 2023/04/28 - Minor release version 0.9.1, see the release notes.
  • 2023/04/21 - Release version 0.9.0, see the release notes.
  • 2023/01/10 - Release version 0.8.0, see the release notes.
  • 2021/12/13 - Release version 0.7.1, fix a bunch of issues. Added TVMCon 2021 tutorial notebook.
  • 2021/11/03 - Re-release version 0.7.0 (build 1) on PyPI to fix a packaging issue.
  • 2021/10/29 - Release version 0.7.0, see the release notes.
  • 2021/06/04 - Release version 0.6.0, see the release notes.
  • 2021/05/24 - Release version 0.5.1, fix a bunch of minor issues. See release notes.
  • 2021/05/06 - Release version 0.5.0, see the release notes.
  • 2021/03/15 - Release version 0.4.0, add support for __torch_function__ to QuantTensor.
  • 2021/03/04 - Release version 0.3.1, fix bug w/ act initialization from statistics w/ IGNORE_MISSING_KEYS=1.
  • 2021/03/01 - Release version 0.3.0, implements enum and shape solvers within extended dependency injectors. This allows declarative quantizers to be self-contained.
  • 2021/02/04 - Release version 0.2.1, includes various bugfixes of QuantTensor w/ zero-point.
  • 2021/01/30 - First release version 0.2.0 on PyPI.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brevitas-0.13.0.tar.gz (823.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brevitas-0.13.0-py3-none-any.whl (990.7 kB view details)

Uploaded Python 3

File details

Details for the file brevitas-0.13.0.tar.gz.

File metadata

  • Download URL: brevitas-0.13.0.tar.gz
  • Upload date:
  • Size: 823.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for brevitas-0.13.0.tar.gz
Algorithm Hash digest
SHA256 a34c07369363027694a127408f6be4c88d97254c0cdd260d0e2ed5eb1ecafcee
MD5 c5b62b79786f254f63b8d15855355d8b
BLAKE2b-256 43adf5e62123ea2d295bb6741d95db4c996fab805e24369e9595c8ef2ee5c4b8

See more details on using hashes here.

File details

Details for the file brevitas-0.13.0-py3-none-any.whl.

File metadata

  • Download URL: brevitas-0.13.0-py3-none-any.whl
  • Upload date:
  • Size: 990.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for brevitas-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3f393ec7addc931478d54c9e1fa7aab11c26bfe38b5613201fc8cf23742b3f03
MD5 fb9e5d6b24879d24e446ae26827f7ca0
BLAKE2b-256 cbef66f2b45bf3b0974bf96c4d0b9995e9b27708ff729688bb3291594d42a9ba

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.13.0 This release

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.1

2 files

0.9.0

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

3 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.2.1

2 files

0.2.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page