Installation¶
This page provides instructions for installing the latest version of AIMET across supported frameworks: ONNX, PyTorch.
Please select one installation method that best suits your environment:
PyPI¶
Install AIMET from PyPI
pip install aimet-onnx
# Optional: To accelerate quantization with CUDA
pip install onnxruntime-gpu
pip install aimet-torch
Note
aimet_tf is not available on PyPI, please download aimet_tf package from https://github.com/qualcomm/aimet/releases
Alternative packages¶
Install the latest version of AIMET for supported framework and compute platforms including ONNX and PyTorch from the .whl files hosted at https://github.com/qualcomm/aimet/releases.
Supported platforms¶
Both packages support Python 3.10+ (tested through 3.13). The table below shows how each package is obtained per platform.
Platform |
aimet-torch |
aimet-onnx |
|---|---|---|
Linux (x86-64, Ubuntu 22.04 and above) |
Prebuilt wheel |
Prebuilt wheel |
Windows |
Prebuilt wheel |
Prebuilt wheel (x86-64, ARM64) |
macOS (Apple Silicon) |
Prebuilt wheel |
Build from source |
Note
aimet-torch is pure Python (py310-none-any), so one wheel installs on
every platform, though it is CI-tested only on Linux. aimet-onnx ships a
compiled extension, so it has per-platform wheels. All wheels use the
CPython stable ABI (cp310-abi3) and run on Python 3.10+ (tested through 3.13).
CUDA (GPU) acceleration¶
CUDA 12.x is validated for aimet-torch and aimet-onnx on Linux (x86-64), using
the +cu126 wheels. Windows and macOS builds are CPU-only. GPU acceleration
additionally requires:
Nvidia GPU card (Compute capability 5.2 or later)
Nvidia driver version 455 or later (using the latest driver is recommended; both CUDA and cuDNN are supported)
Choose and install a package¶
Use one of the following commands to install AIMET based on your choice of framework and compute platform.
All wheels below use the CPython stable ABI (cp310-abi3) and install on any Python 3.10+ interpreter
without needing a version-specific URL.
Linux (x86-64), with CUDA 12.x:
python3 -m pip install https://github.com/qualcomm/aimet/releases/download/2.35.0/aimet_onnx-2.35.0+cu126-cp310-abi3-manylinux_2_34_x86_64.whl
Linux (x86-64), CPU only:
python3 -m pip install https://github.com/qualcomm/aimet/releases/download/2.35.0/aimet_onnx-2.35.0+cpu-cp310-abi3-manylinux_2_34_x86_64.whl
Windows (x86-64), CPU only:
python -m pip install https://github.com/qualcomm/aimet/releases/download/2.35.0/aimet_onnx-2.35.0+cpu-cp310-abi3-win_amd64.whl
Windows (ARM64), CPU only:
python -m pip install https://github.com/qualcomm/aimet/releases/download/2.35.0/aimet_onnx-2.35.0+cpu-cp310-abi3-win_arm64.whl
With CUDA 12.x:
python3 -m pip install https://github.com/qualcomm/aimet/releases/download/2.35.0/aimet_torch-2.35.0+cu126-py310-none-any.whl
With CPU only:
python3 -m pip install https://github.com/qualcomm/aimet/releases/download/2.35.0/aimet_torch-2.35.0+cpu-py310-none-any.whl
Verifying the installation¶
Verify your installation using the following instructions.
Step 1: Handle imports and other setup.
import numpy as np
from aimet_common import libpymo
x = np.random.randn(100)
quant_scheme = libpymo.QuantizationMode.QUANTIZATION_TF
analyzer = libpymo.EncodingAnalyzerForPython(quant_scheme)
Step 2: Compute scale and offset.
bitwidth = 8
is_symmetric, strict_symmetric, unsigned_symmetric = True, False, True
use_cuda = False
analyzer.updateStats(x, use_cuda)
encoding, _ = analyzer.computeEncoding(bitwidth, is_symmetric, strict_symmetric, unsigned_symmetric)
print(f'Min: {encoding.min}, Max: {encoding.max}, Scale(delta): {encoding.delta}, Offset: {encoding.offset}')
The encodings values should be similar to the one shown below.
Min: -3.3734087606114667, Max: 3.3470540046691895, Scale(delta): 0.026354755942277083, Offset: -128.0
Step 3: Perform quantize-dequantize.
quantizer = libpymo.TensorQuantizationSimForPython()
out = quantizer.quantizeDequantize(x,
encoding,
libpymo.RoundingMode.ROUND_NEAREST,
bitwidth,
use_cuda)
print(out)
The quantized-dequantized output should be similar to the one shown below.
[-1.291383 0.36896658 1.0541903 -1.2123188 -2.2137995 1.2650282
-0.23719281 0.10541902 0.50074035 -0.05270951 -0.94877124 0.
0.10541902 0.52709514 -0.7115784 2.2401543 -0.34261182 2.0293162
0.34261182 -0.6061594 -0.36896658 -0.6588689 -1.5022211 -0.10541902
-1.4758663 -0.8433522 0.7115784 -0.23719281 0.44803086 -0.94877124
0.18448329 -1.0014807 0.55344987 -0.13177378 0.15812853 -0.7115784
-0.4216761 1.1068997 -0.07906426 1.6603496 0.55344987 -0.47438562
-0.6325141 0.4216761 -1.4495116 1.5549306 -0.6325141 -1.2123188
0.50074035 1.291383 0.07906426 -1.2123188 -2.0820258 1.0014807
-0.18448329 -0.4216761 1.0278355 -0.21083805 0.52709514 1.6867044
-0.68522364 1.0278355 -0.55344987 -0.26354757 0.10541902 -0.02635476
0.6588689 -0.34261182 -0.05270951 3.347054 0.07906426 -1.080545
-0.57980466 1.4231569 -0.6588689 1.291383 -0.13177378 0.31625706
-0.36896658 0.05270951 -0.81699747 -1.4231569 -1.1068997 -0.68522364
0.7115784 -1.2650282 -0.7115784 0.50074035 0.28990233 -0.73793316
0.21083805 2.4246376 -0.15812853 0.52709514 -0.02635476 -0.13177378
-1.8711877 0.4216761 -0.55344987 -0.76428795]
Old versions¶
You can also view the release notes for older AIMET versions at https://github.com/qualcomm/aimet/releases. Follow the documentation corresponding to that release to select and install the appropriate AIMET package.
Building from source¶
For most users, the recommended way to install AIMET is by using the pre-built package available through the pip package manager, as it provides the most straightforward and reliable experience.
However, if you prefer to work with the latest source code or plan to contribute to AIMET development, you’ll need to build it from source. To do so, follow the steps outlined for building the latest AIMET codebase manually, see Build AIMET from source.