Introduction
ESP-DL is a library for high-performance deep learning resources dedicated to ESP32, ESP32-S2, ESP32-S3 and ESP32-C3.
Overview
ESP-DL provides APIs for Neural Network (NN) Inference, Image Processing, Math Operations and some Deep Learning Models. With ESP-DL, you can use Espressif’s SoCs for AI applications easily and fast.
As ESP-DL does not need any peripherals, it can be used as a component of some projects. For example, you can use it as a component of ESP-WHO, which contains several project-level examples of image application. The figure below shows what ESP-DL consists of and how ESP-DL is implemented as a component in a project.
Get Started with ESP-DL
For setup instructions to get started with ESP-DL, please read Getting Started with ESP-DL.
Please use the ESP-IDF on version 5.0 or above.
Try Models in the Model Zoo
ESP-DL provides some model APIs in the model_zoo , such as Human Face Detection, Human Face Recognition, Cat Face Detection, etc. You can use these models in the table below out of box.
Name |
API Example |
---|---|
Human Face Detection |
|
Human Face Recognition |
|
Cat Face Detection |
Deploy a Model
To deploy a model, please proceed to Tutorials, where the instructions with three runnable examples will quickly help you design your model.
When you read the instructions, the following materials might be helpful:
DL API
Variables and Constants: information about
variable: tensors
constants: filters, biases, and activations
Customizing Layers: instructions on how to customize a layer.
API Documentation : guides to provided API about Layer, Neural Network (NN), Math and tools.
For API documentation, please refer to annotations in header files for the moment.
Platform Conversion
TVM(Recommended): Use AI compiler TVM to deploy AI model,More information about TVM please refer to TVM
Quantization Toolkit: a tool for quantizing floating-point models and evaluating quantized models on ESP SoCs
Toolkit: see Quantization Toolkit Overview
Toolkit API: see Quantization Toolkit APIs
Convert Tool: the tool and configuration file for floating-point quantization on
coefficient.npy
config.json
: see Specification of config.jsonconvert.py
: see Usage of convert.pyconvert.py
requires Python 3.7 or versions higher.
Software and Hardware Boost
Quantization Specification: rules of floating-point quantization
Feedback
For feature requests or bug reports, please submit an issue. We will prioritize the most anticipated features.