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-05-18
Autores: glenn-jocher (2), abirami-vina (1)

Coment√°rios