Exportar para o Formato de Modelo TF.js a partir de um Formato de Modelo YOLO26#
A partir de Ultralytics 8.4.83, o formato de exportação tfjs (TensorFlow.js) foi removido e substituído pelo formato unificado Google LiteRT. O LiteRT é executado no navegador através do LiteRT.js (com aceleração WebGPU) — cobrindo os casos de uso de navegador e Node.js que o TF.js geria, juntamente com dispositivos móveis, incorporados e de borda, a partir de um único modelo .tflite.
O format="tfjs" ainda funciona, mas emite um aviso de descontinuação e exporta um modelo LiteRT. Usa format="litert" daqui em diante; para instruções de exportação atuais e o caminho de implementação no navegador, consulta o guia de exportação do LiteRT.
Implementar modelos de aprendizagem automática diretamente no navegador ou no Node.js pode ser complicado. Precisas de garantir que o teu formato de modelo está otimizado para um desempenho mais rápido, para que o modelo possa ser utilizado para executar aplicações interativas localmente no dispositivo do utilizador. O formato de modelo TensorFlow.js, ou TF.js, foi concebido para utilizar energia mínima enquanto proporciona um desempenho rápido.
A funcionalidade 'exportar para o formato de modelo TF.js' permite-te otimizar os teus modelos Ultralytics YOLO26 para inferência de deteção de objetos de alta velocidade e executada localmente. Neste guia, vamos ajudar-te a converter os teus modelos para o formato TF.js, tornando mais fácil para os teus modelos terem um bom desempenho em vários navegadores locais e aplicações Node.js.
Porque deverias exportar para TF.js?#
Exportar os teus modelos de machine learning para TensorFlow.js, desenvolvido pela equipa do TensorFlow como parte do ecossistema mais amplo do TensorFlow, oferece inúmeras vantagens para a implantação de aplicações de machine learning. Ajuda a melhorar a privacidade e segurança do utilizador ao manter dados sensíveis no dispositivo. A imagem abaixo mostra a arquitetura do TensorFlow.js e como os modelos de machine learning são convertidos e implantados tanto em navegadores web como no Node.js.
Executar modelos localmente também reduz a latência e proporciona uma experiência de utilizador mais responsiva. O TensorFlow.js também inclui capacidades offline, permitindo aos utilizadores utilizar a tua aplicação mesmo sem ligação à internet. O TF.js foi concebido para a execução eficiente de modelos complexos em dispositivos com recursos limitados, uma vez que foi projetado para escalabilidade, com suporte para aceleração por GPU.
Principais Funcionalidades do TF.js#
Aqui estão as principais funcionalidades que fazem do TF.js uma ferramenta poderosa para programadores:
-
Suporte Multiplataforma: O TensorFlow.js pode ser utilizado tanto em navegadores como em ambientes Node.js, proporcionando flexibilidade na implantação em diferentes plataformas. Permite que os programadores criem e implantem aplicações mais facilmente.
-
Suporte para Múltiplos Backends: O TensorFlow.js suporta vários backends para computação, incluindo CPU, WebGL para aceleração por GPU, WebAssembly (WASM) para uma velocidade de execução próxima da nativa, e WebGPU para capacidades avançadas de machine learning baseadas no navegador.
-
Capacidades Offline: Com o TensorFlow.js, os modelos podem ser executados no navegador sem a necessidade de uma ligação à internet, tornando possível desenvolver aplicações que funcionam offline.
Opções de Implantação com TensorFlow.js#
Antes de mergulharmos no processo de exportação de modelos YOLO26 para o formato TF.js, vamos explorar alguns cenários típicos de implantação onde este formato é utilizado.
O TF.js oferece uma variedade de opções para implantar os teus modelos de machine learning:
-
Aplicações de ML no Navegador: Podes criar aplicações web que executam modelos de machine learning diretamente no navegador. A necessidade de computação no lado do servidor é eliminada e a carga no servidor é reduzida.
-
Aplicações Node.js: O TensorFlow.js também suporta a implantação em ambientes Node.js, permitindo o desenvolvimento de aplicações de machine learning no lado do servidor. É particularmente útil para aplicações que requerem o poder de processamento de um servidor ou acesso a dados do lado do servidor.
-
Extensões do Chrome: Um cenário de implantação interessante é a criação de extensões do Chrome com TensorFlow.js. Por exemplo, podes desenvolver uma extensão que permite aos utilizadores clicar com o botão direito numa imagem dentro de qualquer página web para a classificar usando um modelo de ML pré-treinado. O TensorFlow.js pode ser integrado em experiências diárias de navegação web para fornecer insights imediatos ou ampliações baseadas em machine learning.
Exportar Modelos YOLO26 para TensorFlow.js#
Podes expandir a compatibilidade do modelo e a flexibilidade de implantação convertendo modelos YOLO26 para TF.js.
Instalação#
Para instalar o pacote necessário, execute:
# Install the required package for YOLO26
pip install ultralyticsPara instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulta o nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLO26, se encontrares alguma dificuldade, consulta o nosso guia de problemas comuns para obter soluções e dicas.
Uso#
Todos os modelos Ultralytics YOLO26 são projetados para suportar exportação nativamente, facilitando a integração deles no teu fluxo de trabalho de implantação preferido. Podes ver a lista completa de formatos de exportação suportados e opções de configuração para escolher a melhor configuração para a tua aplicação.
O argumento tfjs exporta agora um modelo LiteRT .tflite, que suporta os modos Exportar, Prever e Validar localmente e é executado no navegador através do LiteRT.js. Consulta o guia de exportação do LiteRT para o caminho atual de implementação no navegador e no dispositivo.
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 classificationO modelo LiteRT .tflite exportado é carregado diretamente com yolo predict e yolo val, e é executado no navegador através do LiteRT.js. Consulta o guia de exportação do LiteRT.
Argumentos de Exportação#
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
format | str | 'tfjs' | Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implementação. |
imgsz | int ou tuple | 640 | Tamanho de imagem desejado para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas. |
quantize | int ou str | None | Precisão de quantização: 8 (INT8 estático, pesos int8 + ativações int8; precisa de calibração data/fraction), 'w8a16' (estático, pesos int8 + ativações int16; precisa de calibração data/fraction), 'w8a32' (INT8 dinâmico, pesos int8 + ativações FP32; sem necessidade de calibração) ou 32/não definido (FP32). O FP16 não é exportado separadamente — um modelo FP32 é executado em FP16 automaticamente em delegados de GPU. Substitui os sinalizadores obsoletos half/int8. |
batch | int | 1 | Especifica o tamanho de inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado processará concorrentemente no modo predict. |
data | str | None | Caminho para o YAML do dataset, essencial para a quantização; a classificação, em vez disso, aceita um diretório de dataset ou um nome de dataset integrado. Se omitido com quantize=8 ou 'w8a16', o Ultralytics seleciona o dataset de calibração padrão para a tarefa do modelo. |
fraction | float, int ou list | 1.0 | Subconjunto de calibração como uma proporção, contagem de imagens ou proporções/contagens de [train, val, test]. Listas de dois itens deixam test cheio, enquanto 0 o pula. |
device | str | None | Especifica o dispositivo para exportação: CPU (device=cpu), MPS para Apple silicon (device=mps). |
Para mais detalhes sobre o processo de exportação, visita a página de documentação do Ultralytics sobre exportação.
Implantar Modelos YOLO26 TensorFlow.js Exportados#
Agora que exportaste o teu modelo YOLO26, o passo seguinte é implementá-lo. A exportação produz um modelo LiteRT .tflite que é executado no dispositivo e no navegador através do LiteRT.js — consulta o guia de exportação do LiteRT para o caminho atual.
Para referência, os recursos legados do runtime TensorFlow.js estão abaixo:
-
Extensão para o Chrome: Aqui tens a documentação para programadores sobre como implementar os teus modelos TF.js numa extensão do Chrome.
-
Executar o TensorFlow.js no Node.js: Uma publicação de blogue do TensorFlow sobre como executar o TensorFlow.js diretamente no Node.js.
-
Implementar o TensorFlow.js - Projeto Node numa Plataforma Cloud: Uma publicação de blogue do TensorFlow sobre como implementar um modelo TensorFlow.js numa Plataforma Cloud.
Resumo#
Neste guia, aprendemos como exportar modelos Ultralytics YOLO26 para o formato TensorFlow.js. Ao exportar para TF.js, ganhas a flexibilidade para otimizar, implantar e escalar os teus modelos YOLO26 numa vasta gama de plataformas.
Para mais detalhes sobre a utilização, visita a documentação oficial do TensorFlow.js.
Para mais informações sobre como integrar o Ultralytics YOLO26 com outras plataformas e frameworks, não te esqueças de conferir a nossa página do guia de integração. Ela está repleta de ótimos recursos para ajudar-te a aproveitar ao máximo o YOLO26 nos teus projetos.
FAQ#
Exportar modelos Ultralytics YOLO26 para o formato TensorFlow.js (TF.js) é simples. Podes seguir estes passos:
Usofrom 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.Para mais detalhes sobre as opções de exportação suportadas, visita a página de documentação da Ultralytics sobre opções de implementação.
Exportar modelos YOLO26 para TensorFlow.js oferece várias vantagens, incluindo:
- Execução Local: Os modelos podem ser executados diretamente no navegador ou Node.js, reduzindo a latência e melhorando a experiência do utilizador.
- Suporte Multiplataforma: O TF.js suporta múltiplos ambientes, permitindo flexibilidade na implantação.
- Capacidades Offline: Permite que as aplicações funcionem sem uma ligação à internet, garantindo fiabilidade e privacidade.
- Aceleração por GPU: Aproveita o WebGL para aceleração por GPU, otimizando o desempenho em dispositivos com recursos limitados.
As principais funcionalidades do TensorFlow.js incluem:
- Suporte Multiplataforma: O TF.js pode ser usado tanto em navegadores web como no Node.js, proporcionando uma vasta flexibilidade de implantação.
- Múltiplos Backends: Suporta CPU, WebGL para aceleração por GPU, WebAssembly (WASM) e WebGPU para operações avançadas.
- Capacidades Offline: Os modelos podem ser executados diretamente no navegador sem ligação à internet, tornando-o ideal para desenvolver aplicações web responsivas.
Para cenários de implementação e informações mais detalhadas, consulta a nossa secção sobre Opções de Implementação com o TensorFlow.js.
Sim, o TensorFlow.js permite a implantação de modelos YOLO26 em ambientes Node.js. Isto possibilita aplicações de machine learning no lado do servidor que beneficiam do poder de processamento de um servidor e do acesso a dados do lado do servidor. Casos de uso típicos incluem processamento de dados em tempo real e pipelines de machine learning em servidores backend.
Para começares com a implementação no Node.js, consulta o guia Executar o TensorFlow.js no Node.js do TensorFlow.