Salta para o conteúdo

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

Implantar modelos de aprendizado de máquina diretamente no navegador ou no Node.js pode ser complicado. Você precisará garantir que o formato do seu modelo esteja otimizado para um desempenho mais rápido, para que o modelo possa ser usado para executar aplicativos interativos localmente no dispositivo do usuário. O TensorFlow .js ou TF .js, o formato do modelo foi projetado para usar o mínimo de energia e, ao mesmo tempo, oferecer desempenho rápido.

A funcionalidade "exportar para o formato de modelo TF.js" permite-te otimizar os teus Ultralytics YOLOv8 modelos para inferência de deteção de objetos em alta velocidade e executada localmente. Neste guia, vamos orientar-te na conversão dos teus modelos para o formato TF.js, facilitando o bom desempenho dos teus modelos em vários browsers locais e aplicações Node.js.

Por que razão deves exportar para TF.js?

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

TFArquitetura .js

A execução de modelos localmente também reduz a latência e proporciona uma experiência de utilizador mais reactiva. TensorFlow O .js também vem com capacidades offline, permitindo que os utilizadores utilizem a sua aplicação mesmo sem uma ligação à Internet. TF O .js foi concebido para a execução eficiente de modelos complexos em dispositivos com recursos limitados, uma vez que foi concebido para ser escalável, com suporte de aceleração GPU .

Principais características do TF.js

Eis as principais características que tornam o TF.js uma ferramenta poderosa para os programadores:

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

  • Suporte para vários back-ends: TensorFlow.js suporta vários back-ends para computação, incluindo CPU, WebGL para aceleração GPU , WebAssembly (WASM) para velocidade de execução quase nativa e WebGPU para capacidades avançadas de aprendizagem automática baseadas no browser.

  • Capacidades offline: Com o TensorFlow.js, os modelos podem ser executados no browser sem necessidade de uma ligação à Internet, tornando possível desenvolver aplicações que funcionam offline.

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

Antes de nos debruçarmos sobre o processo de exportação de modelos YOLOv8 para o formato TF.js, vamos explorar alguns cenários de implantação típicos em que este formato é utilizado.

TFO .js fornece uma gama de opções para implementar os teus modelos de aprendizagem automática:

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

  • Aplicações Node.js:: TensorFlow O .js também suporta a implantação em ambientes Node.js, permitindo o desenvolvimento de aplicativos de aprendizado de máquina no lado do servidor. É particularmente útil para aplicações que requerem o poder de processamento de um servidor ou o 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, pode desenvolver uma extensão que permita aos utilizadores clicar com o botão direito do rato numa imagem em qualquer página Web para a classificar utilizando um modelo de ML pré-treinado. TensorFlow O .js pode ser integrado nas experiências quotidianas de navegação na Web para fornecer informações imediatas ou aumentos baseados na aprendizagem automática.

Exportação de modelos YOLOv8 para TensorFlow.js

Podes expandir a compatibilidade de modelos e a flexibilidade de implementação convertendo os modelos YOLOv8 para TF.js.

Instalação

Para instalar o pacote necessário, executa:

Instalação

# Install the required package for YOLOv8
pip install ultralytics

Para obter instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulta o nosso guia de instalaçãoUltralytics . Durante a instalação dos pacotes necessários para YOLOv8, se tiveres alguma dificuldade, consulta o nosso guia de Problemas comuns para obteres soluções e sugestões.

Utilização

Antes de seguir as instruções de utilização, é importante notar que, embora todos os modelosUltralytics YOLOv8 estejam disponíveis para exportação, podes garantir que o modelo que seleccionaste suporta a funcionalidade de exportação aqui.

Utilização

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolov8n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolov8n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF.js format
yolo export model=yolov8n.pt format=tfjs  # creates '/yolov8n_web_model'

# Run inference with the exported model
yolo predict model='./yolov8n_web_model' source='https://ultralytics.com/images/bus.jpg'

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

Implantação de modelos exportados YOLOv8 TensorFlow .js

Agora que exportaste o modelo YOLOv8 para o formato TF.js, a próxima etapa é implantá-lo. O primeiro passo primário e recomendado para executar um TF.js é usar o método YOLO("./yolov8n_web_model"), como mostrado anteriormente no trecho de código de uso.

No entanto, para obter instruções detalhadas sobre como implantar seus modelos TF.js, dá uma olhada nos seguintes recursos:

Resumo

Neste guia, aprendemos como exportar modelos Ultralytics YOLOv8 para o formato TensorFlow.js. Ao exportar para TF.js, você ganha flexibilidade para otimizar, implantar e dimensionar seus modelos YOLOv8 em uma ampla variedade de plataformas.

Para mais detalhes sobre a utilização, visita a documentação oficialTensorFlow.js.

Para obter mais informações sobre a integração do Ultralytics YOLOv8 com outras plataformas e estruturas, não te esqueças de consultar a nossa página de guia de integração. Ela está repleta de ótimos recursos para ajudá-lo a aproveitar ao máximo o YOLOv8 em seus projetos.

FAQ

Como é que exporto os modelos Ultralytics YOLOv8 para o formato TensorFlow.js?

A exportação dos modelos Ultralytics YOLOv8 para o formato TensorFlow.js (TF.js) é simples. Podes seguir estes passos:

Utilização

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolov8n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolov8n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF.js format
yolo export model=yolov8n.pt format=tfjs  # creates '/yolov8n_web_model'

# Run inference with the exported model
yolo predict model='./yolov8n_web_model' source='https://ultralytics.com/images/bus.jpg'

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

Por que razão devo exportar os meus modelos YOLOv8 para TensorFlow.js?

A exportação de modelos YOLOv8 para TensorFlow.js oferece várias vantagens, incluindo:

  1. Execução local: Os modelos podem ser executados diretamente no browser ou no Node.js, reduzindo a latência e melhorando a experiência do utilizador.
  2. Suporte multiplataforma: TF.js suporta vários ambientes, permitindo flexibilidade na implantação.
  3. Capacidades offline: Permite que as aplicações funcionem sem uma ligação à Internet, garantindo fiabilidade e privacidade.
  4. GPU Aceleração: Aproveita o WebGL para a aceleração GPU , otimizando o desempenho em dispositivos com recursos limitados.

Para uma visão geral abrangente, vê as nossas Integrações com TensorFlow.js.

Como é que o TensorFlow.js beneficia as aplicações de aprendizagem automática baseadas no browser?

TensorFlow.js foi especificamente concebido para a execução eficiente de modelos de ML em browsers e ambientes Node.js. Eis como beneficia as aplicações baseadas no browser:

  • Reduz a latência: Executa modelos de aprendizagem automática localmente, fornecendo resultados imediatos sem depender de cálculos do 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 uma 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.

Estás interessado em saber mais sobre TF.js? Consulta o guia oficial TensorFlow.js.

Quais são as principais características do TensorFlow.js para a implantação de modelos YOLOv8 ?

As principais características do TensorFlow.js incluem:

  • Suporte multiplataforma: TF.js pode ser utilizado tanto em navegadores Web como em Node.js, proporcionando uma grande flexibilidade de implementação.
  • Vários backends: Suporta CPU, WebGL para aceleração GPU , WebAssembly (WASM) e WebGPU para operações avançadas.
  • Capacidades offline: Os modelos podem ser executados diretamente no browser sem ligação à Internet, o que o torna ideal para o desenvolvimento de aplicações Web com capacidade de resposta.

Para cenários de implantação e informações mais detalhadas, consulte a nossa secção sobre Opções de implantação com TensorFlow.js.

Posso implementar um modelo YOLOv8 em aplicações Node.js do lado do servidor utilizando TensorFlow.js?

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

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



Criado em 2024-04-03, Atualizado em 2024-07-05
Autores: glenn-jocher (6), abirami-vina (1)

Comentários