ESP-DL [中文]
ESP-DL is a library for high-performance deep learning resources dedicated to ESP32, ESP32-S2, ESP32-S3 and ESP32-C3.
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.
For setup instructions to get started with ESP-DL, please read Get Started.
Please use the release/v4.4 ESP-IDF on master branch.
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 | ESP-DL/examples/human_face_detect |
Human Face Recognition | ESP-DL/examples/face_recognition |
Cat Face Detection | ESP-DL/examples/cat_face_detect |
To customize a model, please proceed to Customize a Model Step by Step, where the instructions with two runnable examples will quickly help you design your model.
When you read the instructions, the following materials might be helpful:
-
DL API
-
About Variables and Constants: information about
- variable: tensors
- constants: filters, biases, and activations
-
Customize a Layer Step by Step: 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
-
Quantization Toolkit: a tool for quantizing floating-point models and evaluating quantized models on ESP SoCs
- Toolkit: see Quantization Toolkit
- Toolkit API: see Quantization Toolkit API
-
Convert Tool: the tool and configuration file for floating-point quantization on coefficient.npy
- config.json: see Specification of config.json
- convert.py: see Usage of convert.py
convert.py requires Python 3.7 or versions higher.
-
-
Software and Hardware Boost
- Quantization Specification: rules of floating-point quantization
Q&A lists answers to frequently asked questions.
For feature requests or bug reports, please submit an issue. We will prioritize the most anticipated features.