Ultralytics YOLO27:

Exportar para o formato de modelo TF.js a partir de um formato de modelo YOLO26#

Obsoleto — substituído pelo LiteRT

A partir do 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), abrangendo os casos de uso no navegador e no Node.js tratados pelo TF.js, além de dispositivos móveis, incorporados e de edge, a partir de um único modelo .tflite.

format="tfjs" continua a funcionar, mas emite um aviso de obsolescência e exporta um modelo LiteRT. Usa format="litert" daqui em diante; para obter as instruções de exportação atuais e o processo 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. Tens de garantir que o formato do modelo está otimizado para um desempenho mais rápido, para que o modelo possa ser usado na execução de aplicações interativas localmente no dispositivo do utilizador. O formato de modelo TensorFlow.js, ou TF.js, foi concebido para utilizar o mínimo de energia e, ao mesmo tempo, oferecer um desempenho rápido.

A funcionalidade «exportar para o formato de modelo TF.js» permite otimizar os teus modelos Ultralytics YOLO26 para inferência de deteção de objetos de alta velocidade executada localmente. Neste guia, mostramos-te como converter os teus modelos para o formato TF.js, facilitando um bom desempenho dos teus modelos em vários navegadores locais e aplicações Node.js.

Por que deves exportar para TF.js?#

Exportar os teus modelos de aprendizagem automática para TensorFlow.js, desenvolvido pela equipa do TensorFlow como parte do ecossistema TensorFlow mais amplo, oferece inúmeras vantagens para implementar aplicações de aprendizagem automática. Ajuda a melhorar a privacidade e a segurança dos utilizadores, mantendo os dados sensíveis no dispositivo. A imagem abaixo mostra a arquitetura do TensorFlow.js e como os modelos de aprendizagem automática são convertidos e implementados em navegadores Web e no Node.js.

TensorFlow.js browser ML inference architecture

Executar os modelos localmente também reduz a latência e proporciona uma experiência de utilizador mais responsiva. O TensorFlow.js também inclui funcionalidades offline, permitindo que os utilizadores utilizem 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 desenvolvido para oferecer escalabilidade, com suporte para aceleração por GPU.

Principais funcionalidades do TF.js#

Estas são as principais funcionalidades que tornam o TF.js uma ferramenta poderosa para programadores:

  • Suporte multiplataforma: O TensorFlow.js pode ser utilizado em ambientes de navegador e Node.js, proporcionando flexibilidade na implementação em diferentes plataformas. Permite que os programadores criem e implementem aplicações com maior facilidade.

  • Suporte para vários 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 aprendizagem automática baseadas no navegador.

  • Funcionalidades offline: Com o TensorFlow.js, os modelos podem ser executados no navegador sem necessidade de ligação à Internet, tornando possível desenvolver aplicações funcionais offline.

Opções de implementação com TensorFlow.js#

Antes de explicarmos o processo de exportação de modelos YOLO26 para o formato TF.js, vamos explorar alguns cenários típicos de implementação em que este formato é utilizado.

O TF.js oferece várias opções para implementar os teus modelos de aprendizagem automática:

  • Aplicações de aprendizagem automática no navegador: Podes criar aplicações Web que executam modelos de aprendizagem automática diretamente no navegador. A necessidade de computação no lado do servidor é eliminada e a carga do servidor é reduzida.

  • Aplicações Node.js: O TensorFlow.js também suporta a implementação em ambientes Node.js, permitindo o desenvolvimento de aplicações de aprendizagem automática no lado do servidor. É particularmente útil para aplicações que necessitam do poder de processamento de um servidor ou de acesso a dados no lado do servidor.

  • Extensões do Chrome: Um cenário de implementação interessante é a criação de extensões do Chrome com TensorFlow.js. Por exemplo, podes desenvolver uma extensão que permita aos utilizadores clicar com o botão direito numa imagem de qualquer página Web para a classificar utilizando um modelo de aprendizagem automática pré-treinado. O TensorFlow.js pode ser integrado nas experiências quotidianas de navegação na Web para fornecer informações ou melhorias imediatas com base em aprendizagem automática.

Exportar modelos YOLO26 para TensorFlow.js#

Podes ampliar a compatibilidade dos modelos e a flexibilidade de implementação convertendo modelos YOLO26 para TF.js.

Instalação#

Para instalar o pacote necessário, executa:

Instalação
# Install the required package for YOLO26
pip install ultralytics

Para obter instruções detalhadas e boas práticas relacionadas com o processo de instalação, consulte o nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para YOLO26, se encontrar alguma dificuldade, consulte o nosso guia de problemas comuns para obter soluções e dicas.

Utilização#

Todos os modelos Ultralytics YOLO26 foram concebidos para suportar a exportação imediatamente, facilitando a sua integração no teu fluxo de trabalho de implementação preferido. Podes consultar a lista completa de formatos de exportação e opções de configuração compatíveis para escolher a melhor configuração para a tua aplicação.

O argumento tfjs exporta agora um modelo .tflite LiteRT, que suporta localmente os modos Exportar, Prever e Validar, e é executado no navegador através do LiteRT.js. Consulta o guia de exportação do LiteRT para conhecer o processo atual de implementação no navegador e no dispositivo.

Exportação
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 classification
Prever e validar

O modelo .tflite LiteRT 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#

ArgumentoTipoPredefiniçãoDescrição
formatstr'tfjs'Formato de destino do modelo exportado, que define a compatibilidade com vários ambientes de implementação.
imgszint ou tuple640Tamanho de imagem pretendido para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou um tuplo (height, width) para dimensões específicas.
quantizeint ou strNonePrecisão da quantização: 8 (INT8 estático, pesos int8 + ativações int8; requer calibração data/fraction), 'w8a16' (estático, pesos int8 + ativações int16; requer calibração data/fraction), 'w8a32' (INT8 dinâmico, pesos int8 + ativações FP32; não requer calibração) ou 32/não definido (FP32). FP16 não é exportado separadamente — um modelo FP32 é executado automaticamente em FP16 nos delegados da GPU. Substitui as flags obsoletas half/int8.
batchint1Especifica o tamanho do lote de inferência do modelo exportado ou o número máximo de imagens que o modelo exportado processará em simultâneo no modo predict.
datastrNoneCaminho para o YAML do conjunto de dados, essencial para a quantização; a classificação requer, em vez disso, um diretório de conjunto de dados ou um nome de conjunto de dados integrado. Se for omitido com quantize=8 ou 'w8a16', a Ultralytics seleciona o conjunto de dados de calibração predefinido para a tarefa do modelo.
fractionfloat, int ou list1.0Subconjunto de calibração como proporção, contagem de imagens ou proporções/contagens de [train, val, test]. Listas de dois itens deixam test completo, enquanto 0 o ignora.
devicestrNoneEspecifica o dispositivo para a exportação: CPU (device=cpu), MPS para Apple silicon (device=mps).

Para obter mais detalhes sobre o processo de exportação, visita a página da documentação da Ultralytics sobre exportação.

Implementar modelos YOLO26 TensorFlow.js exportados#

Agora que exportaste o teu modelo YOLO26, o passo seguinte é implementá-lo. A exportação produz um modelo .tflite LiteRT que é executado no dispositivo e no navegador através do LiteRT.js — consulta o guia de exportação do LiteRT para conhecer o processo atual.

Para referência, os recursos do runtime legado do TensorFlow.js encontram-se abaixo:

Resumo#

Neste guia, aprendemos a exportar modelos Ultralytics YOLO26 para o formato TensorFlow.js. Ao exportares para TF.js, obténs a flexibilidade necessária para otimizar, implementar e escalar os teus modelos YOLO26 numa vasta gama de plataformas.

Para obter mais detalhes sobre a utilização, visita a documentação oficial do TensorFlow.js.

Para obter mais informações sobre a integração do Ultralytics YOLO26 com outras plataformas e frameworks, não te esqueças de consultar a nossa página do guia de integrações. Ela reúne excelentes recursos para te ajudar a tirar o máximo partido do YOLO26 nos teus projetos.

Perguntas frequentes#

  • Exportar modelos Ultralytics YOLO26 para o formato TensorFlow.js (TF.js) é simples. Podes seguir estes passos:

    Utilização
    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 classification
    
    # The exported '.tflite' model runs in the browser via LiteRT.js or locally with yolo predict/val.

    Para obter mais detalhes sobre as opções de exportação suportadas, visita a página da documentação da Ultralytics sobre opções de implementação.

  • Exportar modelos YOLO26 para TensorFlow.js oferece várias vantagens, incluindo:

    1. Execução local: Os modelos podem ser executados diretamente no navegador ou no Node.js, reduzindo a latência e melhorando a experiência do utilizador.
    2. Suporte multiplataforma: O TF.js suporta vários ambientes, permitindo flexibilidade na implementação.
    3. Funcionalidades offline: Permite que as aplicações funcionem sem ligação à Internet, garantindo fiabilidade e privacidade.
    4. Aceleração por GPU: Utiliza WebGL para aceleração por GPU, otimizando o desempenho em dispositivos com recursos limitados.
  • O TensorFlow.js foi especificamente concebido para a execução eficiente de modelos de aprendizagem automática em navegadores e ambientes Node.js. Eis como beneficia as aplicações baseadas no navegador:

    • Reduz a latência: Executa os modelos de aprendizagem automática localmente, fornecendo resultados imediatos sem depender de computação no lado do servidor.
    • Melhora a privacidade: Mantém os dados sensíveis no dispositivo do utilizador, minimizando os riscos de segurança.
    • Permite a utilização offline: Os modelos podem funcionar sem ligação à Internet, garantindo uma funcionalidade consistente.
    • Suporta vários backends: Oferece flexibilidade com backends como CPU, WebGL, WebAssembly (WASM) e WebGPU para diferentes necessidades computacionais.

    Queres saber mais sobre o TF.js? Consulta o guia oficial do TensorFlow.js.

  • As principais funcionalidades do TensorFlow.js incluem:

    • Suporte multiplataforma: O TF.js pode ser utilizado tanto em navegadores Web como no Node.js, proporcionando uma ampla flexibilidade de implementação.
    • Vários backends: Suporta CPU, WebGL para aceleração por GPU, WebAssembly (WASM) e WebGPU para operações avançadas.
    • Funcionalidades offline: Os modelos podem ser executados diretamente no navegador sem ligação à Internet, tornando-o ideal para desenvolver aplicações Web responsivas.

    Para conhecer os cenários de implementação e obter informações mais aprofundadas, consulta a nossa secção sobre Opções de implementação com TensorFlow.js.

  • Sim, o TensorFlow.js permite implementar modelos YOLO26 em ambientes Node.js. Isto possibilita aplicações de aprendizagem automática no lado do servidor que beneficiam do poder de processamento de um servidor e do acesso a dados no lado do servidor. Os casos de uso típicos incluem o processamento de dados em tempo real e pipelines de aprendizagem automática em servidores backend.

    Para começar a implementação no Node.js, consulta o guia Executar TensorFlow.js no Node.js do TensorFlow.

Comentários