minhas informações de contato
Correspondência[email protected]
2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Documento de referência: https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/tutorials/index.html
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 é
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.
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.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