YOLO Vision 2026:

Esporta nel formato modello TF.js da un formato modello YOLO26#

Deprecato — sostituito da LiteRT

A partire da Ultralytics 8.4.83, il formato di esportazione tfjs (TensorFlow.js) è stato rimosso e sostituito dal formato unificato Google LiteRT. LiteRT viene eseguito nel browser tramite LiteRT.js (con accelerazione WebGPU), coprendo i casi d'uso nel browser e in Node.js gestiti da TF.js, oltre a quelli mobili, incorporati e edge, da un unico modello .tflite.

format="tfjs" funziona ancora ma emette un avviso di deprecazione ed esporta invece un modello LiteRT. Uusa format="litert" in futuro; per le attuali istruzioni di esportazione e il percorso di distribuzione nel browser, consulta la guida all'esportazione LiteRT.

Distribuire modelli di machine learning direttamente nel browser o su Node.js può essere complicato. Dovrai assicurarti che il formato del tuo modello sia ottimizzato per prestazioni più rapide, in modo che il modello possa essere utilizzato per eseguire applicazioni interattive localmente sul dispositivo dell'utente. Il formato del modello TensorFlow.js, o TF.js, è progettato per utilizzare un consumo energetico minimo offrendo al contempo prestazioni elevate.

La funzione 'esporta nel formato modello TF.js' ti consente di ottimizzare i tuoi modelli Ultralytics YOLO26 per un'inferenza di rilevamento oggetti ad alta velocità e in esecuzione locale. In questa guida ti guideremo attraverso la conversione dei tuoi modelli nel formato TF.js, facilitando le prestazioni dei tuoi modelli su vari browser locali e applicazioni Node.js.

Perché dovresti esportare in TF.js?#

Esportare i tuoi modelli di machine learning in TensorFlow.js, sviluppato dal team di TensorFlow come parte dell'ecosistema TensorFlow più ampio, offre numerosi vantaggi per la distribuzione di applicazioni di machine learning. Aiuta a migliorare la privacy e la sicurezza dell'utente mantenendo i dati sensibili sul dispositivo. L'immagine sottostante mostra l'architettura di TensorFlow.js e come i modelli di machine learning vengono convertiti e distribuiti sia sui browser web che su Node.js.

TensorFlow.js browser ML inference architecture

L'esecuzione dei modelli localmente riduce anche la latenza e offre un'esperienza utente più reattiva. TensorFlow.js offre anche funzionalità offline, consentendo agli utenti di utilizzare la tua applicazione anche senza una connessione a Internet. TF.js è progettato per l'esecuzione efficiente di modelli complessi su dispositivi con risorse limitate, poiché è progettato per la scalabilità, con supporto per l'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 Node.js, offrendo flessibilità nella distribuzione su diverse piattaforme. Consente agli sviluppatori di creare e distribuire applicazioni più facilmente.

  • Supporto per più backend: TensorFlow.js supporta vari backend per il calcolo, inclusi 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 la necessità di una connessione internet, rendendo possibile sviluppare applicazioni che sono funzionali offline.

Opzioni di distribuzione con TensorFlow.js#

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

TF.js fornisce una gamma di opzioni per distribuire i tuoi modelli di machine learning:

  • Applicazioni ML nel browser: Puoi creare applicazioni web che eseguono modelli di machine learning direttamente nel browser. La necessità di calcolo lato server viene eliminata e il carico sul server è ridotto.

  • Applicazioni Node.js: TensorFlow.js supporta anche la distribuzione in ambienti Node.js, consentendo lo sviluppo di applicazioni di machine learning lato server. È particolarmente utile per le applicazioni che richiedono la potenza di calcolo di un server o l'accesso a dati lato server.

  • Estensioni Chrome: Uno scenario di distribuzione interessante è la creazione di estensioni Chrome con TensorFlow.js. Ad esempio, puoi sviluppare un'estensione che consenta agli utenti di fare clic con il tasto destro su un'immagine all'interno di qualsiasi pagina web per classificarla utilizzando un modello ML pre-addestrato. TensorFlow.js può essere integrato nelle esperienze di navigazione web quotidiane per fornire approfondimenti immediati o aumenti basati sul machine learning.

Esportazione dei modelli YOLO26 in TensorFlow.js#

Puoi espandere la compatibilità del modello e la flessibilità di distribuzione convertendo i modelli YOLO26 in TF.js.

Installazione#

Per installare il pacchetto richiesto, esegui:

Installazione
# Install the required package for YOLO26
pip install ultralytics

Per istruzioni dettagliate e migliori pratiche relative al processo di installazione, consulta la nostra Guida all'installazione di Ultralytics. Se riscontri difficoltà durante l'installazione dei pacchetti richiesti per YOLO26, consulta la nostra Guida ai problemi comuni per soluzioni e suggerimenti.

Utilizzo#

Tutti i modelli Ultralytics YOLO26 sono progettati per supportare l'esportazione pronta all'uso, rendendo semplice integrarli nel tuo flusso di lavoro di distribuzione preferito. Puoi visualizzare l'elenco completo dei formati di esportazione supportati e delle opzioni di configurazione per scegliere la configurazione migliore per la tua applicazione.

L'argomento tfjs ora esporta un modello LiteRT .tflite, che supporta le modalità Esporta, Prevedi e Valida localmente e viene eseguito nel browser tramite LiteRT.js. Consulta la guida all'esportazione LiteRT per il percorso corrente di distribuzione nel browser e sul dispositivo.

Esportazione
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF.js format
model.export(format="litert", imgsz=640)  # use imgsz=224 for classification
Predict e Validate

Il modello LiteRT .tflite esportato si carica direttamente con yolo predict e yolo val, e viene eseguito nel browser tramite LiteRT.js. Consulta la guida all'esportazione LiteRT.

Argomenti di esportazione#

ArgomentoTipoPredefinitoDescrizione
formatstr'tfjs'Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di distribuzione.
imgszint o tuple640Dimensione dell'immagine desiderata per l'input del modello. Può essere un numero intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche.
quantizeint o strNonePrecisione di quantizzazione: 8 (INT8 statico, pesi int8 + attivazioni int8; richiede calibrazione data/fraction), 'w8a16' (statico, pesi int8 + attivazioni int16; richiede calibrazione data/fraction), 'w8a32' (INT8 dinamico, pesi int8 + attivazioni FP32; nessuna calibrazione necessaria) o 32/non impostato (FP32). FP16 non viene esportato separatamente: un modello FP32 viene eseguito in FP16 automaticamente sui delegati GPU. Sostituisce i flag deprecati half/int8.
batchint1Specifica la dimensione dell'inferenza in batch del modello esportato o il numero massimo di immagini che il modello esportato elaborerà contemporaneamente in modalità predict.
datastrNonePercorso del file YAML del dataset, essenziale per la quantizzazione; la classificazione richiede invece una directory di dataset o un nome di dataset integrato. Se omesso con quantize=8 o 'w8a16', Ultralytics seleziona il dataset di calibrazione predefinito per il task del modello.
fractionfloat, int o list1.0Sottoinsieme di calibrazione come rapporto, conteggio di immagini o rapporti/conteggi [train, val]; un elenco limita train o val, mentre test rimane completo.
devicestrNoneSpecifica il dispositivo per l'esportazione: CPU (device=cpu), MPS per Apple silicon (device=mps).

Per ulteriori dettagli sul processo di esportazione, visita la pagina della documentazione di Ultralytics sull'esportazione.

Distribuzione dei modelli YOLO26 TensorFlow.js esportati#

Ora che hai esportato il tuo modello YOLO26, il passaggio successivo è distribuirlo. L'esportazione produce un modello LiteRT .tflite che viene eseguito sul dispositivo e nel browser tramite LiteRT.js; consulta la guida all'esportazione LiteRT per il percorso corrente.

Come riferimento, le risorse legacy del runtime TensorFlow.js sono riportate di seguito:

In questa guida, abbiamo imparato come esportare i modelli Ultralytics YOLO26 nel formato TensorFlow.js. Esportando in TF.js, ottieni la flessibilità per ottimizzare, distribuire e scalare i tuoi modelli YOLO26 su una vasta gamma di piattaforme.

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

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

FAQ#

  • Esportare i modelli Ultralytics YOLO26 nel formato TensorFlow.js (TF.js) è semplice. Puoi seguire questi passaggi:

    Utilizzo
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TF.js format
    model.export(format="litert", imgsz=640)  # use imgsz=224 for classification
    
    # The exported '.tflite' model runs in the browser via LiteRT.js or locally with yolo predict/val.

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

  • Esportare i modelli YOLO26 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 utente.
    2. Supporto multipiattaforma: TF.js supporta più ambienti, consentendo flessibilità nella distribuzione.
    3. Funzionalità offline: Consente alle applicazioni di funzionare senza una connessione internet, garantendo affidabilità e privacy.
    4. Accelerazione GPU: Sfrutta WebGL per l'accelerazione GPU, ottimizzando le prestazioni su dispositivi con risorse limitate.
  • TensorFlow.js è specificamente progettato per un'esecuzione efficiente dei modelli ML in browser e ambienti Node.js. Ecco come avvantaggia le applicazioni basate su browser:

    • Riduce la latenza: Esegue modelli di machine learning localmente, fornendo risultati immediati senza dipendere da calcoli lato server.
    • Migliora la privacy: Mantiene i dati sensibili sul dispositivo dell'utente, riducendo al minimo i rischi per la sicurezza.
    • Abilita l'uso offline: I modelli possono operare senza una connessione internet, garantendo una funzionalità coerente.
    • Supporta più backend: Offre flessibilità con backend come CPU, WebGL, WebAssembly (WASM) e WebGPU per diverse esigenze computazionali.

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

  • Le caratteristiche principali di TensorFlow.js includono:

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

    Per scenari di distribuzione e informazioni più approfondite, consulta la nostra sezione su Opzioni di distribuzione con TensorFlow.js.

  • Sì, TensorFlow.js consente la distribuzione di modelli YOLO26 su ambienti Node.js. Ciò abilita applicazioni di machine learning lato server che beneficiano della potenza di calcolo 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 machine learning sui server backend.

    Per iniziare con la distribuzione di Node.js, fai riferimento alla guida Esegui TensorFlow.js in Node.js di TensorFlow.

Commenti