Esporta nel formato modello TF.js da un formato modello YOLO26
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ù veloci, in modo che il modello possa essere utilizzato per eseguire applicazioni interattive localmente sul dispositivo dell'utente. Il formato modello TensorFlow.js, o TF.js, è progettato per consumare energia minima offrendo al contempo prestazioni veloci.
La funzione 'esporta nel formato modello TF.js' ti consente di ottimizzare i tuoi modelli Ultralytics YOLO26 per un'inferenza di object detection ad alta velocità eseguita localmente. In questa guida, ti mostreremo come convertire i 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 del più ampio ecosistema TensorFlow, 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.
L'esecuzione locale dei modelli riduce anche la latenza e offre un'esperienza utente più reattiva. TensorFlow.js dispone inoltre di funzionalità offline, consentendo agli utenti di utilizzare la tua applicazione anche senza una connessione internet. TF.js è progettato per l'esecuzione efficiente di modelli complessi su dispositivi con risorse limitate, poiché è ingegnerizzato per la scalabilità, con supporto per l'accelerazione GPU.
Caratteristiche principali di TF.js
Ecco le caratteristiche chiave 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 piattaforme diverse. Consente agli sviluppatori di creare e distribuire applicazioni più facilmente.
-
Supporto per backend multipli: TensorFlow.js supporta vari 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 internet, rendendo possibile lo sviluppo di applicazioni funzionali offline.
Opzioni di distribuzione con TensorFlow.js
Prima di immergerci nel processo di esportazione dei modelli YOLO26 nel formato TF.js, esploriamo alcuni scenari di distribuzione tipici in cui viene utilizzato questo formato.
TF.js fornisce una serie 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 del 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 elaborazione di un server o l'accesso a dati lato server.
-
Estensioni di Chrome: Uno scenario di distribuzione interessante è la creazione di estensioni di Chrome con TensorFlow.js. Ad esempio, puoi sviluppare un'estensione che consenta agli utenti di fare clic 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:
# Install the required package for YOLO26
pip install ultralyticsPer istruzioni dettagliate e best practice relative al processo di installazione, controlla la nostra guida all'installazione di Ultralytics. Se durante l'installazione dei pacchetti richiesti per YOLO26 riscontri difficoltà, consulta la nostra guida ai problemi comuni per soluzioni e suggerimenti.
Utilizzo
Tutti i modelli Ultralytics YOLO26 sono progettati per supportare l'esportazione nativamente, 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.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")Argomenti di esportazione
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
format | str | 'tfjs' | Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di distribuzione. |
imgsz | int o tuple | 640 | Dimensione dell'immagine desiderata per l'input del modello. Può essere un numero intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche. |
half | bool | False | Abilita la quantizzazione FP16 (precisione dimezzata), riducendo le dimensioni del modello e potenzialmente velocizzando l'inferenza sull'hardware supportato. |
int8 | bool | False | Attiva la quantizzazione INT8, comprimendo ulteriormente il modello e velocizzando l'inferenza con una perdita minima di accuratezza, principalmente per i dispositivi edge. |
nms | bool | False | Aggiunge la Non-Maximum Suppression (NMS), essenziale per un post-elaborazione del rilevamento accurato ed efficiente. |
batch | int | 1 | Specifica la dimensione dell'inferenza batch del modello di esportazione o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict. |
data | str | 'coco8.yaml' | Percorso del file di configurazione del dataset (default: coco8.yaml), essenziale per la quantizzazione. |
fraction | float | 1.0 | Specifica la frazione del dataset da utilizzare per la calibrazione della quantizzazione INT8. Consente di calibrare su un sottoinsieme dell'intero dataset, utile per esperimenti o quando le risorse sono limitate. Se non specificato con INT8 abilitato, verrà utilizzato l'intero dataset. |
device | str | None | Specifica 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.
Distribuire modelli TensorFlow.js YOLO26 esportati
Ora che hai esportato il tuo modello YOLO26 nel formato TF.js, il passo successivo è distribuirlo. Il primo passo principale e consigliato per eseguire un modello TF.js è utilizzare il metodo YOLO("./yolo26n_web_model"), come mostrato precedentemente nel frammento di codice di utilizzo.
Tuttavia, per istruzioni approfondite sulla distribuzione dei tuoi modelli TF.js, dai un'occhiata alle seguenti risorse:
-
Estensione di Chrome: Ecco la documentazione per sviluppatori su come distribuire i tuoi modelli TF.js su un'estensione di Chrome.
-
Esegui TensorFlow.js in Node.js: Un post sul blog di TensorFlow sull'esecuzione di TensorFlow.js direttamente in Node.js.
-
Distribuzione di TensorFlow.js - Progetto Node su piattaforma cloud: Un post sul blog di TensorFlow sulla distribuzione di un modello TensorFlow.js su una piattaforma cloud.
Riepilogo
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 controllare la nostra pagina della guida all'integrazione. È ricca di ottime risorse per aiutarti a sfruttare al meglio YOLO26 nei tuoi progetti.
FAQ
Come posso esportare i modelli Ultralytics YOLO26 nel formato TensorFlow.js?
Esportare i modelli Ultralytics YOLO26 nel formato TensorFlow.js (TF.js) è semplice. Puoi seguire questi passaggi:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")Per maggiori dettagli sulle opzioni di esportazione supportate, visita la pagina della documentazione di Ultralytics sulle opzioni di distribuzione.
Perché dovrei esportare i miei modelli YOLO26 in TensorFlow.js?
Esportare i modelli YOLO26 in TensorFlow.js offre diversi vantaggi, tra cui:
- Esecuzione locale: I modelli possono essere eseguiti direttamente nel browser o in Node.js, riducendo la latenza e migliorando l'esperienza utente.
- Supporto multipiattaforma: TF.js supporta molteplici ambienti, consentendo flessibilità nella distribuzione.
- Funzionalità offline: Consente alle applicazioni di funzionare senza una connessione internet, garantendo affidabilità e privacy.
- Accelerazione GPU: Sfrutta WebGL per l'accelerazione GPU, ottimizzando le prestazioni su dispositivi con risorse limitate.
Per una panoramica completa, vedi le nostre Integrazioni con TensorFlow.js.
In che modo TensorFlow.js avvantaggia le applicazioni di machine learning basate su browser?
TensorFlow.js è specificamente progettato per l'esecuzione efficiente di 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 fare affidamento su calcoli lato server.
- Migliora la privacy: Mantiene i dati sensibili sul dispositivo dell'utente, riducendo al minimo i rischi di sicurezza.
- Abilita l'uso offline: I modelli possono operare senza una connessione internet, garantendo una funzionalità coerente.
- Supporta backend multipli: Offre flessibilità con backend come CPU, WebGL, WebAssembly (WASM) e WebGPU per diverse esigenze computazionali.
Ti interessa saperne di più su TF.js? Dai un'occhiata alla guida ufficiale di TensorFlow.js.
Quali sono le caratteristiche chiave di TensorFlow.js per la distribuzione di modelli YOLO26?
Le caratteristiche chiave 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 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, vedi la nostra sezione su Opzioni di distribuzione con TensorFlow.js.
Posso distribuire un modello YOLO26 su applicazioni Node.js lato server utilizzando TensorFlow.js?
Sì, TensorFlow.js consente la distribuzione di modelli YOLO26 in ambienti Node.js. Ciò abilita applicazioni di machine learning lato server che beneficiano 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 machine learning sui server backend.
Per iniziare con la distribuzione in Node.js, fai riferimento alla guida Esegui TensorFlow.js in Node.js di TensorFlow.