Vai al contenuto

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

La distribuzione di modelli di apprendimento automatico direttamente nel browser o su Node.js può essere complicata. È necessario assicurarsi che il formato del modello sia ottimizzato per ottenere prestazioni più veloci, in modo che il modello possa essere usato per eseguire applicazioni interattive localmente sul dispositivo dell'utente. Il formato del modello TensorFlow.js, o TF.js, è stato progettato per consumare pochissima energia e offrire prestazioni veloci.

La funzione "Esportazione in formato modello TF.js" permette di ottimizzare i modelli per Ultralytics YOLO11 modelli per l'inferenza ad alta velocità e per il rilevamento degli oggetti a livello locale. In questa guida vi aiuteremo a convertire i vostri modelli nel formato TF.js, facilitando così le prestazioni dei vostri modelli su vari browser locali e applicazioni Node.js.

Perché esportare in TF.js?

L'esportazione dei 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 è inoltre dotato di funzionalità offline, che consentono agli utenti di utilizzare l'applicazione anche senza una connessione a Internet. TF.js è stato progettato per l'esecuzione efficiente di modelli complessi su dispositivi con risorse limitate, in quanto è progettato per la scalabilità, con il supporto dell'accelerazione GPU .

Caratteristiche principali di TF.js

Ecco le caratteristiche principali che rendono TF.js uno strumento potente 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. Consente agli sviluppatori di creare e distribuire applicazioni con maggiore facilità.

  • 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 la necessità di una connessione a Internet, rendendo possibile lo sviluppo di applicazioni funzionali offline.

Opzioni di distribuzione con TensorFlow.js

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

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

  • Applicazioni ML nel browser: È possibile 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 distribuzione è la creazione di estensioni di Chrome con TensorFlow.js. Ad esempio, è possibile sviluppare un'estensione che consenta agli utenti di fare clic con il tasto destro del mouse su un'immagine all'interno di qualsiasi pagina web per classificarla utilizzando un modello ML pre-allenato. TensorFlow.js può essere integrato nelle esperienze quotidiane di navigazione sul web per fornire approfondimenti o miglioramenti immediati basati sull'apprendimento automatico.

Esportazione dei modelli di YOLO11 in TensorFlow.js

È possibile espandere la compatibilità dei modelli e la flessibilità di distribuzione convertendo i modelli YOLO11 in TF.js.

Installazione

Per installare il pacchetto richiesto, eseguire:

Installazione

# Install the required package for YOLO11
pip install ultralytics

Per istruzioni dettagliate e buone pratiche relative al processo di installazione, consultare la nostra Guida all'installazione diUltralytics . Durante l'installazione dei pacchetti necessari per YOLO11, se si incontrano difficoltà, consultare la nostra guida ai problemi comuni per trovare soluzioni e suggerimenti.

Utilizzo

Prima di immergersi nelle istruzioni d'uso, è importante notare che tutti i modelli diUltralytics YOLO11 sono disponibili per l'esportazione, ma è possibile assicurarsi che il modello selezionato supporti la funzionalità di esportazione qui.

Utilizzo

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo11n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")

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

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

Per maggiori dettagli sulle opzioni di esportazione supportate, visitate la pagina di documentazioneUltralytics sulle opzioni di distribuzione.

Distribuzione dei modelli esportati YOLO11 TensorFlow .js

Dopo aver esportato il modello YOLO11 nel formato TF.js, il passo successivo è quello di distribuirlo. Il primo passo primario e consigliato per eseguire un modello TF.js è usare il metodo YOLO("./yolo11n_web_model") come mostrato in precedenza nel frammento di codice d'uso.

Tuttavia, per istruzioni approfondite sulla distribuzione dei modelli di TF.js, consultare le seguenti risorse:

Sintesi

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

Per ulteriori dettagli sull'uso, visitare la documentazione ufficiale di TensorFlow.js.

Per ulteriori informazioni sull'integrazione di Ultralytics YOLO11 con altre piattaforme e framework, non dimenticate di consultare la nostra pagina della guida all'integrazione. È ricca di ottime risorse per aiutarvi a sfruttare al meglio YOLO11 nei vostri progetti.

FAQ

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

L'esportazione dei modelli Ultralytics YOLO11 nel formato TensorFlow.js (TF.js) è semplice. Si possono seguire i seguenti passaggi:

Utilizzo

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo11n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")

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

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

Per maggiori dettagli sulle opzioni di esportazione supportate, visitate la pagina di documentazioneUltralytics sulle opzioni di distribuzione.

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

L'esportazione dei modelli di YOLO11 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 più ambienti, consentendo flessibilità nella distribuzione.
  3. Funzionalità offline: Consente 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, vedere le nostre Integrazioni con TensorFlow.js.

In che modo TensorFlow.js è utile alle 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: Conserva i dati sensibili sul dispositivo dell'utente, riducendo al minimo i rischi per la sicurezza.
  • Consente l'uso offline: I modelli possono funzionare senza connessione a Internet, garantendo una funzionalità costante.
  • Supporta più backend: Offre flessibilità con backend come CPU, WebGL, WebAssembly (WASM) e WebGPU per esigenze di calcolo diverse.

Siete interessati a saperne di più su TF.js? Consultate la guida ufficiale di TensorFlow.js.

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

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 operazioni avanzate.
  • Funzionalità offline: I modelli possono essere eseguiti direttamente nel browser senza connettività Internet, il che lo rende ideale per lo sviluppo di applicazioni web responsive.

Per gli scenari di distribuzione e per informazioni più approfondite, consultare la sezione Opzioni di distribuzione con TensorFlow.js.

È possibile distribuire un modello YOLO11 su applicazioni Node.js lato server utilizzando TensorFlow.js?

Sì, TensorFlow.js consente la distribuzione di modelli YOLO11 su ambienti Node.js. Ciò consente 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 con la distribuzione di Node.js, consultare la guida Eseguire TensorFlow.js in Node.js di TensorFlow.

📅C reato 8 mesi fa ✏️ Aggiornato 2 mesi fa

Commenti