Vai al contenuto

Impara a esportare nel formato TFLite Edge TPU dal modello YOLOv8

L'implementazione di modelli di computer vision su dispositivi con potenza di calcolo limitata, come i sistemi mobili o embedded, può essere complicata. L'utilizzo di un formato di modello ottimizzato per ottenere prestazioni più veloci semplifica il processo. Il formato di modello TensorFlow Lite Edge TPU o TFLite Edge TPU è stato progettato per consumare pochissima energia e offrire prestazioni elevate alle reti neurali.

La funzione di esportazione in formato TFLite Edge TPU ti permette di ottimizzare i tuoi modelli per Ultralytics YOLOv8 modelli per l'inferenza ad alta velocità e a basso consumo. In questa guida ti spiegheremo come convertire i tuoi modelli nel formato TFLite Edge TPU , in modo da facilitare le prestazioni dei tuoi modelli su vari dispositivi mobili ed embedded.

Perché dovresti esportare in TFLite Edge TPU?

L'esportazione di modelli in TensorFlow Edge TPU rende le attività di apprendimento automatico veloci ed efficienti. Questa tecnologia è adatta alle applicazioni con potenza, risorse di calcolo e connettività limitate. Edge TPU è un acceleratore hardware di Google. Accelera i modelli TensorFlow Lite sui dispositivi edge. L'immagine qui sotto mostra un esempio del processo in questione.

Bordo TFLite TPU

Edge TPU funziona con modelli quantizzati. La quantizzazione rende i modelli più piccoli e più veloci senza perdere in accuratezza. È ideale per le risorse limitate dell'edge computing, in quanto consente alle applicazioni di rispondere rapidamente riducendo la latenza e permettendo un'elaborazione rapida dei dati a livello locale, senza dipendere dal cloud. Inoltre, l'elaborazione locale mantiene i dati dell'utente privati e sicuri, poiché non vengono inviati a un server remoto.

Caratteristiche principali di TFLite Edge TPU

Ecco le caratteristiche principali che rendono TFLite Edge TPU un ottimo modello di formato per gli sviluppatori:

  • Prestazioni ottimizzate sui dispositivi Edge: TFLite Edge TPU raggiunge prestazioni di rete neurale ad alta velocità grazie alla quantizzazione, all'ottimizzazione del modello, all'accelerazione hardware e all'ottimizzazione del compilatore. La sua architettura minimalista contribuisce a ridurre le dimensioni e l'efficienza dei costi.

  • Elevato throughput computazionale: TFLite Edge TPU combina un'accelerazione hardware specializzata e un'esecuzione runtime efficiente per ottenere un elevato throughput di calcolo. È particolarmente adatto per l'implementazione di modelli di apprendimento automatico con requisiti di prestazioni rigorosi su dispositivi edge.

  • Calcoli matriciali efficienti: TensorFlow Edge TPU è ottimizzato per le operazioni matriciali, fondamentali per i calcoli delle reti neurali. Questa efficienza è fondamentale nei modelli di apprendimento automatico, in particolare quelli che richiedono numerose e complesse moltiplicazioni e trasformazioni matriciali.

Opzioni di distribuzione con TFLite Edge TPU

Prima di scoprire come esportare i modelli YOLOv8 nel formato TFLite Edge TPU , cerchiamo di capire dove vengono utilizzati i modelli TFLite Edge TPU .

TFLite Edge TPU offre diverse opzioni di implementazione per i modelli di apprendimento automatico, tra cui:

  • Distribuzione su dispositivo: TensorFlow I modelli di Edge TPU possono essere distribuiti direttamente su dispositivi mobili ed embedded. La distribuzione su dispositivo permette ai modelli di essere eseguiti direttamente sull'hardware, eliminando la necessità di connettersi al cloud.

  • Edge Computing con le TPU del cloud TensorFlow : In scenari in cui i dispositivi edge hanno capacità di elaborazione limitate, le TPU Edge di TensorFlow possono scaricare le attività di inferenza su server cloud dotati di TPU.

  • Distribuzione ibrida: Un approccio ibrido combina la distribuzione su dispositivo e su cloud e offre una soluzione versatile e scalabile per la distribuzione di modelli di apprendimento automatico. I vantaggi includono l'elaborazione su dispositivo per risposte rapide e il cloud computing per calcoli più complessi.

Esportazione dei modelli YOLOv8 in TFLite Edge TPU

Puoi ampliare la compatibilità dei modelli e la flessibilità di distribuzione convertendo i modelli YOLOv8 in TensorFlow Edge TPU.

Installazione

Per installare il pacchetto richiesto, esegui:

Installazione

# Install the required package for YOLOv8
pip install ultralytics

Per istruzioni dettagliate e buone pratiche relative al processo di installazione, consulta la nostra Guida all'installazione diUltralytics . Durante l'installazione dei pacchetti necessari per YOLOv8, se dovessi incontrare delle difficoltà, consulta la nostra guida ai problemi comuni per trovare soluzioni e suggerimenti.

Utilizzo

Prima di immergerti nelle istruzioni d'uso, è importante notare che tutti i modelli diUltralytics YOLOv8 sono disponibili per l'esportazione, ma qui puoi assicurarti che il modello che hai scelto supporti la funzionalità di esportazione.

Utilizzo

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to TFLite Edge TPU format
model.export(format='edgetpu')  # creates 'yolov8n_full_integer_quant_edgetpu.tflite’

# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO('yolov8n_full_integer_quant_edgetpu.tflite')

# Run inference
results = edgetpu_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TFLite Edge TPU format
yolo export model=yolov8n.pt format=edgetpu  # creates 'yolov8n_full_integer_quant_edgetpu.tflite'

# Run inference with the exported model
yolo predict model=yolov8n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'

Per maggiori dettagli sulle opzioni di esportazione supportate, visita la pagina di documentazione diUltralytics sulle opzioni di distribuzione.

Distribuzione dei modelli esportati YOLOv8 TFLite Edge TPU

Dopo aver esportato con successo i tuoi modelli Ultralytics YOLOv8 nel formato TFLite Edge TPU , ora puoi distribuirli. Il primo passo primario e consigliato per eseguire un modello TFLite Edge TPU è quello di utilizzare il metodo YOLO("model_edgetpu.tflite"), come indicato nel precedente frammento di codice.

Tuttavia, per istruzioni approfondite sulla distribuzione dei modelli TFLite Edge TPU , consulta le seguenti risorse:

Sommario

In questa guida abbiamo imparato come esportare i modelli Ultralytics YOLOv8 nel formato TFLite Edge TPU . Seguendo i passi indicati sopra, potrai aumentare la velocità e la potenza delle tue applicazioni di computer vision.

Per ulteriori dettagli sull'utilizzo, visita il sito ufficiale di Edge TPU .

Inoltre, per maggiori informazioni su altre integrazioni di Ultralytics YOLOv8 , visita la nostra guida alle integrazioni. Lì scoprirai risorse e approfondimenti preziosi.



Creato 2024-03-13, Aggiornato 2024-04-02
Autori: Burhan-Q (1), abirami-vina (1)

Commenti