esp-ppq is an offline quantization tools
Project description
ESP-PPQ Quantization Tool
ESP-PPQ is a quantization tool based on PPQ, and its source code is fully open-sourced. Built upon PPQ, ESP-PPQ adds Espressif-customized quantizers and exporters, allowing users to select quantization rules compatible with ESP-DL for different chips and export standardized model files that can be directly loaded by ESP-DL. ESP-PPQ is fully compatible with all PPQ APIs and quantization scripts.
For more details on quantization principles, please refer to the PPQ documentation and videos. For instructions on using ESP-PPQ, see How to quantize model.
Installation (安装方法)
-
Install CUDA from CUDA Toolkit
-
Install Complier
apt-get install ninja-build # for debian/ubuntu user
yum install ninja-build # for redhat/centos user
For Windows User:
(1) Download ninja.exe from https://github.com/ninja-build/ninja/releases, add it to Windows PATH.
(2) Install Visual Studio 2019 from https://visualstudio.microsoft.com.
(3) Add your C++ compiler to Windows PATH Environment, if you are using Visual Studio, it should be like "C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86"
(4) Update PyTorch version to >=2.0.0.
- Install PPQ
Method 1: Install the package using pip
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install esp-ppq
Method 2: Install from source with pip to stay synchronized with the master branch
git clone https://github.com/espressif/esp-ppq.git
cd esp-ppq
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -e .
Method 3: Install the package using uv
uv pip install "esp-ppq[cpu]" --torch-backend=cpu
# GPU
# uv pip install "esp-ppq[cpu]" --torch-backend=cu124
# AMD GPU
# uv pip install "esp-ppq[cpu]" --torch-backend=rocm6.2
# Intel XPU
# uv pip install "esp-ppq[cpu]" --torch-backend=xpu
Method 4: Install from source using uv to stay in sync with the master branch
git clone https://github.com/espressif/esp-ppq.git
cd esp-ppq
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
uv pip install -e .
Method 5: Use esp-ppq with docker:
docker build -t esp-ppq:your_tag https://github.com/espressif/esp-ppq.git
[!NOTE]
- The example code installs the Linux PyTorch CPU version. Please install the appropriate PyTorch version based on your actual needs.
- If installing the package with uv, simply modify the
--torch-backendparameter, which will override the PyTorch URLs index configured in the project.
License
This project is distributed under the Apache License, Version 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file esp_ppq-1.2.9.tar.gz.
File metadata
- Download URL: esp_ppq-1.2.9.tar.gz
- Upload date:
- Size: 443.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b61eb3d15203d0957dd92f8a5be33e20b24f200e1bf446f03561210a375e740
|
|
| MD5 |
a550c64ec7814a69d1fdac77595d7cae
|
|
| BLAKE2b-256 |
cecdeed8bcdf69aab996e53ab3ba4c42909454353c9ae3376dbe15e3ae24dbde
|
File details
Details for the file esp_ppq-1.2.9-py3-none-any.whl.
File metadata
- Download URL: esp_ppq-1.2.9-py3-none-any.whl
- Upload date:
- Size: 623.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3eb0e9c450d2e3796b77454b4f3822cde83c8dda08481b9b1317fff0939bdf0d
|
|
| MD5 |
22d8d7ae18549ef80dd2bf9f67e73abd
|
|
| BLAKE2b-256 |
41282bb5b1e35664555adde3d27904eb9379b36b91410eca21ae758452b6fe54
|