Salta para o conteúdo

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

A implantação de modelos de aprendizado de máquina diretamente no navegador ou no Node.js pode ser complicada. Terás de te certificar de que o formato do teu modelo está optimizado para um desempenho mais rápido, de modo a que o modelo possa ser utilizado para executar aplicações interactivas localmente no dispositivo do utilizador. O formato de modelo TensorFlow.js, ou TF.js, foi projetado para usar o mínimo de energia e 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 para aceleração de 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 de GPU, WebAssembly (WASM) para velocidade de execução quase nativa e WebGPU para recursos avançados de aprendizado de máquina baseados em navegador.

  • 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 implementação em ambientes Node.js, permitindo o desenvolvimento de aplicações de aprendizagem automática do 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.



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

Comentários