Conheça o YOLO26: IA de visão de próxima geração.
Ultralytics
Integrações

Como Usar o YOLOv5 da Ultralytics Com a Comet

Descobre como a Ultralytics faz parceria com a Comet para otimização do modelo YOLOv5 da Ultralytics: rastreamento em tempo real, colaboração simplificada e maior reprodutibilidade.

EQEquipa Ultralytics
5 min read
Rastreamento do treino do modelo YOLOv5 da Ultralytics com a Comet

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

Nosso mais novo parceiro, o Comet, cria ferramentas que ajudam cientistas de dados, engenheiros e líderes de equipe a acelerar e otimizar modelos de machine learning e deep learning.

O Comet é uma ferramenta poderosa para rastrear seus modelos, datasets e métricas. Ele até registra suas variáveis de sistema e ambiente para garantir reprodutibilidade e depuração tranquila para cada execução. É como ter um assistente virtual que magicamente sabe quais notas guardar. Rastreie e visualize métricas de modelo em tempo real, salve seus hiperparâmetros, datasets e checkpoints de modelo, e visualize as predições do seu modelo com os Comet Custom Panels!

Além disso, o 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 ótimo 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 rastreamento de experimentos como o Comet.

A integração entre Comet e YOLOv5 oferece 3 recursos principais:

  • Recursos de registro automático e registro personalizado
  • Salvamento de datasets e modelos como artefatos para depuração e reprodutibilidade
  • Organização da sua visualização com os painéis personalizados do Comet

Este guia cobrirá como usar o YOLOv5 com o Comet.

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

Link to this sectionPrimeiros Passos#

Link to this sectionInstale o Comet#

pip install comet_ml

Link to this sectionConfigure as Credenciais do Comet#

Existem duas maneiras de configurar o Comet com o YOLOv5.

Você pode definir suas credenciais por meio de variáveis de ambiente ou criar um arquivo .comet.config em seu diretório de trabalho e definir suas credenciais lá.

Link to this sectionVariáveis de Ambiente#

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

Link to this sectionArquivo de Configuração do Comet#

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

Link to this sectionExecute 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

É isso!

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

Experimentos com YOLOv5 no Comet Dashboard

Link to this sectionExperimente Você Mesmo!#

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

Ou melhor ainda, experimente você mesmo neste Colab Notebook.

Link to this sectionRegistro Automático#

Por padrão, o Comet registrará os seguintes itens:

Link to this sectionMétricas#

  • Box Loss, Object Loss e Classification Loss para os dados de treinamento e validação
  • Métricas mAP_0.5, mAP_0.5:0.95 para os dados de validação
  • Precisão e Recall para os dados de validação

Link to this sectionParâmetros#

  • Hiperparâmetros do Modelo
  • Todos os parâmetros passados através das opções de linha de comando

Link to this sectionVisualizações#

  • Matriz de Confusão das predições do modelo nos dados de validação
  • Gráficos para as curvas PR e F1 em todas as classes
  • Correlograma dos Rótulos de Classe

Link to this sectionConfigurar Registro no Comet#

O Comet pode ser configurado para registrar dados adicionais por meio de flags de linha de comando passadas ao script de treinamento ou 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

Link to this sectionRegistrando Checkpoints com o Comet#

O registro de modelos no Comet é desativado por padrão. Para ativá-lo, passe o argumento save-period para o script de treinamento. Isso salvará os checkpoints registrados no Comet com base no valor de intervalo fornecido pelo save-period.

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

Link to this sectionRegistrando Predições do Modelo#

Por padrão, as predições do modelo (imagens, rótulos de ground truth e bounding boxes) serão registradas no Comet. Você pode controlar a frequência das predições registradas e as imagens associadas passando o argumento de linha de comando bbox_interval. As predições podem ser visualizadas usando o Painel Personalizado de Detecção de Objetos do Comet. Esta frequência corresponde a cada N-ésimo lote de dados por época. No exemplo abaixo, estamos registrando cada 2º lote de dados para cada época.

Nota: O carregador de dados de validação do YOLOv5 usará por padrão um tamanho de lote (batch size) de 32, portanto você precisará definir a frequência de registro de acordo.

Aqui está um exemplo de projeto usando o Painel.

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

Link to this sectionControlando o Número de Imagens de Predição Registradas no Comet#

Ao registrar predições do YOLOv5, o Comet registrará as imagens associadas a cada conjunto de predições. Por padrão, um máximo de 100 imagens de validação são registradas. 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

Link to this sectionRegistrando Métricas em Nível de Classe#

Use a variável de ambiente COMET_LOG_PER_CLASS_METRICS para registrar mAP, precisão, recall 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

Link to this sectionEnviando um Dataset para os Artefatos do Comet#

Se você quiser armazenar seus dados usando Comet Artifacts, você pode fazer isso usando a flag upload_dataset.

O dataset é organizado da maneira descrita na documentação do YOLOv5. O arquivo yaml de configuração do dataset 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ê pode encontrar o dataset enviado na aba Artefatos no seu Espaço de Trabalho (Workspace) do Comet.

Aba de Artefatos do Comet, YOLOv5

Você pode visualizar os dados diretamente na UI do Comet.

Visualizar dados no Comet, YOLOv5

Os artefatos são versionados e também suportam a adição de metadados sobre o dataset. O Comet registrará automaticamente os metadados do seu arquivo yaml de dataset.

Registrar metadados de arquivo YAML no Comet, YOLOv5

Link to this sectionUsando um Artefato Salvo#

Se você quiser usar um dataset dos Artefatos do Comet, defina a variável path no seu arquivo yaml de dataset para apontar para a seguinte URL de recurso de Artefato.

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

Em seguida, passe este arquivo para seu script de treinamento da seguinte maneira:

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

Os artefatos também permitem que você rastreie a linhagem de dados conforme eles fluem pelo seu fluxo de trabalho de Experimentação. Aqui você pode ver um gráfico que mostra todos os experimentos que utilizaram o seu dataset enviado.

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

Link to this sectionRetomando uma Execução de Treinamento#

Se sua execução de treinamento for interrompida por qualquer motivo, por exemplo, conexão com a internet interrompida, você pode retomar a execução usando a flag resume e o Caminho da Execução (Run Path) do Comet.

O Run Path tem o seguinte formato comet://<your workspace name>/<your project name>/<experiment id>.

Isso restaurará a execução ao seu estado antes da interrupção, o que inclui restaurar o modelo a partir de um checkpoint, restaurar todos os hiperparâmetros e argumentos de treinamento, e baixar Artefatos de dataset do Comet se eles foram usados na execução original. A execução retomada continuará registrando na Experiência existente na UI do Comet.

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

Link to this sectionBusca de Hiperparâmetros com o Otimizador do Comet#

O YOLOv5 também está integrado ao Otimizador do Comet, tornando simples visualizar sweeps de hiperparâmetros na UI do Comet.

Link to this sectionConfigurando um Sweep de Otimizador#

Para configurar o Otimizador do Comet, você precisará criar um arquivo JSON com as informações sobre o sweep.

Um exemplo de arquivo foi fornecido 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 o train.py. Se você desejar passar argumentos adicionais para seu sweep, simplesmente adicione-os 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

Link to this sectionExecutando um Sweep em Paralelo#

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

O Comet oferece muitas maneiras de visualizar os resultados do seu sweep. Dê uma olhada em um projeto com um sweep concluído aqui:

Visualizar resultados de varredura no Comet, YOLOv5

Link to this sectionMantenha Contato#

Comece a usar nossa integração com o Comet para gerenciar, visualizar e otimizar seus modelos YOLOv5 — desde execuções de treinamento até monitoramento em produção.

E, claro, junte-se à Comunidade Ultralytics – um lugar para tirar dúvidas e compartilhar dicas sobre treinamento, validação e implantação de YOLOv5.

Explore solutions

Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais

Vamos construir o futuro da IA juntos!

Começa a tua jornada com o futuro da aprendizagem automática