Esporta nel formato modello TF.js da un formato modello YOLO11
Implementare 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 del modello TensorFlow.js, o TF.js, è progettato per utilizzare una potenza minima offrendo al contempo prestazioni elevate.
La funzione 'esporta nel formato modello TF.js' ti consente di ottimizzare i tuoi modelli Ultralytics YOLO11 per un'inferenza di object detection ad alta velocità ed eseguita localmente. In questa guida, ti guideremo attraverso la conversione dei tuoi modelli nel formato TF.js, rendendo più facile per i tuoi modelli ottenere buone prestazioni su vari browser locali e applicazioni Node.js.
Perché dovresti esportare in TF.js?
L'esportazione dei tuoi modelli di machine learning in TensorFlow.js, sviluppato dal team di TensorFlow come parte del più ampio ecosistema TensorFlow, offre numerosi vantaggi per l'implementazione di applicazioni di machine learning. 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 come i modelli di machine learning vengono convertiti e implementati sia su browser web che su Node.js.
L'esecuzione di 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 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à nell'implementazione su diverse piattaforme. Consente agli sviluppatori di creare e implementare applicazioni più facilmente.
-
Supporto per più backend: 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 la necessità di una connessione Internet, rendendo possibile lo sviluppo di applicazioni che sono funzionali offline.
Opzioni di implementazione con TensorFlow.js
Prima di addentrarci nel processo di esportazione dei modelli YOLO11 nel formato TF.js, esploriamo alcuni scenari di implementazione tipici in cui questo formato viene utilizzato.
TF.js offre una serie di opzioni per implementare i tuoi modelli di machine learning:
-
Applicazioni ML In-Browser: Puoi creare applicazioni web che eseguono modelli di machine learning direttamente nel browser. 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 machine learning 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: Uno scenario di implementazione interessante è la creazione di estensioni di Chrome con TensorFlow.js. Ad esempio, puoi sviluppare un'estensione che consenta agli utenti di fare clic con il pulsante destro del mouse 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 di modelli YOLO11 in TensorFlow.js
Puoi espandere la compatibilità del modello e la flessibilità di implementazione convertendo i modelli YOLO11 in TF.js.
Installazione
Per installare il pacchetto richiesto, esegui:
Installazione
# Install the required package for YOLO11
pip install ultralytics
Per istruzioni dettagliate e best practice relative al processo di installazione, consulta la nostra guida all'installazione di Ultralytics. Durante l'installazione dei pacchetti richiesti per YOLO11, in caso di difficoltà, consulta la nostra guida ai problemi comuni per soluzioni e suggerimenti.
Utilizzo
Tutti i modelli Ultralytics YOLO11 sono progettati per supportare l'export out-of-the-box, rendendo facile la loro integrazione nel tuo flusso di lavoro di deployment preferito. Puoi visualizzare l'elenco completo dei formati di export supportati e le opzioni di configurazione per scegliere la configurazione migliore per la tua applicazione.
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'
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 oppure 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 (mezza precisione), riducendo le dimensioni del modello e potenzialmente accelerando l'inferenza su hardware supportato. |
int8 |
bool |
False |
Attiva la quantizzazione INT8, comprimendo ulteriormente il modello e accelerando l'inferenza con una perdita di accuratezza minima, principalmente per i dispositivi edge. |
nms |
bool |
False |
Aggiunge la Non-Maximum Suppression (NMS), essenziale per una post-elaborazione del rilevamento accurata ed efficiente. |
batch |
int |
1 |
Specifica la dimensione del batch di inferenza del modello di esportazione o il numero massimo di immagini che il modello esportato elaborerà contemporaneamente in modalità predict . |
device |
str |
None |
Specifica il dispositivo per l'esportazione: CPU (device=cpu ), MPS per Apple silicon (device=mps ). |
Per maggiori dettagli sul processo di esportazione, visita la pagina della documentazione di Ultralytics sull'esportazione.
Implementazione di modelli YOLO11 TensorFlow.js esportati
Ora che hai esportato il tuo modello YOLO11 nel formato TF.js, il passo successivo è implementarlo. Il primo passo principale e raccomandato per eseguire un modello TF.js è usare il YOLO("./yolo11n_web_model")
metodo, come mostrato in precedenza nello snippet di codice di utilizzo.
Tuttavia, per istruzioni approfondite sull'implementazione dei tuoi modelli TF.js, dai un'occhiata alle seguenti risorse:
-
Estensione di Chrome: Ecco la documentazione per sviluppatori su come implementare i tuoi modelli TF.js in un'estensione di Chrome.
-
Esecuzione di TensorFlow.js in Node.js: Un post del blog di TensorFlow sull'esecuzione di TensorFlow.js direttamente in Node.js.
-
Implementazione di TensorFlow.js - Progetto Node su Cloud Platform: Un post del blog di TensorFlow sull'implementazione di un modello TensorFlow.js su una Cloud Platform.
Riepilogo
In questa guida, abbiamo imparato come esportare i modelli Ultralytics YOLO11 nel formato TensorFlow.js. Esportando in TF.js, ottieni la flessibilità di ottimizzare, implementare e scalare i tuoi modelli YOLO11 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 YOLO11 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 YOLO11 nei tuoi progetti.
FAQ
Come posso esportare i modelli Ultralytics YOLO11 in formato TensorFlow.js?
L'esportazione di modelli Ultralytics YOLO11 nel formato TensorFlow.js (TF.js) è semplice. Puoi seguire questi 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, visita la pagina della documentazione di Ultralytics sulle opzioni di distribuzione.
Perché dovrei esportare i miei modelli YOLO11 in TensorFlow.js?
L'esportazione di modelli YOLO11 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à nell'implementazione.
- 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, consulta 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 sui 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 funzionare 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? Consulta la guida ufficiale di TensorFlow.js.
Quali sono le caratteristiche principali di TensorFlow.js per l'implementazione di modelli 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 implementazione.
- 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 implementazione e informazioni più approfondite, consulta la nostra sezione sulle Opzioni di implementazione con TensorFlow.js.
Posso implementare un modello YOLO11 su applicazioni Node.js lato server utilizzando TensorFlow.js?
Sì, TensorFlow.js consente l'implementazione di modelli YOLO11 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 di dati in tempo reale e le pipeline di machine learning su server backend.
Per iniziare con l'implementazione di Node.js, consulta la guida Esegui TensorFlow.js in Node.js di TensorFlow.