Vai al contenuto

Export to TF.js Model Format From a YOLO11 Model Format

Deploying machine learning models directly in the browser or on Node.js can be tricky. You'll need to make sure your model format is optimized for faster performance so that the model can be used to run interactive applications locally on the user's device. The TensorFlow.js, or TF.js, model format is designed to use minimal power while delivering fast performance.

The 'export to TF.js model format' feature allows you to optimize your Ultralytics YOLO11 models for high-speed and locally-run object detection inference. In this guide, we'll walk you through converting your models to the TF.js format, making it easier for your models to perform well on various local browsers and Node.js applications.

Perché dovresti esportare in TF.js?

Esportare i tuoi 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

Running models locally also reduces latency and provides a more responsive user experience. TensorFlow.js also comes with offline capabilities, allowing users to use your application even without an internet connection. TF.js is designed for efficient execution of complex models on devices with limited resources as it is engineered for scalability, with GPU acceleration support.

Caratteristiche principali di TF.js

Ecco le caratteristiche principali che rendono TF.js un potente strumento 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. Permette agli sviluppatori di creare e distribuire applicazioni in modo più semplice.

  • 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 bisogno di una connessione a internet, rendendo possibile lo sviluppo di applicazioni funzionanti anche offline.

Opzioni di distribuzione con TensorFlow.js

Before we dive into the process of exporting YOLO11 models to the TF.js format, let's explore some typical deployment scenarios where this format is used.

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

  • Applicazioni ML nel browser: Puoi 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 utilizzo è la creazione di estensioni di Chrome con TensorFlow.js. Ad esempio, puoi sviluppare un'estensione che permetta agli utenti di cliccare con il tasto destro del mouse su un'immagine all'interno di una pagina web per classificarla utilizzando un modello ML pre-allenato. TensorFlow Le estensioni .js possono essere integrate nelle esperienze quotidiane di navigazione sul web per fornire approfondimenti o miglioramenti immediati basati sull'apprendimento automatico.

Exporting YOLO11 Models to TensorFlow.js

You can expand model compatibility and deployment flexibility by converting YOLO11 models to TF.js.

Installazione

Per installare il pacchetto richiesto, esegui:

Installazione

# Install the required package for YOLO11
pip install ultralytics

For detailed instructions and best practices related to the installation process, check our Ultralytics Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.

Utilizzo

Before diving into the usage instructions, it's important to note that while all Ultralytics YOLO11 models are available for exporting, you can ensure that the model you select supports export functionality here.

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 di documentazione diUltralytics sulle opzioni di distribuzione.

Deploying Exported YOLO11 TensorFlow.js Models

Now that you have exported your YOLO11 model to the TF.js format, the next step is to deploy it. The primary and recommended first step for running a TF.js is to use the YOLO("./yolo11n_web_model") method, as previously shown in the usage code snippet.

Tuttavia, per istruzioni approfondite su come distribuire i tuoi modelli TF.js, dai un'occhiata alle seguenti risorse:

Sommario

In this guide, we learned how to export Ultralytics YOLO11 models to the TensorFlow.js format. By exporting to TF.js, you gain the flexibility to optimize, deploy, and scale your YOLO11 models on a wide range of platforms.

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

For more information on integrating Ultralytics YOLO11 with other platforms and frameworks, don't forget to check out our integration guide page. It's packed with great resources to help you make the most of YOLO11 in your projects.

DOMANDE FREQUENTI

How do I export Ultralytics YOLO11 models to TensorFlow.js format?

Exporting Ultralytics YOLO11 models to TensorFlow.js (TF.js) format is straightforward. You can follow these steps:

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 di documentazione diUltralytics sulle opzioni di distribuzione.

Why should I export my YOLO11 models to TensorFlow.js?

Exporting YOLO11 models to TensorFlow.js offers several advantages, including:

  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 diversi ambienti, consentendo una certa flessibilità nella distribuzione.
  3. Funzionalità offline: Permette 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, consulta le nostre Integrazioni con TensorFlow.js.

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

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

What are the key features of TensorFlow.js for deploying YOLO11 models?

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

Per gli scenari di distribuzione e per informazioni più approfondite, consulta la nostra sezione sulle opzioni di distribuzione con TensorFlow.js.

Can I deploy a YOLO11 model on server-side Node.js applications using TensorFlow.js?

Yes, TensorFlow.js allows the deployment of YOLO11 models on Node.js environments. This enables server-side machine learning applications that benefit from the processing power of a server and access to server-side data. Typical use cases include real-time data processing and machine learning pipelines on backend servers.

Per iniziare a distribuire Node.js, consulta la guida Esegui TensorFlow.js in Node.js di TensorFlow.

📅 Created 6 months ago ✏️ Updated 22 days ago

Commenti