Skip to main content

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 (安装方法)

  1. Install CUDA from CUDA Toolkit

  2. 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.

  1. 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-backend parameter, which will override the PyTorch URLs index configured in the project.

License

This project is distributed under the Apache License, Version 2.0.

Download files

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

Source Distribution

esp_ppq-1.3.7.tar.gz (485.8 kB view details)

Uploaded Source

Built Distribution

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

esp_ppq-1.3.7-py3-none-any.whl (671.6 kB view details)

Uploaded Python 3

File details

Details for the file esp_ppq-1.3.7.tar.gz.

File metadata

  • Download URL: esp_ppq-1.3.7.tar.gz
  • Upload date:
  • Size: 485.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for esp_ppq-1.3.7.tar.gz
Algorithm Hash digest
SHA256 c7caa6de20fe0c64257a7a07c81a1c103ad0c53f1aeb2430fa2f944538827ec0
MD5 708407956e1489be8f4e6da13632da96
BLAKE2b-256 9ed7db63048f2a971afec19d7465ac4821a463833e6502a47fb0fbe99ae373da

See more details on using hashes here.

File details

Details for the file esp_ppq-1.3.7-py3-none-any.whl.

File metadata

  • Download URL: esp_ppq-1.3.7-py3-none-any.whl
  • Upload date:
  • Size: 671.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for esp_ppq-1.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 9b6e7e08762d0ceefed37295803628ad0ad95144bfdd66d1fb3e87abf885f7e8
MD5 7d195150a756b9216fdbc528c0d8ed56
BLAKE2b-256 fa3da5cb5d414d7f3244d5b88c4aa8962c5c7718ce2ea698fbe7927b5eec1ba5

See more details on using hashes here.

Release history Release notifications | RSS feed

1.3.11

2 files

1.3.10

2 files

1.3.9

2 files

1.3.8

2 files

This release

1.3.7 This release

2 files

1.3.6

2 files

1.3.5

2 files

1.3.4

2 files

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.12

2 files

1.2.11

2 files

1.2.10

2 files

1.2.9

2 files

1.2.8

2 files

1.2.7

2 files

1.2.6

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1.1

2 files

0.2.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page