Skip to content
项目

espressif/esp-dl has 1,222 GitHub stars and 233 forks. GitHot measured +1 stars in 24 hours and +13 in 7 days. Last checked 2026-11-13 03:23 UTC. Last push 2026-10-30.

这些数字如何统计

Espressif deep-learning library for AIoT applications

实测星标增长

24小时
+1
7天
+13
15天
正在收集历史
1个月
正在收集历史

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

README_cn.md

原文

ESP-DL [English]

Documentation Status Component Registry

ESP-DL 是一个专为 ESP 系列芯片设计的轻量级且高效的神经网络推理框架。通过 ESP-DL,您可以轻松快速地使用乐鑫的系统级芯片 (SoC) 开发 AI 应用。

Overview

ESP-DL 提供了加载、调试和运行 AI 模型的 API。该框架易于使用,并且可以与其他乐鑫 SDK 无缝集成。ESP-PPQ 作为 ESP-DL 的量化工具,能够量化来自 ONNX、Pytorch 和 TensorFlow 的模型,并将其导出为 ESP-DL 标准模型格式。

  • ESP-DL 标准模型格式: 该格式类似于 ONNX,但使用 FlatBuffers 而不是 Protobuf,使其更轻量级并支持零拷贝反序列化,文件后缀为.espdl。

  • 灵活混合量化: ESP-DL 支持 8bit (w8a8)、16bit (w16a16) 以及混合精度 (w8a16) 三种量化方式,可在模型中任意组合使用,在保持模型精度的同时最大化推理效率。

  • 高效算子实现: ESP-DL 高效地实现了常见的 AI 算子,如 Conv、Pool、Gemm、Add 和 Mul等。目前算子支持状态。部分算子在 ESP32-S3 和 ESP32-P4 上的性能测试数据请参考 benchmark_report.md。

  • 静态内存规划器: 内存规划器根据用户指定的内部 RAM 大小,自动将不同层分配到最佳内存位置,确保高效的整体运行速度同时最小化内存使用。

  • 双核调度: 自动双核调度允许计算密集型算子充分利用双核计算能力。目前,Conv2D 和 DepthwiseConv2D 支持双核调度。

  • 8bit LUT Activation: 除了Relu, PRelu(n>1)之外的所有激活函数,ESP-DL 默认使用 8bit LUT(Look Up Table)方式实现,以加速推理。

更新

  • [2026/10/15] 近期对 Conv、Gemm、MatMul、Resize、Reduce、LUT、Transpose、Pooling 等大量算子进行了优化。MobileNetV2、YOLO11 等模型在 ESP32-S3 上获得 3 倍以上加速,在 ESP32-P4 上获得 1.9 倍以上加速。感谢 Hosi121、BoumedineBillal 等的贡献。
  • [2026/9/1] 从 ESP-DL v3.3.11 开始全面支持 w8a16 混合量化方法。
  • [2026/7/30] 新增 PP-OCRv6 OCR 模型及 示例,在 ESP32-P4 上端侧识别中文、英文及 46 种拉丁字母文字。
  • [2026/6/5] 添加 esp32s3-pie-simd 和 esp32p4-pie-simd两个skills, 方便code agent将代码重写为PIE指令加速版本。
  • [2026/5/13] 推出 espdl-quantize skill,自动迭代搜索最优 esp-ppq 量化策略,降低人工调参成本并提升量化模型精度。详见 how_to_use_espdl_quantize_skill.rst。
  • [2026/4/23] 支持使用AutoQuant进行模型量化,该工具自动探索最优量化策略与参数配置,从而降低人工调参成本。详见AutoQuant使用文档:how_to_use_AutoQuant.rst.
  • [2026/4/20] ESP32-P4 的 Conv 和 Gemm 算子升级为 per-channel 量化,显著提升模型精度。注意:需依赖 ESP-PPQ ≥ 1.2.10 及 ESP-DL ≥ 3.3.1。新版 ESP-DL 保持向后兼容,原有 per-tensor 模型不受影响。
  • [2026/3/12] 新增 YOLO26 模型,感谢 BoumedineBillal 的贡献。开始训练和部署您的 YOLO26 模型。
  • [2026/3/11] ESP-DL Agent Tool 已更新为 espdl-operator skill,让 AI Agent 实现算子更加便捷。参见 how_to_implement_operators_with_ai_agent.rst。
  • [2026/2/27] 支持使用TrainedQuantizedThresholdPass量化模型。参见 quantize_model_with_TQT.rst.
  • [2026/1/14] 在netron中支持可视化.espdl模型,方便模型调试.
2026 年之前
  • [2025/10/20] 发布 ESP-DL v3.2.0, 进一步增强了模型量化和部署的能力。
  • [2025/07/22] 将 ESP-PPQ 的包名从 ppq 改为 esp-ppq,以避免与 ppq 冲突,同时将 ESP-PPQ 依赖包全部升级到最新版。注意: 量化脚本中需注意修改包名为esp-ppq。
  • [2025/04/30] 我们发布了全新的 esp-detection 项目和 ESPDet-Pico 模型,可轻松训练并部署目标检测模型。espdet_pico_224_224_cat 模型 和 示例 是基于 esp-detection 训练的猫咪检测模型,欢迎试用并反馈意见!
  • [2025/02/18] 新增支持 YOLO11n 模型,提供 espdl 模型 及 示例。
  • [2025/01/09] 更新了 espdl 模型架构,发布 ESP-DL v3.1.0。注意:旧版模型可被新架构加载,但新版模型不兼容旧版本。
  • [2024/12/20] 发布 ESP-DL v3.0.0。

Getting Started

软件要求

  • ESP-IDF

ESP-DL 基于 ESP-IDF 运行。有关如何获取 ESP-IDF 的详细说明,请参阅 ESP-IDF 编程指南。

请使用 ESP-IDF release/v5.3 或更高版本。

  • ESP-PPQ

ESP-PPQ 是基于 ppq 的量化工具。如果你想量化自己的模型,可以使用如下方式安装 esp-ppq,更多安装方法请参考 入门指南:

   pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
   pip install esp-ppq

[!NOTE]

  • 示例代码中安装的是 linux pytorch cpu 版本,请根据实际情况安装对应的 pytorch。

Model Quantization

首先,请参考 ESP-DL 算子支持状态,确保您的模型中的算子已经得到支持。

ESP-PPQ 可以直接读取 ONNX 模型进行量化。Pytorch 和 TensorFlow 需要先转换为 ONNX 模型,因此请确保你的模型可以转换为 ONNX 模型。更多详细信息请参阅:

如何量化模型
如何量化 MobileNetV2
如何量化 YOLO11n

Model Deployment

ESP-DL 提供了一系列 API 来快速加载和运行模型。更多详细信息,请参阅:

如何加载和测试模型
如何进行模型推理

ESP-DL Model Zoo

目录 models 包含为 ESP32 系列芯片优化的预训练和量化模型集合。每个模型都以 ESP-IDF 组件的形式提供,便于集成。更多详情请参阅 ESP-DL 模型库。

Support Operators

如果你有遇到不支持的算子,请将问题在issues中反馈给我们,我们会尽快支持。
也欢迎大家贡献新的算子, 具体方法请参考创建新模块(算子)。

算子支持状态

探索相关项目