Compartilhamento de tecnologia

18 episódios do tutorial de aprendizado profundo ESP-DL para aprender ESP32 - "MCU Embedded AI Development Notes"

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

18 episódios do tutorial de aprendizado profundo ESP-DL para aprender ESP32 - "MCU Embedded AI Development Notes"

Documento de referência: https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/tutorials/index.html
Insira a descrição da imagem aqui

Use o TVM para gerar automaticamente projetos de implantação de modelo

Este caso apresenta o processo completo de utilização do modelo de implantação TVM. Este projeto é baseado na ramificação TVM v0.14.0 e está em estado experimental. Atualmente não há planos para manutenção iterativa adicional. Atualmente, apenas o operador conv2d do ESP-DL está conectado e outros operadores podem causar exceções.

Preparar
ESP-DL é uma estrutura de inferência de aprendizado profundo adaptada à série de chips ESP. Esta biblioteca não pode concluir o treinamento do modelo. Os usuários podem usar TensorFlow, PyTorch e outras plataformas de treinamento para treinar o modelo e, em seguida, implantar o modelo por meio de ESP-DL.
O processo específico é

Passo 1 Quantificar

Primeiro, converta o modelo treinado como tensorflowPyTorch Tomando a plataforma TensorFlow como exemplo, você pode usar tf2onnx no script para converter o modelo TensorFlow treinado no formato do modelo ONNX.
Uma série de operações será então realizada no modelo float32 para prepará-lo para quantificação.
Em seguida, use a ferramenta de quantização para aceitar o modelo float32 pré-processado como entrada e gerar um modelo de quantização int8.

Etapa 2: implantar o modelo

Passo 2.1: Prepare-se para entrar 
Prepare uma imagem de entrada O tamanho da imagem de entrada deve ser consistente com o tamanho de entrada do modelo ONNX obtido. O tamanho de entrada do modelo pode ser visualizado através da ferramenta Netron.

Etapa 2.2: Geração do projeto de implantação
Use o TVM para gerar automaticamente um projeto para executar a inferência do modelo com base na entrada.

Etapa 3: execute o modelo

Etapa 3.1: executar inferência
A estrutura do arquivo de projeto new_project gerado na etapa anterior é a seguinte:

├── CMakeLists.txt
├── componentes
│ ├── esp-dl
│ └── tvm_model
│ ├── CMakeLists.txt
│ ├── crt_config
│ └── modelo
├── principal
│ ├── aplicativo_main.c
│ ├── dados_de_entrada.h
│ ├── dados_de_saída.h
│ └── CMakeLists.txt
├── partições.csv
├── sdkconfig.padrões
├── sdkconfig.defaults.esp32
├── sdkconfig.defaults.esp32s2
├── sdkconfig.defaults.esp32s3
Após configurar o ambiente do terminal ESP-IDF (observe a versão do ESP-IDF), você pode executar o projeto:

idf.py definir-alvo esp32s3
monitor flash idf.py
Etapa 3.2: depuração