Salta para o conte√ļdo

Melhora o seguimento e a visualização da experiência YOLOv8 com Weights & Biases

Os modelos de dete√ß√£o de objectos como o Ultralytics YOLOv8 tornaram-se parte integrante de muitas aplica√ß√Ķes de vis√£o computacional. No entanto, o treino, a avalia√ß√£o e a implementa√ß√£o destes modelos complexos apresentam v√°rios desafios. O acompanhamento das principais m√©tricas de forma√ß√£o, a compara√ß√£o das variantes do modelo, a an√°lise do comportamento do modelo e a dete√ß√£o de problemas requerem instrumenta√ß√£o substancial e gest√£o de experi√™ncias.

Este guia apresenta a integra√ß√£o do Ultralytics YOLOv8 com o Weights & Biases' para um melhor acompanhamento das experi√™ncias, verifica√ß√£o de modelos e visualiza√ß√£o do desempenho dos modelos. Inclui tamb√©m instru√ß√Ķes para configurar a integra√ß√£o, treinar, afinar e visualizar resultados utilizando as funcionalidades interactivas do Weights & Biases'.

Weights & Biases

Weights & Biases Vis√£o geral

Weights & Biases é uma plataforma MLOps de ponta concebida para acompanhar, visualizar e gerir experiências de aprendizagem automática. Inclui o registo automático de métricas de formação para uma reprodutibilidade total da experiência, uma interface de utilizador interactiva para uma análise de dados simplificada e ferramentas de gestão de modelos eficientes para implementação em vários ambientes.

YOLOv8 Formação com Weights & Biases

Podes utilizar o Weights & Biases para aumentar a eficiência e a automatização do teu processo de formação YOLOv8 .

Instalação

Para instalar os pacotes necess√°rios, executa:

Instalação

# Install the required packages for YOLOv8 and Weights & Biases
pip install --upgrade ultralytics==8.0.186 wandb

Para obter instru√ß√Ķes detalhadas e melhores pr√°ticas relacionadas com o processo de instala√ß√£o, consulta o nosso guia de instala√ß√£oYOLOv8 . 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.

Configura√ß√Ķes Weights & Biases

Depois de instalar os pacotes necessários, o próximo passo é configurar o teu ambiente Weights & Biases . Isto inclui a criação de uma conta Weights & Biases e a obtenção da chave API necessária para uma ligação sem problemas entre o teu ambiente de desenvolvimento e a plataforma W&B.

Come√ßa por inicializar o ambiente Weights & Biases no teu espa√ßo de trabalho. Podes fazer isso executando o seguinte comando e seguindo as instru√ß√Ķes apresentadas.

Configuração inicial do SDK

# Initialize your Weights & Biases environment
import wandb
wandb.login()

Navega para a página de autorização Weights & Biases para criar e obter a sua chave API. Utiliza esta chave para autenticar o teu ambiente com a W&B.

Usa: Treina YOLOv8 com Weights & Biases

Antes de mergulhar nas instru√ß√Ķes de utiliza√ß√£o para a forma√ß√£o do modelo YOLOv8 com Weights & Biases, n√£o te esque√ßas de verificar a gama de modelosYOLOv8 oferecidos por Ultralytics. Isto ajudar-te-√° a escolher o modelo mais adequado aos requisitos do teu projeto.

Usa: Treina YOLOv8 com Weights & Biases

from ultralytics import YOLO
from wandb.integration.ultralytics import add_wandb_callback
import wandb

# Step 1: Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")

# Step 2: Define the YOLOv8 Model and Dataset
model_name = "yolov8n"
dataset_name = "coco128.yaml"
model = YOLO(f"{model_name}.pt")

# Step 3: Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Step 4: Train and Fine-Tune the Model
model.train(project="ultralytics", data=dataset_name, epochs=5, imgsz=640)

# Step 5: Validate the Model
model.val()

# Step 6: Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])

# Step 7: Finalize the W&B Run
wandb.finish()

Compreender o código

Vamos entender os passos mostrados no trecho de código de uso acima.

  • Etapa 1: Inicializa uma execu√ß√£o do Weights & Biases : Come√ßa por inicializar uma execu√ß√£o Weights & Biases , especificando o nome do projeto e o tipo de trabalho. Essa execu√ß√£o acompanhar√° e gerenciar√° os processos de treinamento e valida√ß√£o do seu modelo.

  • Passo 2: Define o modelo YOLOv8 e o conjunto de dados: Especifica a variante do modelo e o conjunto de dados que deseja usar. O modelo YOLO √© ent√£o inicializado com o arquivo de modelo especificado.

  • Passo 3: Adiciona Weights & Biases Callback para Ultralytics: Este passo √© crucial, pois permite o registo autom√°tico das m√©tricas de forma√ß√£o e dos resultados de valida√ß√£o em Weights & Biases, fornecendo uma vis√£o detalhada do desempenho do modelo.

  • Passo 4: Treina e afina o modelo: Come√ßa a treinar o modelo com o conjunto de dados especificado, o n√ļmero de √©pocas e o tamanho da imagem. O processo de treino inclui o registo de m√©tricas e previs√Ķes no final de cada √©poca, oferecendo uma vis√£o abrangente do progresso da aprendizagem do modelo.

  • Passo 5: Valida o modelo: Ap√≥s o treino, o modelo √© validado. Esta etapa √© crucial para avaliar o desempenho do modelo em dados n√£o vistos e garantir a sua generaliza√ß√£o.

  • Passo 6: Executa a infer√™ncia e regista os resultados: O modelo efectua previs√Ķes em imagens especificadas. Estas previs√Ķes, juntamente com sobreposi√ß√Ķes visuais e informa√ß√Ķes, s√£o automaticamente registadas numa tabela W&B para explora√ß√£o interactiva.

  • Passo 7: Finaliza a execu√ß√£o de W&B: Este passo marca o fim do registo de dados e guarda o estado final do processo de forma√ß√£o e valida√ß√£o do seu modelo no painel de controlo W&B.

Compreender a saída

Ao executar o trecho de código de utilização acima, podes esperar os seguintes resultados principais:

  • A configura√ß√£o de uma nova execu√ß√£o com o seu ID √ļnico, indicando o in√≠cio do processo de forma√ß√£o.
  • Apresenta um resumo conciso da estrutura do modelo, incluindo o n√ļmero de camadas e os par√Ęmetros.
  • Actualiza√ß√Ķes regulares de m√©tricas importantes, como perda de caixa, perda de cls, perda de dfl, precis√£o, recupera√ß√£o e pontua√ß√Ķes mAP durante cada √©poca de treino.
  • No final do treino, s√£o apresentadas m√©tricas detalhadas, incluindo a velocidade de infer√™ncia do modelo e m√©tricas de precis√£o geral.
  • Liga para o painel de controlo Weights & Biases para uma an√°lise e visualiza√ß√£o aprofundadas do processo de forma√ß√£o, juntamente com informa√ß√Ķes sobre as localiza√ß√Ķes dos ficheiros de registo locais.

Ver o painel de controlo Weights & Biases

Depois de executar o fragmento de código de utilização, podes aceder ao painel de controlo Weights & Biases (W&B) através da ligação fornecida na saída. Este painel oferece uma visão abrangente do processo de formação do teu modelo com YOLOv8.

Principais características do painel de controlo Weights & Biases

  • Acompanhamento de m√©tricas em tempo real: Observa m√©tricas como perda, precis√£o e pontua√ß√Ķes de valida√ß√£o √† medida que evoluem durante o treinamento, oferecendo insights imediatos para o ajuste do modelo.

  • Otimiza√ß√£o de hiperpar√Ęmetros: Weights & Biases ajuda a afinar par√Ęmetros cr√≠ticos, como a taxa de aprendizagem, o tamanho do lote e muito mais, melhorando o desempenho de YOLOv8.

  • An√°lise comparativa: A plataforma permite compara√ß√Ķes lado a lado de diferentes treinos, essenciais para avaliar o impacto de v√°rias configura√ß√Ķes de modelos.

  • Visualiza√ß√£o do progresso do treinamento: As representa√ß√Ķes gr√°ficas das principais m√©tricas fornecem uma compreens√£o intuitiva do desempenho do modelo ao longo das √©pocas.

  • Monitoriza√ß√£o de recursos: Controla a utiliza√ß√£o da CPU, GPU e mem√≥ria para otimizar a efici√™ncia do processo de forma√ß√£o.

  • Gest√£o de artefactos de modelos: Acede e partilha pontos de verifica√ß√£o de modelos, facilitando a implementa√ß√£o e a colabora√ß√£o.

  • Visualiza os resultados da infer√™ncia com a sobreposi√ß√£o de imagens: Visualiza os resultados da previs√£o em imagens utilizando sobreposi√ß√Ķes interactivas em Weights & Biases, proporcionando uma vis√£o clara e detalhada do desempenho do modelo em dados do mundo real. Para obter informa√ß√Ķes mais detalhadas sobre as capacidades de sobreposi√ß√£o de imagens do Weights & Biases, consulta esta liga√ß√£o.

Ao utilizar estas funcionalidades, podes acompanhar, analisar e otimizar eficazmente a formação do teu modelo YOLOv8 , garantindo o melhor desempenho e eficiência possíveis.

Resumo

Este guia ajudou-te a explorar a integração de Ultralytics' YOLOv8 com Weights & Biases. Ilustra a capacidade desta integração para acompanhar e visualizar eficazmente a formação de modelos e os resultados da previsão.

Para mais informa√ß√Ķes sobre a utiliza√ß√£o, visita Weights & Biases' documenta√ß√£o oficial.

Al√©m disso, n√£o te esque√ßas de consultar a p√°gina do guia de integra√ß√£oUltralytics , para saberes mais sobre diferentes integra√ß√Ķes interessantes.



Criado em 2023-12-28, Atualizado em 2024-01-15
Autores: glenn-jocher (3), abirami-vina (1)

Coment√°rios