Vai al contenuto

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

La distribuzione di modelli di machine learning direttamente nel browser o su Node.js può essere complicata. È necessario assicurarsi che il formato del modello sia ottimizzato per prestazioni più veloci in modo che il modello possa essere usato per eseguire applicazioni interattive in locale nel dispositivo dell'utente. Le TensorFlow.js, oppure TF.js, il formato del modello è progettato per utilizzare una potenza minima 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 degli 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 è stato progettato per la scalabilità, con il supporto dell'accelerazione di 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 di GPU , WebAssembly (WASM) per una velocità di esecuzione quasi nativa e WebGPU per funzionalità avanzate di apprendimento automatico 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 la distribuzione 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.

DOMANDE FREQUENTI

Come posso esportare i modelli di Ultralytics YOLOv8 nel formato .js di TensorFlow?

Esportare i modelli Ultralytics YOLOv8 in formato TensorFlow.js (TF.js) è semplice. Puoi seguire i seguenti passaggi:

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.

Perché dovrei esportare i miei modelli YOLOv8 in TensorFlow.js?

Esportare i modelli di YOLOv8 in TensorFlow.js offre diversi vantaggi, tra cui:

  1. Esecuzione locale: I modelli possono essere eseguiti direttamente nel browser o in Node.js, riducendo la latenza e migliorando l'esperienza dell'utente.
  2. Supporto multipiattaforma: TF.js supporta diversi ambienti, consentendo una certa flessibilità nella distribuzione.
  3. Funzionalità offline: Permette alle applicazioni di funzionare senza una connessione a internet, garantendo affidabilità e privacy.
  4. GPU Accelerazione: Sfrutta WebGL per l'accelerazione di GPU , ottimizzando le prestazioni sui dispositivi con risorse limitate.

Per una panoramica completa, consulta le nostre Integrazioni con TensorFlow.js.

In che modo TensorFlow.js è utile per le applicazioni di apprendimento automatico basate su browser?

TensorFlow.js è stato progettato specificamente per l'esecuzione efficiente di modelli ML nei browser e negli ambienti Node.js. Ecco come si avvantaggia nelle applicazioni basate su browser:

  • Riduce la latenza: Esegue i modelli di apprendimento automatico in locale, fornendo risultati immediati senza dover ricorrere a calcoli sul lato server.
  • Migliora la privacy: Mantiene i dati sensibili sul dispositivo dell'utente, riducendo al minimo i rischi per la sicurezza.
  • Consente l'uso offline: I modelli possono funzionare senza una connessione a Internet, garantendo una funzionalità costante.
  • Supporta diversi backend: Offre flessibilità con backend come CPU, WebGL, WebAssembly (WASM) e WebGPU per le diverse esigenze di calcolo.

Vuoi saperne di più su TF.js? Consulta la guida ufficiale di TensorFlow.js.

Quali sono le caratteristiche principali di TensorFlow.js per la distribuzione dei modelli di YOLOv8 ?

Le caratteristiche principali di TensorFlow.js includono:

  • Supporto multipiattaforma: TF.js può essere utilizzato sia nei browser web che in Node.js, offrendo un'ampia flessibilità di distribuzione.
  • Backend multipli: Supporta CPU, WebGL per l'accelerazione di GPU , WebAssembly (WASM) e WebGPU per le operazioni avanzate.
  • Funzionalità offline: I modelli possono essere eseguiti direttamente nel browser senza connessione a internet, il che lo rende ideale per lo sviluppo di applicazioni web responsive.

Per gli scenari di distribuzione e per informazioni più approfondite, consulta la nostra sezione sulle opzioni di distribuzione con TensorFlow.js.

Posso distribuire un modello YOLOv8 su applicazioni Node.js lato server utilizzando TensorFlow.js?

Sì, TensorFlow.js permette di distribuire i modelli di YOLOv8 su ambienti Node.js. Questo permette alle applicazioni di apprendimento automatico lato server di beneficiare della potenza di elaborazione di un server e dell'accesso ai dati lato server. I casi d'uso tipici includono l'elaborazione dei dati in tempo reale e le pipeline di apprendimento automatico sui server backend.

Per iniziare a distribuire Node.js, consulta la guida Esegui TensorFlow.js in Node.js di TensorFlow.



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

Commenti