Κοινή χρήση τεχνολογίας

18 επεισόδια εκμάθησης βαθιάς εκμάθησης ESP-DL για εκμάθηση ESP32 - "MCU Embedded AI Development Notes"

2024-07-11

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

18 επεισόδια εκμάθησης βαθιάς εκμάθησης ESP-DL για εκμάθηση ESP32 - "MCU Embedded AI Development Notes"

Έγγραφο αναφοράς: https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/tutorials/index.html
Εισαγάγετε την περιγραφή της εικόνας εδώ

Χρησιμοποιήστε το TVM για να δημιουργήσετε αυτόματα έργα ανάπτυξης μοντέλων

Αυτή η περίπτωση εισάγει την πλήρη διαδικασία χρήσης του μοντέλου ανάπτυξης TVM. Αυτό το έργο βασίζεται στον κλάδο TVM v0.14.0 και βρίσκεται σε πειραματική κατάσταση. Δεν υπάρχουν σχέδια για περαιτέρω επαναληπτική συντήρηση. Προς το παρόν, μόνο ο τελεστής conv2d του ESP-DL είναι συνδεδεμένος και άλλοι τελεστές ενδέχεται να προκαλούν εξαιρέσεις.

Προετοιμάζω
Το ESP-DL είναι ένα πλαίσιο συμπερασμάτων βαθιάς μάθησης προσαρμοσμένο στη σειρά τσιπ ESP. Αυτή η βιβλιοθήκη δεν μπορεί να ολοκληρώσει την εκπαίδευση του μοντέλου Οι χρήστες μπορούν να χρησιμοποιήσουν το TensorFlow, το PyTorch και άλλες πλατφόρμες εκπαίδευσης για να εκπαιδεύσουν το μοντέλο και στη συνέχεια να αναπτύξουν το μοντέλο μέσω του ESP-DL.
Η συγκεκριμένη διαδικασία είναι

Βήμα 1 Ποσοτικοποίηση

Πρώτα, μετατρέψτε το εκπαιδευμένο μοντέλο, όπως το tensorflowPyTorch Λαμβάνοντας ως παράδειγμα την πλατφόρμα TensorFlow, μπορείτε να χρησιμοποιήσετε το tf2onnx στο σενάριο για να μετατρέψετε το εκπαιδευμένο μοντέλο TensorFlow σε μορφή μοντέλου ONNX.
Στη συνέχεια θα εκτελεστεί μια σειρά λειτουργιών στο μοντέλο float32 για να προετοιμαστεί για ποσοτικοποίηση.
Στη συνέχεια, χρησιμοποιήστε το εργαλείο κβαντοποίησης για να αποδεχτείτε το προεπεξεργασμένο μοντέλο float32 ως είσοδο και να δημιουργήσετε ένα μοντέλο κβαντοποίησης int8.

Βήμα 2: Αναπτύξτε το μοντέλο

Βήμα 2.1: Προετοιμαστείτε για εισαγωγή 
Προετοιμάστε μια εικόνα εισόδου Το μέγεθος της εικόνας εισόδου πρέπει να είναι συνεπές με το μέγεθος εισόδου του μοντέλου ONNX. Το μέγεθος εισόδου του μοντέλου μπορεί να προβληθεί μέσω του εργαλείου Netron.

Βήμα 2.2: Δημιουργία έργου ανάπτυξης
Χρησιμοποιήστε το TVM για να δημιουργήσετε αυτόματα ένα έργο για την εκτέλεση του μοντέλου συμπερασμάτων δεδομένης εισόδου.

Βήμα 3: Εκτελέστε το μοντέλο

Βήμα 3.1: Εκτέλεση συμπερασμάτων
Η δομή του αρχείου έργου new_project που δημιουργήθηκε στο προηγούμενο βήμα είναι η εξής:

├── CMakeLists.txt
├── εξαρτήματα
│ ├── esp-dl
│ └── tvm_model
│ ├── CMakeLists.txt
│ ├── crt_config
│ └── μοντέλο
├── κύριος
│ ├── app_main.c
│ ├── input_data.h
│ ├── output_data.h
│ └── CMakeLists.txt
├── partitions.csv
├── sdkconfig.defaults
├── sdkconfig.defaults.esp32
├── sdkconfig.defaults.esp32s2
├── sdkconfig.defaults.esp32s3
Αφού διαμορφώσετε το περιβάλλον του τερματικού ESP-IDF (παρακαλώ σημειώστε την έκδοση του ESP-IDF), μπορείτε να εκτελέσετε το έργο:

idf.py ορισμός στόχου esp32s3
οθόνη flash idf.py
Βήμα 3.2: Εντοπισμός σφαλμάτων