le mie informazioni di contatto
Posta[email protected]
2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Documentazione di riferimento: https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/tutorials/index.html
Questo caso introduce il processo completo di utilizzo del modello di distribuzione TVM. Questo progetto è basato sul ramo TVM v0.14.0 ed è in stato sperimentale. Al momento non sono previsti piani per un'ulteriore manutenzione iterativa. Attualmente è connesso solo l'operatore conv2d di ESP-DL e altri operatori potrebbero causare eccezioni.
Preparare
ESP-DL è un framework di inferenza di deep learning adattato ai chip della serie ESP. Questa libreria non può completare l'addestramento del modello. Gli utenti possono utilizzare TensorFlow, PyTorch e altre piattaforme di addestramento per addestrare il modello e quindi distribuire il modello tramite ESP-DL.
Il processo specifico è
Innanzitutto, converti il modello addestrato come tensorflowPyTorch. Prendendo come esempio la piattaforma TensorFlow, puoi utilizzare tf2onnx nello script per convertire il modello TensorFlow addestrato nel formato del modello ONNX.
Verranno poi eseguite una serie di operazioni sul modello float32 per prepararlo alla quantificazione.
Quindi utilizzare lo strumento di quantizzazione per accettare il modello float32 preelaborato come input e generare un modello di quantizzazione int8.
Passaggio 2.1: prepararsi per accedere a
Preparare un'immagine di input La dimensione dell'immagine di input deve essere coerente con la dimensione di input del modello ONNX ottenuto. La dimensione di input del modello può essere visualizzata tramite lo strumento Netron.
Passaggio 2.2: generazione del progetto di distribuzione
Utilizza TVM per generare automaticamente un progetto per eseguire l'inferenza del modello dato l'input.
Passaggio 3.1: eseguire l'inferenza
La struttura del file di progetto new_project generato nel passaggio precedente è la seguente:
├── CMakeLists.txt
├── componenti
│ ├── esp-dl
│ └── modello_tvm
│ ├── CMakeLists.txt
│ ├── crt_config
│ └── modello
├── principale
│ ├── app_main.c
│ ├── dati_di_input.h
│ ├── dati_di_uscita.h
│ └── CMakeLists.txt
├── partizioni.csv
├── sdkconfig.default
├── sdkconfig.defaults.esp32
├── sdkconfig.defaults.esp32s2
├── sdkconfig.defaults.esp32s3
Dopo aver configurato l'ambiente ESP-IDF del terminale (notare la versione di ESP-IDF), è possibile eseguire il progetto:
idf.py imposta-target esp32s3
monitor flash idf.py
Passaggio 3.2: debug