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

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

# 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 = "coco8.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-05-18
Autores: glenn-jocher (5), abirami-vina (1)

Comentários