Mi informacion de contacto
Correo[email protected]
2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Documento de referencia: https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/tutorials/index.html
Este caso presenta el proceso completo de uso del modelo de implementación TVM. Este proyecto se basa en la rama TVM v0.14.0 y se encuentra en estado experimental. Actualmente no hay planes para un mayor mantenimiento iterativo. Actualmente, solo el operador conv2d de ESP-DL está conectado y otros operadores pueden causar excepciones.
Preparar
ESP-DL es un marco de inferencia de aprendizaje profundo adaptado a la serie de chips ESP. Esta biblioteca no puede completar el entrenamiento del modelo. Los usuarios pueden usar TensorFlow, PyTorch y otras plataformas de entrenamiento para entrenar el modelo y luego implementar el modelo a través de ESP-DL.
El proceso específico es
Primero, convierta el modelo entrenado como tensorflowPyTorch. Tomando la plataforma TensorFlow como ejemplo, puede usar tf2onnx en el script para convertir el modelo entrenado de TensorFlow al formato de modelo ONNX.
Luego se realizará una serie de operaciones en el modelo float32 para prepararlo para la cuantificación.
Luego use la herramienta de cuantificación para aceptar el modelo float32 preprocesado como entrada y generar un modelo de cuantificación int8.
Paso 2.1: Prepárate para entrar
Prepare una imagen de entrada. El tamaño de la imagen de entrada debe ser coherente con el tamaño de entrada del modelo ONNX obtenido. El tamaño de entrada del modelo se puede ver a través de la herramienta Netron.
Paso 2.2: Generación del proyecto de implementación
Utilice TVM para generar automáticamente un proyecto para ejecutar la inferencia del modelo dada la entrada.
Paso 3.1: ejecutar la inferencia
La estructura del archivo de proyecto new_project generado en el paso anterior es la siguiente:
├── CMakeLists.txt
├── componentes
│ ├── esp-dl
│ └── modelo_tvm
│ ├── CMakeLists.txt
│ ├── crt_config
│ └── modelo
├── principal
│ ├── aplicación_main.c
│ ├── entrada_datos.h
│ ├── datos_de_salida.h
│ └── CMakeLists.txt
├── particiones.csv
├── valores predeterminados de sdkconfig
├── sdkconfig.defaults.esp32
├── sdkconfig.defaults.esp32s2
├── sdkconfig.defaults.esp32s3
Después de configurar el entorno del terminal ESP-IDF (tenga en cuenta la versión de ESP-IDF), puede ejecutar el proyecto:
idf.py establece el objetivo esp32s3
monitor flash idf.py
Paso 3.2: Depuración