Melhora o treino do YOLO26: simplifica o processo de registo com o Comet#
Registar detalhes importantes do treino, como parâmetros, métricas, previsões de imagens e pontos de controlo do modelo, é essencial na aprendizagem automática — mantém o teu projeto transparente, permite medir o progresso e torna os resultados reproduzíveis.
Assista: Como usar Comet para registrar logs e métricas de treinamento de modelos Ultralytics YOLO 🚀
O Ultralytics YOLO26 integra-se perfeitamente com o Comet (anteriormente Comet ML), capturando e otimizando com eficiência todos os aspetos do processo de treino do teu modelo YOLO26 de deteção de objetos. Neste guia, vamos abordar o processo de instalação, a configuração do Comet, as informações em tempo real, o registo personalizado e a utilização offline, garantindo que o teu treino YOLO26 fica totalmente documentado e ajustado para obter resultados excecionais.
Comet#
O Comet é uma plataforma para acompanhar, comparar, explicar e otimizar modelos e experiências de aprendizagem automática. Permite-te registar métricas, parâmetros, conteúdos multimédia e muito mais durante o treino do modelo, além de monitorizar as experiências através de uma interface Web apelativa. O Comet ajuda os cientistas de dados a iterar mais rapidamente, aumenta a transparência e a reprodutibilidade e contribui para o desenvolvimento de modelos prontos para produção.
Tira partido do poder do YOLO26 e do Comet#
Ao combinar o Ultralytics YOLO26 com o Comet, podes tirar partido de várias vantagens. Estas incluem uma gestão de experiências simplificada, informações em tempo real para fazer ajustes rapidamente, opções de registo flexíveis e personalizadas e a possibilidade de registar experiências offline quando o acesso à Internet é limitado. Esta integração permite-te tomar decisões baseadas em dados, analisar métricas de desempenho e alcançar resultados excecionais.
Instalação#
Para instalar os pacotes necessários, executa:
# Install YOLO26 and Comet
pip install ultralytics comet_mlConfigurar o Comet#
Depois de instalares os pacotes necessários, tens de criar uma conta, obter uma chave de API do Comet e configurá-la.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYEm seguida, autentica-te no Comet. O callback da Ultralytics cria a experiência e utiliza o argumento de treino YOLO project como nome do projeto no Comet.
import comet_ml
comet_ml.login()Se estiveres a usar um notebook do Google Colab, o código acima vai pedir-te a chave de API para a inicialização.
Uso#
Antes de consultares as instruções de utilização, não te esqueças de ver a variedade de modelos YOLO26 disponibilizados pelo Ultralytics. Isto vai ajudar-te a escolher o modelo mais adequado aos requisitos do teu projeto.
from ultralytics import YOLO
# Carregar um modelo
model = YOLO("yolo26n.pt")
# Treinar o modelo
results = model.train(
data="coco8.yaml",
project="comet-example-yolo26-coco128",
batch=32,
save_period=1,
save_json=True,
epochs=3,
)Depois de executares o código de treino, o Comet cria automaticamente uma experiência no teu espaço de trabalho do Comet para acompanhar a execução. Em seguida, receberás uma ligação para ver o registo detalhado do processo de treino do teu modelo YOLO26.
O Comet regista automaticamente os seguintes dados sem necessidade de configuração adicional: métricas como mAP e loss, hiperparâmetros, pontos de controlo do modelo, matriz de confusão interativa e previsões de caixas delimitadoras em imagens.
Compreende o desempenho do teu modelo com as visualizações do Comet#
Vamos ver o que vais encontrar no painel do Comet quando o teu modelo YOLO26 começar a ser treinado. É no painel que tudo acontece: apresenta vários dados registados automaticamente através de elementos visuais e estatísticas. Eis uma breve visita guiada:
Painéis de experiências
A secção de painéis de experiências do painel do Comet organiza e apresenta as diferentes execuções e as respetivas métricas, como a loss das máscaras de segmentação, a loss das classes, a precisão e a precisão média.
Métricas
Na secção de métricas, também podes analisar as métricas num formato tabular, apresentado num painel dedicado, como ilustrado aqui.
Matriz de confusão interativa
A matriz de confusão, disponível no separador Confusion Matrix, oferece uma forma interativa de avaliar a precisão da classificação do modelo. Apresenta previsões corretas e incorretas, permitindo-te compreender os pontos fortes e fracos do modelo.
Métricas do sistema
O Comet regista métricas do sistema para ajudar a identificar possíveis estrangulamentos no processo de treino. Estas incluem métricas como a utilização da GPU, a utilização da memória da GPU, a utilização da CPU e a utilização da RAM. São essenciais para monitorizar a eficiência da utilização de recursos durante o treino do modelo.
Personalizar o registo do Comet#
O Comet permite personalizar o comportamento do registo através da definição de variáveis de ambiente. Estas configurações permitem adaptar o Comet às tuas necessidades e preferências específicas. O callback da Ultralytics lê as seguintes variáveis de ambiente (define-as antes do início do treino):
| Variável de ambiente | Padrão | Descrição |
|---|---|---|
COMET_START_ONLINE | 1 | Executa a experiência no modo online (1) ou offline (0). |
COMET_PROJECT_NAME | args.project | Projeto do espaço de trabalho do Comet. Se não estiver definida, utiliza o argumento de treino YOLO project. |
COMET_MODEL_NAME | Ultralytics | Nome atribuído ao artefacto de modelo registado. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | Número total de previsões de imagens de validação a registar por execução. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | Regista previsões de imagens a cada N.º lote de validação. |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | Ativa (true) ou desativa (false) o registo de previsões de imagens. |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | Regista uma matriz de confusão em cada época de validação. É sempre registada uma matriz final no fim do treino. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | Multiplicador aplicado às pontuações de confiança de deteção antes do registo (a interface do Comet espera uma escala percentual). |
COMET_MODE (obsoleto) | online | Alias legado de COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). Emite um aviso de descontinuação. |
Para as opções booleanas (COMET_EVAL_LOG_IMAGE_PREDICTIONS e COMET_EVAL_LOG_CONFUSION_MATRIX), os valores 1, true, yes, on, y e t são interpretados como True (sem distinção entre maiúsculas e minúsculas). Qualquer outro valor é interpretado como False.
Registar previsões de imagens#
Podes controlar o número de previsões de imagens que o Comet regista durante as tuas experiências. Por predefinição, o Comet regista 100 previsões de imagens do conjunto de validação. No entanto, podes alterar este número para o adaptar melhor às tuas necessidades. Por exemplo, para registar 200 previsões de imagens, utiliza o seguinte código:
import os
os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"Para desativar completamente o registo de previsões de imagens (por exemplo, para reduzir o volume de carregamento em ligações lentas), define COMET_EVAL_LOG_IMAGE_PREDICTIONS como "false":
import os
os.environ["COMET_EVAL_LOG_IMAGE_PREDICTIONS"] = "false"Intervalo de registo dos lotes#
O Comet permite especificar a frequência de registo dos lotes de previsões de imagens. A variável de ambiente COMET_EVAL_BATCH_LOGGING_INTERVAL controla esta frequência. A predefinição é 1, o que regista previsões de cada lote de validação. Podes ajustar este valor para registar previsões com outro intervalo. Por exemplo, se definires o valor como 4, serão registadas previsões de cada quarto lote.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Desativar o registo da matriz de confusão#
Em alguns casos, podes não querer registar a matriz de confusão do teu conjunto de validação após cada época. Podes desativar este recurso definindo a variável de ambiente COMET_EVAL_LOG_CONFUSION_MATRIX como "false". A matriz de confusão só será registada uma vez, após a conclusão do treino.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Modo online e offline#
Por predefinição, o Comet é executado no modo online e transmite dados das experiências para os servidores do Comet. Se precisares de treinar sem acesso à Internet, define COMET_START_ONLINE=0 antes do início do treino. Os dados das experiências são guardados localmente e podem ser carregados mais tarde com a CLI comet upload.
import os
os.environ["COMET_START_ONLINE"] = "0" # 1 (predefinição) = online, 0 = offlineAs versões anteriores utilizavam COMET_MODE="offline" para este fim. A variável continua a ser aceite por compatibilidade com versões anteriores, mas emite um aviso de descontinuação. A partir de agora, utiliza COMET_START_ONLINE.
Nome do projeto#
Por predefinição, o callback do Comet envia ao Comet o argumento de treino YOLO project (ou None se o argumento não estiver definido; nesse caso, o Comet utiliza a predefinição do teu espaço de trabalho). Substitui este valor por COMET_PROJECT_NAME para enviar todas as experiências para um projeto específico do espaço de trabalho do Comet, independentemente do argumento de treino YOLO:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Nome do artefacto do modelo#
COMET_MODEL_NAME define o nome que o Comet atribui ao artefacto de modelo registado (por predefinição, Ultralytics). Utiliza-o para distinguir variantes do modelo num espaço de trabalho partilhado:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Escala da pontuação de confiança#
As pontuações de confiança de deteção são emitidas no intervalo [0, 1], mas, por predefinição, a interface do Comet apresenta-as numa escala percentual. Antes do registo, o callback multiplica cada pontuação por COMET_MAX_CONFIDENCE_SCORE (predefinição: 100.0). Ajusta este valor se preferires probabilidades brutas ou outra escala:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # registar pontuações brutas [0, 1]Resumo#
Este guia mostrou-te como integrar o Comet com o YOLO26 da Ultralytics. Desde a instalação à personalização, aprendeste a simplificar a gestão de experiências, obter informações em tempo real e adaptar o registo às necessidades do teu projeto.
Consulta a documentação oficial de integração do YOLOv8 com o Comet, que também se aplica a projetos YOLO26.
Além disso, se quiseres aprofundar as aplicações práticas do YOLO26, especificamente em tarefas de segmentação de imagens, este guia detalhado sobre o ajuste fino do YOLO26 com o Comet oferece informações valiosas e instruções passo a passo para melhorar o desempenho do teu modelo.
Além disso, para explorares outras integrações interessantes com a Ultralytics, consulta a página do guia de integrações, que oferece muitos recursos e informações.
Perguntas frequentes#
Para integrar o Comet com o Ultralytics YOLO26, segue estes passos:
-
Instala os pacotes necessários:
pip install ultralytics comet_ml -
Configura a tua chave de API do Comet:
export COMET_API_KEY=YOUR_API_KEY -
Autentica-te no Comet no teu código Python:
import comet_ml comet_ml.login() -
Treina o teu modelo YOLO26 e regista as métricas:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.train( data="coco8.yaml", project="comet-example-yolo26-coco128", batch=32, save_period=1, save_json=True, epochs=3, )
Para obteres instruções mais detalhadas, consulta a secção de configuração do Comet.
-
Ao integrar o Ultralytics YOLO26 com o Comet, você pode:
- Acompanhar insights em tempo real: receba feedback instantâneo sobre os resultados do treinamento, permitindo fazer ajustes rapidamente.
- Registrar métricas abrangentes: capture automaticamente métricas essenciais, como mAP, perda, hiperparâmetros e checkpoints do modelo.
- Acompanhar experimentos offline: registre localmente as execuções de treinamento quando não houver acesso à internet.
- Comparar diferentes execuções de treinamento: use o painel interativo do Comet para analisar e comparar vários experimentos.
Ao aproveitar esses recursos, você pode otimizar seus fluxos de trabalho de aprendizado de máquina para obter melhor desempenho e reprodutibilidade. Para saber mais, consulte o guia de integração do Comet.
O Comet permite personalizar amplamente o comportamento de registro usando variáveis de ambiente:
-
Alterar o número de previsões de imagens registradas:
import os os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200" -
Ajustar o intervalo de registro de lotes:
import os os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4" -
Desativar o registro da matriz de confusão:
import os os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false" -
Definir o nome do projeto no Comet:
import os os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments" -
Definir o nome do artefato do modelo registrado:
import os os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"
Consulte a seção Personalizar o registro do Comet para ver a lista completa, que inclui opções para ativar ou desativar o registro de previsões de imagens, ajustar a escala da pontuação de confiança e escolher entre o modo online e offline.
-
Quando o treinamento do modelo YOLO26 começar, você poderá acessar uma ampla variedade de métricas e visualizações no painel do Comet. Os principais recursos incluem:
- Painéis de experimentos: veja diferentes execuções e suas métricas, incluindo a perda da máscara de segmentação, a perda de classe e a precisão média.
- Métricas: examine as métricas em formato de tabela para fazer uma análise detalhada.
- Matriz de confusão interativa: avalie a precisão da classificação com uma matriz de confusão interativa.
- Métricas do sistema: monitore o uso da GPU e da CPU, o consumo de memória e outras métricas do sistema.
Para uma visão geral detalhada desses recursos, consulte a seção Entenda o desempenho do seu modelo com as visualizações do Comet.
Sim. Defina
COMET_START_ONLINE=0antes de iniciar o treinamento para registrar os dados localmente:import os os.environ["COMET_START_ONLINE"] = "0"Os dados do experimento são salvos no disco e podem ser enviados ao Comet mais tarde com a CLI
comet upload, quando houver conexão. A variávelCOMET_MODE="offline"anterior continua funcionando, mas gera um aviso de descontinuação. Para saber mais, consulte a seção Modo online e offline.