Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Integrações

Como usar Ultralytics YOLOv5 com a Comet

Descubra como a Ultralytics trabalha com a Comet para otimizar modelos Ultralytics YOLOv5: rastreamento em tempo real, colaboração simplificada e maior reprodutibilidade.

Nuvola LadiNuvola Ladi6 min de leitura
Acompanhamento do treinamento de modelos Ultralytics YOLOv5 com a Comet

Na Ultralytics, estabelecemos parcerias comerciais com outras startups para ajudar a financiar a pesquisa e o desenvolvimento de nossas ferramentas de código aberto, como o YOLOv5, e mantê-las gratuitas para todos. Este artigo pode conter links de afiliados para esses parceiros.

Nosso mais novo parceiro, Comet, desenvolve ferramentas que ajudam cientistas de dados, engenheiros e líderes de equipe a acelerar e otimizar modelos de aprendizado de máquina e aprendizado profundo.

Comet é uma ferramenta poderosa para acompanhar seus modelos, conjuntos de dados e métricas. Ela também registra as variáveis do sistema e do ambiente para garantir a reprodutibilidade e facilitar a depuração de cada execução. Acompanhe e visualize métricas do modelo em tempo real, salve seus hiperparâmetros, conjuntos de dados e checkpoints do modelo e visualize as previsões do seu modelo com os painéis personalizados do Comet!

Além disso, Comet garante que você nunca perca o controle do seu trabalho e facilita o compartilhamento de resultados e a colaboração entre equipes de todos os tamanhos!

YOLOv5 é um excelente ponto de partida para sua jornada em visão computacional. Para melhorar o desempenho do seu modelo e deixá-lo pronto para produção, você precisará registrar os resultados em uma ferramenta de acompanhamento de experimentos, como Comet.

A integração do Comet com YOLOv5 oferece 3 recursos principais:

  • Recursos de registro automático e personalizado
  • Salvar conjuntos de dados e modelos como artefatos para depuração e reprodutibilidade
  • Organizar sua visualização com os painéis personalizados do Comet

Este guia aborda como usar YOLOv5 com Comet.

Então, pronto para acompanhar seus experimentos em tempo real? Vamos começar!

Introdução#

1. Instale Comet#

pip install comet_ml

2. Configure as credenciais do Comet#

Há duas maneiras de configurar o Comet com YOLOv5.

Você pode definir suas credenciais por meio de variáveis de ambiente ou criar um arquivo .comet.config no diretório de trabalho e defini-las nele.

Variáveis de ambiente#

export COMET_API_KEY=<Your API Key>
export COMET_PROJECT_NAME=<Your Comet Project Name> # This will default to 'yolov5'

Arquivo de configuração do Comet#

[comet]
api_key=<Your API Key>
project_name=<Your Comet Project Name> # This will default to 'yolov5'

3. Execute o script de treinamento#

# Train YOLOv5s on COCO128 for 5 epochs
python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt

É só isso!

Comet registrará automaticamente seus hiperparâmetros, argumentos de linha de comando, métricas de treinamento e validação. Você pode visualizar e analisar suas execuções na interface do Comet.

Experimentos com YOLOv5 no painel do Comet

Experimente você mesmo!#

Confira um exemplo de execução concluída.

Ou, melhor ainda, experimente você mesmo no notebook YOLOv5 do Colab.

Registrar automaticamente#

Por padrão, Comet registra os seguintes itens:

Métricas#

  • Perda de caixas, perda de objetos e perda de classificação para os dados de treinamento e validação
  • Métricas mAP50 e mAP50-95 para os dados de validação
  • Precisão e revocação para os dados de validação

Parâmetros#

  • Hiperparâmetros do modelo
  • Todos os parâmetros passados pelas opções de linha de comando

Visualizações#

  • Matriz de confusão das previsões do modelo nos dados de validação
  • Gráficos das curvas PR e F1 para todas as classes
  • Correlograma dos rótulos de classe

Configurar o registro no Comet#

Comet pode ser configurado para registrar dados adicionais por meio de opções de linha de comando passadas ao script de treinamento ou de variáveis de ambiente.

export COMET_MODE=online # Set whether to run Comet in 'online' or 'offline' mode. Defaults to online
export COMET_MODEL_NAME=<your model name> # Set the name for the saved model. Defaults to yolov5
export COMET_LOG_CONFUSION_MATRIX=false # Set to disable logging a Comet Confusion Matrix. Defaults to true
export COMET_MAX_IMAGE_UPLOADS=<number of allowed images to upload to Comet> # Controls how many total image predictions to log to Comet. Defaults to 100.
export COMET_LOG_PER_CLASS_METRICS=true # Set to log evaluation metrics for each detected class at the end of training. Defaults to false
export COMET_DEFAULT_CHECKPOINT_FILENAME=<your checkpoint filename> # Set this if you would like to resume training from a different checkpoint. Defaults to 'last.pt'
export COMET_LOG_BATCH_LEVEL_METRICS=true # Set this if you would like to log training metrics at the batch level. Defaults to false.
export COMET_LOG_PREDICTIONS=true # Set this to false to disable logging model predictions

Registrar pontos de verificação com Comet#

O registro de modelos no Comet fica desativado por padrão. Para ativá-lo, passe o argumento save-period ao script de treinamento. Isso salvará os pontos de verificação registrados no Comet com base no intervalo definido por save-period.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --save-period 1

Registrar previsões do modelo#

Por padrão, as previsões do modelo (imagens, rótulos de referência e caixas delimitadoras) são registradas no Comet. Você pode controlar a frequência das previsões registradas e das imagens associadas passando o argumento de linha de comando bbox_interval. As previsões podem ser visualizadas usando o painel personalizado de detecção de objetos do Comet. Essa frequência corresponde a cada N-ésimo lote de dados por época. No exemplo abaixo, registramos a cada 2º lote de dados de cada época.

Observação: o carregador de dados de validação do YOLOv5 usa por padrão um tamanho de lote de 32, portanto, você precisará definir a frequência de registro de acordo.

Aqui está um projeto de exemplo que usa o painel.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 2

Controlar o número de imagens de previsão registradas no Comet#

Ao registrar previsões do YOLOv5, Comet registra as imagens associadas a cada conjunto de previsões. Por padrão, são registradas no máximo 100 imagens de validação. Você pode aumentar ou diminuir esse número usando a variável de ambiente COMET_MAX_IMAGE_UPLOADS.

env COMET_MAX_IMAGE_UPLOADS=200 python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 1

Registrar métricas por classe#

Use a variável de ambiente COMET_LOG_PER_CLASS_METRICS para registrar mAP, precisão, revocação e F1 para cada classe.

env COMET_LOG_PER_CLASS_METRICS=true python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt

Enviar um conjunto de dados para os artefatos do Comet#

Se quiser armazenar seus dados usando Comet Artifacts, você pode fazer isso usando a opção upload_dataset.

O conjunto de dados está organizado da maneira descrita na documentação do YOLOv5. O arquivo YAML de configuração do conjunto de dados deve seguir o mesmo formato do arquivo coco128.yaml.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --upload_dataset

Você encontra o conjunto de dados enviado na guia Artifacts do seu espaço de trabalho do Comet.

Separador Artifacts do Comet, YOLOv5

Podes pré-visualizar os dados diretamente na interface do Comet.

Pré-visualizar dados no Comet, YOLOv5

Os artefatos têm controle de versão e também permitem adicionar metadados sobre o conjunto de dados. O Comet registrará automaticamente os metadados do arquivo YAML do seu conjunto de dados.

Registar metadados do ficheiro YAML no Comet, YOLOv5

Utilizar um artefacto guardado#

Se quiser usar um conjunto de dados dos Comet Artifacts, defina a variável path no arquivo YAML do conjunto de dados para apontar para a URL do recurso Artifact a seguir.

# contents of artifact.yaml file
path: "comet://<workspace name>/<artifact name>:<artifact version or alias>"

Depois, passa este ficheiro ao teu script de treino da seguinte forma:

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data artifact.yaml \
  --weights yolov5s.pt

Os artefatos também permitem acompanhar a linhagem dos dados ao longo do fluxo de trabalho de experimentação. Aqui você pode ver um gráfico que mostra todos os experimentos que usaram o conjunto de dados enviado.

Fluxo de trabalho de experimentação do Comet, YOLOv5

Retomar uma execução de treino#

Se a tua execução de treino for interrompida por qualquer motivo, por exemplo, devido a uma ligação à Internet instável, podes retomá-la utilizando a flag resume e o caminho da execução do Comet.

O caminho da execução tem o seguinte formato: comet://<your workspace name>/<your project name>/<experiment id>.

Isto restaurará a execução ao estado anterior à interrupção, incluindo a reposição do modelo a partir de um ponto de controlo, de todos os hiperparâmetros e argumentos de treino, e a transferência dos artefactos dos conjuntos de dados do Comet, caso tenham sido utilizados na execução original. A execução retomada continuará a registar dados na experiência existente na interface do Comet.

python train.py \
  --resume "comet://<your run path>"

Pesquisa de hiperparâmetros com o otimizador do Comet#

O YOLOv5 também está integrado com o otimizador do Comet, o que facilita a visualização de varrimentos de hiperparâmetros na interface do Comet.

Configurar um varrimento do otimizador#

Para configurar o otimizador do Comet, terás de criar um ficheiro JSON com informações sobre o varrimento.

Foi fornecido um ficheiro de exemplo em utils/loggers/comet/optimizer_config.json.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json"

O script hpo.py aceita os mesmos argumentos que train.py. Se quiser passar argumentos adicionais para a sua busca, basta adicioná-los após o script.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json" \
  --save-period 1 \
  --bbox_interval 1

Executar um varrimento em paralelo#

comet optimizer -j <num_workers> utils/loggers/comet/hpo.py \
  utils/loggers/comet/optimizer_config.json

O Comet oferece várias maneiras de visualizar os resultados da sua busca. Confira um projeto com uma busca concluída:

Visualizar resultados do varrimento no Comet, YOLOv5

Mantém-te em contacto#

Começa a utilizar a nossa integração com o Comet para gerir, visualizar e otimizar os teus modelos YOLOv5 — desde as execuções de treino até à monitorização em produção.

E, claro, junta-te à Comunidade Ultralytics — um espaço para fazer perguntas e partilhar dicas sobre o treino, a validação e a implementação do YOLOv5.

Escrito por

Nuvola Ladi
Nuvola Ladi

Gerente de conteúdo digital · Ultralytics

Nuvola Ladi é gerente de conteúdo digital na Ultralytics, onde cria conteúdo sobre IA visual e Ultralytics YOLO e representa a empresa em eventos do setor, como a PyTorch Conference 2025. Morando na Espanha, ela tem mestrado em Mídia Visual e Digital pela IE University. Antes de ingressar na Ultralytics, ocupou cargos em organizações como XVA Gallery & Hotel e Rolex.

Comentários

Faça uma pergunta, compartilhe seus resultados ou ajude alguém.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina