Link to this sectionEsporta nel formato modello TF.js da un formato modello YOLO26#
Distribuire modelli di machine learning direttamente nel browser o su Node.js può essere complesso. 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 utilizzare il minimo di energia offrendo al contempo prestazioni rapide.
La funzionalità 'esporta nel formato modello TF.js' ti consente di ottimizzare i tuoi modelli Ultralytics YOLO26 per un'inferenza di object detection ad alta velocità ed eseguita localmente. In questa guida, ti mostreremo come convertire i tuoi modelli nel formato TF.js, rendendo più semplice per i tuoi modelli funzionare bene su vari browser locali e applicazioni Node.js.
Link to this sectionPerché 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.
Eseguire i modelli localmente riduce anche la latenza e fornisce un'esperienza utente più reattiva. TensorFlow.js offre anche 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é è progettato per la scalabilità, con supporto per l'accelerazione GPU.
Link to this sectionCaratteristiche 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.
Link to this sectionOpzioni 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.
Link to this sectionEsportazione dei modelli YOLO26 in TensorFlow.js#
Puoi espandere la compatibilità del modello e la flessibilità di distribuzione convertendo i modelli YOLO26 in TF.js.
Link to this sectionInstallazione#
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, consulta la nostra guida all'installazione di Ultralytics. Durante l'installazione dei pacchetti necessari per YOLO26, se riscontri difficoltà, consulta la nostra guida ai problemi comuni per soluzioni e suggerimenti.
Link to this sectionUtilizzo#
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 le opzioni di configurazione per scegliere la configurazione migliore per la tua applicazione.
Il formato TF.js è solo per l'esportazione in Ultralytics: Predict e Validate non sono disponibili localmente. Distribuisci il modello esportato nel browser o in un'applicazione Node.js con il runtime TensorFlow.js.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'Ultralytics non fornisce un backend di inferenza TF.js locale, quindi yolo predict e yolo val non possono caricare un _web_model. Esegui invece il modello esportato con il runtime TensorFlow.js nella tua applicazione web o Node.js.
Link to this sectionArgomenti 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. |
quantize | int o str | None | Precisione di quantizzazione: 16 (FP16) o 8 (INT8/PTQ; richiede data/fraction di calibrazione); 32/non impostato equivale a FP32. Sostituisce i flag deprecati half/int8. |
nms | bool | False | Aggiunge la Non-Maximum Suppression (NMS), essenziale per un post-processing del rilevamento accurato ed efficiente. |
batch | int | 1 | Specifica la dimensione dell'inferenza batch del modello esportato o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict. |
data | str | 'coco8.yaml' | Percorso verso il file di configurazione del dataset (predefinito: coco8.yaml), essenziale per la quantizzazione. |
fraction | float | 1.0 | Specifica la frazione del dataset da utilizzare per la calibrazione della quantizzazione INT8. Consente la calibrazione su un sottoinsieme del dataset completo, 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.
Link to this sectionDistribuzione dei modelli YOLO26 TensorFlow.js esportati#
Ora che hai esportato il tuo modello YOLO26 nel formato TF.js, il passo successivo è distribuirlo. Ultralytics non fornisce un backend di inferenza TF.js locale, quindi il _web_model esportato è destinato a essere eseguito direttamente con il runtime TensorFlow.js in un browser o in un'applicazione Node.js.
Per istruzioni approfondite sulla distribuzione dei tuoi modelli TF.js, dai un'occhiata alle seguenti risorse:
-
Estensione Chrome: Ecco la documentazione per gli sviluppatori su come distribuire i tuoi modelli TF.js su un'estensione Chrome.
-
Esegui TensorFlow.js in Node.js: Un post sul blog di TensorFlow sull'esecuzione diretta di TensorFlow.js in Node.js.
-
Distribuzione di TensorFlow.js - Progetto Node su Cloud Platform: Un post sul blog di TensorFlow sulla distribuzione di un modello TensorFlow.js su una Cloud Platform.
Link to this sectionRiepilogo#
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 maggiori 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 ottenere il massimo da YOLO26 nei tuoi progetti.
Link to this sectionFAQ#
Link to this sectionCome 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 a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Deploy the exported '_web_model' with the TensorFlow.js runtime in a browser or Node.js app.
# Ultralytics does not provide a local TF.js inference backend.Per maggiori dettagli sulle opzioni di esportazione supportate, visita la pagina della documentazione di Ultralytics sulle opzioni di distribuzione.
Link to this sectionPerché 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 più 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.
Link to this sectionIn che modo TensorFlow.js avvantaggia le applicazioni di machine learning basate su browser?#
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? Dai un'occhiata alla guida ufficiale di TensorFlow.js.
Link to this sectionQuali sono le caratteristiche principali di TensorFlow.js per distribuire i modelli YOLO26?#
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.
Link to this sectionPosso distribuire un modello YOLO26 su applicazioni Node.js lato server utilizzando 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 su Node.js, fai riferimento alla guida Esegui TensorFlow.js in Node.js di TensorFlow.