Descubra como Ultralytics se associa à Comet para a otimização do modelo Ultralytics YOLOv5 : acompanhamento em tempo real, colaboração simplificada e reprodutibilidade melhorada.

Descubra como Ultralytics se associa à Comet para a otimização do modelo Ultralytics YOLOv5 : acompanhamento em tempo real, colaboração simplificada e reprodutibilidade melhorada.

Na Ultralytics , estabelecemos parcerias comerciais com outras startups para nos ajudar a financiar a investigação e o desenvolvimento das nossas fantásticas ferramentas de código aberto, como o YOLOv5, para as manter gratuitas para todos. Este artigo pode conter links de afiliados para esses parceiros.
O nosso mais recente parceiro, Cometcria ferramentas que ajudam os cientistas de dados, engenheiros e líderes de equipa a acelerar e otimizar a aprendizagem automática e os modelos de aprendizagem profunda.
Comet é uma ferramenta poderosa para acompanhar os seus modelos, conjuntos de dados e métricas. Até regista as variáveis do sistema e do ambiente para garantir a reprodutibilidade e a depuração sem problemas para cada execução. É como ter um assistente virtual que, por magia, sabe que notas guardar. Acompanhe e visualize as métricas do modelo em tempo real, salve seus hiperparâmetros, conjuntos de dados e pontos de verificação do modelo e visualize as previsões do modelo com os painéis personalizadosComet !
Além disso, Comet garante que nunca perde track do seu trabalho e facilita a partilha de resultados e a colaboração entre equipas de todas as dimensões!
YOLOv5 é um ótimo ponto de partida para o seu percurso na visão computacional. Para melhorar o desempenho do seu modelo e prepará-lo para a produção, terá de registar os resultados numa ferramenta de acompanhamento de experiências como o Comet.
A integração Comet e YOLOv5 oferece 3 caraterísticas principais:
Este guia explica como utilizar YOLOv5 com o Comet.
Então, pronto para track as suas experiências em tempo real? Vamos lá começar!
Pip install comet
Há duas maneiras de configurar Comet com o YOLOv5.
Pode definir as suas credenciais através de variáveis de ambiente ou criar um ficheirocomet.config no seu diretório de trabalho e definir aí as suas credenciais.
export COMET COMET# A predefinição seráyolov5'
[comet] api_key= project_name=<Your Comet API Key># This will default to 'yolov5'
# Treinar YOLOv5s em COCO128 para 5 épocasspython train.py --img 640 --batch 16 --epochs 5 --data coco128yaml --weights yolov5s.pt
É isso mesmo!
Comet registará automaticamente os hiperparâmetros, os argumentos da linha de comandos, as métricas de formação e validação. É possível visualizar e analisar suas execuções na interface do usuário Comet .

Confira um exemplo de uma execução concluída aqui.
Ou melhor ainda, experimente você mesmo neste Caderno Colab.
Por predefinição, Comet regista os seguintes itens:
Comet pode ser configurado para registar dados adicionais através de sinalizadores de linha de comandos passados para o script de treino ou variáveis de ambiente.
export COMET# Define se Comet deve ser executado em modo 'online' ou 'offline'. A predefinição é onlineexport COMET#Definir o nome do modelo guardado. Por defeito, yolov5export COMET# Definir para desativar o registo de uma Matriz de Confusão Comet . Por defeito, trueexport COMET# Controla o número total de previsões de imagens a registar no Comet. A predefinição é 100.export COMET# Definir para registar métricas de avaliação para cada classe detectada no final do treino. Por defeito, falseexport COMET# Defina isto se quiser retomar a formação a partir de um ponto de controlo diferente. A predefinição é 'last.pt'export COMET# Defina esta opção se pretender registar as métricas de formação ao nível do lote. A predefinição é false.export COMET# Defina esta opção como false para desativar o registo das previsões do modelo
O registo de modelos no Comet está desativado por predefinição. Para o ativar, passe o argumento save-period para o script de treino. Isto irá guardar os pontos de verificação registados no Comet com base no valor do intervalo fornecido por save-period.
python train.py \
--img 640 \
--batch 16 \
--epochs 5 \
--data coco128yaml \
--weights yolov5s.pt \
--save-period 1
Por predefinição, as previsões do modelo (imagens, etiquetas da verdade terrestre e caixas delimitadoras) serão registadas no Comet. É possível controlar a frequência das previsões registradas e as imagens associadas passando o argumento da linha de comando bbox. As previsões podem ser visualizadas usando o painel personalizado de deteção de objetos do Comet. Essa frequência corresponde a cada N-ésimo lote de dados por época. No exemplo abaixo, estamos a registar cada 2º lote de dados para cada época.
Nota: O carregador de dados de validação YOLOv5 utiliza por defeito um tamanho de lote de 32, pelo que terá de definir a frequência de registo em conformidade.
Aqui está um projeto de exemplo usando o Panel.
python train.py \--img 640 \--batch 16 \--epochs 5 \--data coco128yaml \--weights yolov5s.pt bbox 2
Ao registar previsões do YOLOv5, Comet registará as imagens associadas a cada conjunto de previsões. Por predefinição, é registado um máximo de 100 imagens de validação. É possível aumentar ou diminuir esse número usando a variável de ambiente COMET.
env COMET train.py \--img 640 \--batch 16 \--epochs 5 \--data coco128yaml \--weights yolov5s.pt bbox 1
Utilize a variável de ambiente COMET para registar mAP, precisão, recuperação e f1 para cada classe.
env COMET python train.py \--img 640 \--batch 16 \--epochs 5 \--data coco128yaml \--weights yolov5s.pt
Se pretender armazenar os seus dados utilizando artefactosComet , pode fazê-lo utilizando o sinalizador upload_dataset.
O conjunto de dados é organizado da forma descrita na documentaçãoYOLOv5 . O ficheiro yaml de configuração do dataset deve seguir o mesmo formato do ficheiro coco128yaml .
python train.py \--img 640 \--batch 16 \--epochs 5 \--data coco128yaml \--weights yolov5s.pt \--upload_dataset
Pode encontrar o conjunto de dados carregado no separador Artefactos no seu Comet Workspace

Pode pré-visualizar os dados diretamente na IU Comet .

Os artefactos são versionados e também suportam a adição de metadados sobre o conjunto de dados. Comet registará automaticamente os metadados do seu ficheiro yaml do conjunto de dados.

Se pretender utilizar um conjunto de dados do Comet Artifacts, defina a variável path no ficheiro yaml do conjunto de dados para apontar para o seguinte URL do recurso Artifact.
# conteúdo do caminho do ficheiro artifactyaml :comet:///::"
Em seguida, passe este arquivo para o seu script de treinamento da seguinte forma:
python train.py \--img 640 \--batch 16 \--epochs 5 \--data artifactyaml \--weights yolov5s.pt
Os artefactos também lhe permitem track a linhagem dos dados à medida que estes fluem através do seu fluxo de trabalho de Experimentação. Aqui pode ver um gráfico que mostra todas as experiências que utilizaram o conjunto de dados carregado.

Se a corrida de treino for interrompida por qualquer motivo, por exemplo, uma interrupção da ligação à Internet, pode retomar a corrida utilizando a bandeira de retoma e o percurso de corrida Comet .
O percurso de execução tem o seguinte formato comet:////.
Isso restaurará a execução para o estado anterior à interrupção, o que inclui a restauração do modelo a partir de um ponto de verificação, a restauração de todos os hiperparâmetros e argumentos de treinamento e o download dos artefatos do conjunto de dados Comet , caso tenham sido usados na execução original. A execução retomada continuará a registar a experiência existente na IU Comet .
python train.py \--resumecomet://"
YOLOv5 também está integrado no Optimizador do Comet, tornando simples a visualização de varrimentos de hiperparâmetros na IU Comet .
Para configurar o Comet Optimizer, terá de criar um ficheiro JSON com as informações sobre a varredura.
Um arquivo de exemplo foi fornecido em:
comet.json python comet.py comet"comet.json"
O script hpo.py aceita os mesmos argumentos que o train.py. Se você deseja passar argumentos adicionais para sua varredura, basta adicioná-los após o script.
python comet.py comet"comet.json" \--save-period 1 bbox 1
comet optimizer -j comet.py comet.json"
Comet fornece muitas formas de visualizar os resultados da sua varredura. Veja um projeto com uma varredura concluída aqui:

Comece a utilizar a nossa integração com o Comet para gerir, visualizar e otimizar os seus modelos YOLOv5 - desde os treinos até à monitorização da produção.
E, claro, junte-se à ComunidadeUltralytics - um local para colocar questões e partilhar dicas sobre a formação, validação e implementação YOLOv5 .