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 mostra Ultralytics YOLOv8 integração com Weights & Biases ' para rastreamento aprimorado de experimentos, verificação de modelo e visualização do desempenho do modelo. Também inclui instruções para configurar a integração, treinamento, ajuste fino e visualização de resultados usando Weights & Biases 'recursos interativos.

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 wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

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

# Load a YOLO model
model = YOLO("yolov8n.pt")

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

# Train and Fine-Tune the Model
model.train(project="ultralytics", data="coco8.yaml", epochs=5, imgsz=640)

# Validate the Model
model.val()

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

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

Compreender o código

Vamos entender as etapas apresentadas 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.
  • Um resumo conciso da estrutura do modelo, incluindo o número de camadas e 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 a perda, a precisão e as pontuações de validação à medida que evoluem durante o treino, oferecendo informações imediatas para a afinação do modelo. Vê como as experiências são acompanhadas utilizando Weights & Biases.

  • 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. Vê como Weights & Biases te ajuda a visualizar os resultados da validação.

  • Monitorização de recursos: Acompanha CPU, GPU, e a utilização de 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. Vê como as sobreposições de imagens do Weights & Biases' ajudam a visualizar as inferências do modelo.

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 você a explorar Ultralytics ' YOLOv8 integração com Weights & Biases . Ele ilustra a capacidade dessa integração de rastrear e visualizar com eficiência o treinamento do modelo e os resultados de 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.

FAQ

Como é que instalo os pacotes necessários para YOLOv8 e Weights & Biases?

Para instalar os pacotes necessários para YOLOv8 e Weights & Biases, abre a tua interface de linha de comandos e executa:

pip install --upgrade ultralytics==8.0.186 wandb

Para mais orientações sobre os passos de instalação, consulta o nosso guia de instalaçãoYOLOv8 . Se tiveres problemas, consulta o guia Problemas comuns para obteres sugestões de resolução de problemas.

Quais são as vantagens da integração de Ultralytics YOLOv8 com Weights & Biases?

A integração de Ultralytics YOLOv8 com Weights & Biases oferece vários benefícios, incluindo:

  • Acompanhamento de métricas em tempo real: Observa as alterações das métricas durante o treino para obteres informações imediatas.
  • Otimização de hiperparâmetros: Melhora o desempenho do modelo através do ajuste fino da taxa de aprendizagem, do tamanho do lote, etc.
  • Análise comparativa: Compara lado a lado diferentes treinos.
  • Monitorização de recursos: Controla CPU, GPU, e a utilização de memória.
  • Gestão de artefactos de modelos: Fácil acesso e partilha de pontos de controlo de modelos.

Explora estas funcionalidades em pormenor na secção Weights & Biases Dashboard acima.

Como posso configurar Weights & Biases para a formação YOLOv8 ?

Para configurar Weights & Biases para a formação YOLOv8 , segue estes passos:

  1. Executa o comando para inicializar Weights & Biases:
    import wandb
    wandb.login()
    
  2. Obtém a tua chave API no sítio Web Weights & Biases .
  3. Utiliza a chave API para autenticar o teu ambiente de desenvolvimento.

Encontra instruções de configuração detalhadas na secção Configurar Weights & Biases acima.

Como é que treino um modelo YOLOv8 utilizando Weights & Biases?

Para treinar um modelo YOLOv8 utilizando Weights & Biases, utiliza os seguintes passos num script Python :

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

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

# Load a YOLO model
model = YOLO("yolov8n.pt")

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

# Train and Fine-Tune the Model
model.train(project="ultralytics", data="coco8.yaml", epochs=5, imgsz=640)

# Validate the Model
model.val()

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

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

Esse script inicializa Weights & Biases, configura o modelo, treina-o e registra os resultados. Para obter mais detalhes, visita a secção Utilização acima.

Por que razão devo utilizar Ultralytics YOLOv8 com Weights & Biases em vez de outras plataformas?

Ultralytics YOLOv8 integrado com Weights & Biases oferece várias vantagens únicas:

  • Alta eficiência: Acompanhamento em tempo real das métricas de formação e otimização do desempenho.
  • Escalabilidade: Gere facilmente trabalhos de formação em grande escala com ferramentas robustas de monitorização e utilização de recursos.
  • Interatividade: Uma interface interactiva de fácil utilização para visualização de dados e gestão de modelos.
  • Comunidade e suporte: Documentação de integração sólida e suporte da comunidade com opções flexíveis de personalização e aprimoramento.

Para comparações com outras plataformas como Comet e ClearML, consulta Ultralytics integrations.



Criado em 2023-12-28, Atualizado em 2024-07-05
Autores: glenn-jocher (10), ambitious-octopus (1), IvorZhu331 (1), abirami-vina (1)

Comentários