Vai al contenuto

Esportazione in formato modello TF.js da un formato modello YOLOv8

Distribuire modelli di apprendimento automatico direttamente nel browser o su Node.js può essere complicato. Dovrai assicurarti che il formato del tuo modello sia ottimizzato per ottenere prestazioni più veloci, in modo che il modello possa essere utilizzato per eseguire applicazioni interattive in locale sul dispositivo dell'utente. Il formato del modello TensorFlow.js, o TF.js, è stato progettato per consumare poca energia e offrire prestazioni veloci.

La funzione "esporta in formato modello TF.js" ti permette di ottimizzare i tuoi Ultralytics YOLOv8 modelli per l'inferenza ad alta velocità e per il rilevamento di oggetti a livello locale. In questa guida ti spiegheremo come convertire i tuoi modelli nel formato TF.js, in modo da facilitare le prestazioni dei tuoi modelli su vari browser locali e applicazioni Node.js.

Perché dovresti esportare in TF.js?

Esportare i tuoi modelli di apprendimento automatico in TensorFlow.js, sviluppato dal team di TensorFlow come parte del più ampio ecosistema di TensorFlow , offre numerosi vantaggi per la distribuzione di applicazioni di apprendimento automatico. Aiuta a migliorare la privacy e la sicurezza degli utenti mantenendo i dati sensibili sul dispositivo. L'immagine seguente mostra l'architettura di TensorFlow.js e il modo in cui i modelli di apprendimento automatico vengono convertiti e distribuiti sia su browser web che su Node.js.

TFArchitettura .js

L'esecuzione dei modelli in locale riduce inoltre la latenza e offre un'esperienza utente più reattiva. TensorFlow.js è dotato anche di funzionalità offline, che consentono agli utenti di utilizzare la tua applicazione anche senza una connessione internet. TF.js è stato progettato per l'esecuzione efficiente di modelli complessi su dispositivi con risorse limitate, in quanto è progettato per la scalabilità e supporta l'accelerazione GPU.

Caratteristiche principali di TF.js

Ecco le caratteristiche principali che rendono TF.js un potente strumento per gli sviluppatori:

  • Supporto multipiattaforma: TensorFlow.js può essere utilizzato sia in ambienti browser che in ambienti Node.js, offrendo flessibilità nella distribuzione su diverse piattaforme. Permette agli sviluppatori di creare e distribuire applicazioni in modo più semplice.

  • Supporto per più backend: TensorFlow.js supporta diversi backend per il calcolo, tra cui CPU, WebGL per l'accelerazione GPU, WebAssembly (WASM) per una velocità di esecuzione quasi nativa e WebGPU per funzionalità avanzate di machine learning basate su browser.

  • Funzionalità offline: Con TensorFlow.js, i modelli possono essere eseguiti nel browser senza bisogno di una connessione a internet, rendendo possibile lo sviluppo di applicazioni funzionanti anche offline.

Opzioni di distribuzione con TensorFlow.js

Prima di addentrarci nel processo di esportazione dei modelli di YOLOv8 nel formato .js di TF, esploriamo alcuni scenari tipici di distribuzione in cui questo formato viene utilizzato.

TF.js offre una serie di opzioni per distribuire i tuoi modelli di apprendimento automatico:

  • Applicazioni ML nel browser: Puoi creare applicazioni web che eseguono modelli di apprendimento automatico direttamente nel browser. In questo modo si elimina la necessità di calcoli lato server e si riduce il carico del server.

  • Applicazioni Node.js:: TensorFlow.js supporta anche il deployment in ambienti Node.js, consentendo lo sviluppo di applicazioni di apprendimento automatico lato server. È particolarmente utile per le applicazioni che richiedono la potenza di elaborazione di un server o l'accesso ai dati lato server.

  • Estensioni di Chrome: Un interessante scenario di utilizzo è la creazione di estensioni di Chrome con TensorFlow.js. Ad esempio, puoi sviluppare un'estensione che permetta agli utenti di cliccare con il tasto destro del mouse su un'immagine all'interno di una pagina web per classificarla utilizzando un modello ML pre-allenato. TensorFlow Le estensioni .js possono essere integrate nelle esperienze quotidiane di navigazione sul web per fornire approfondimenti o miglioramenti immediati basati sull'apprendimento automatico.

Esportare i modelli di YOLOv8 in TensorFlow.js

Puoi ampliare la compatibilità dei modelli e la flessibilità di distribuzione convertendo i modelli di YOLOv8 in TF.js.

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 TF.js format
model.export(format='tfjs')  # creates '/yolov8n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO('./yolov8n_web_model')

# Run inference
results = tfjs_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TF.js format
yolo export model=yolov8n.pt format=tfjs  # creates '/yolov8n_web_model'

# Run inference with the exported model
yolo predict model='./yolov8n_web_model' 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 di modelli esportati YOLOv8 TensorFlow .js

Ora che hai esportato il tuo modello YOLOv8 nel formato TF.js, il passo successivo è quello di distribuirlo. Il primo passo primario e consigliato per eseguire un modello TF.js è utilizzare il metodo YOLO("./yolov8n_web_model"), come mostrato in precedenza nel frammento di codice d'uso.

Tuttavia, per istruzioni approfondite su come distribuire i tuoi modelli TF.js, dai un'occhiata alle seguenti risorse:

Sommario

In questa guida abbiamo imparato a esportare i modelli Ultralytics YOLOv8 nel formato TensorFlow.js. Esportando in formato TF.js, ottieni la flessibilità necessaria per ottimizzare, distribuire e scalare i tuoi modelli YOLOv8 su un'ampia gamma di piattaforme.

Per ulteriori dettagli sull'utilizzo, visita la documentazione ufficiale di TensorFlow.js.

Per maggiori informazioni sull'integrazione di Ultralytics YOLOv8 con altre piattaforme e framework, non dimenticare di dare un'occhiata alla nostra guida all'integrazione. È ricca di ottime risorse per aiutarti a sfruttare al meglio YOLOv8 nei tuoi progetti.



Creato 2024-04-03, Aggiornato 2024-04-18
Autori: glenn-jocher (1), abirami-vina (1)

Commenti