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

Treine e monitore Ultralytics YOLOv5 remotamente com ClearML

Aprenda a acompanhar experimentos, versionar conjuntos de dados, ajustar hiperparâmetros e treinar modelos Ultralytics YOLOv5 em máquinas remotas com ClearML.

Nuvola LadiNuvola Ladi7 min de leitura
Treinando e monitorando YOLOv5 com ClearML

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.

ClearML é nossa mais nova parceira: uma caixa de ferramentas de código aberto criada para economizar seu tempo.

Com a missão de acelerar a adoção do ML, a ClearML facilita a integração do ML a qualquer produto de software ou hardware.

Essa integração facilita ainda mais o treinamento de um modelo YOLOv5 e o uso do gerenciador de experimentos ClearML para rastreá-lo automaticamente. Você pode especificar facilmente o ID da versão de um conjunto de dados ClearML como entrada de dados, que será usado automaticamente para treinar seu modelo.

Leve o rastreamento de experimentos ao próximo nível#

  • Acompanhe cada execução de treinamento do YOLOv5 no gerenciador de experimentos.
  • Crie versões dos seus dados de treinamento personalizados e acesse-os facilmente com a ferramenta integrada de versionamento de dados do ClearML.
  • Obtenha o melhor mAP com a otimização de hiperparâmetros do ClearML.
  • Transforme seu modelo YOLOv5 recém-treinado em uma API com apenas alguns comandos usando o ClearML Serving.

Você decide quantas dessas ferramentas quer usar: pode ficar apenas com o gerenciador de experimentos ou combiná-las todas em um pipeline impressionante.

Configuração#

Para acompanhar seus experimentos e dados, o ClearML precisa se comunicar com um servidor. Você tem duas opções: criar uma conta gratuita no ClearML Hosted Service ou configurar seu próprio servidor.

Até o servidor é de código aberto, então, se você estiver lidando com dados confidenciais, não há problema!

  1. Instale o pacote Python do ClearML: pip install clearml
  2. Conecte o SDK do ClearML ao servidor criando credenciais (no canto superior direito, acesse Settings → Workspace → Create new credentials), depois execute o comando abaixo e siga as instruções: clearml-init

Agora você já pode começar.

Treinar YOLOv5 com ClearML#

Para ativar o rastreamento de experimentos do ClearML, basta instalar o pacote pip do ClearML.

pip install clearml

Isso habilitará a integração com o script de treinamento do YOLOv5. A partir de agora, cada execução de treinamento será capturada e armazenada pelo gerenciador de experimentos do ClearML. Se quiser alterar project_name ou task_name, acesse nosso logger personalizado, onde você pode fazer essa alteração: utils/loggers/clearml/clearml_utils.py

python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache

Isso capturará:

  • Código-fonte + alterações não commitadas
  • Pacotes instalados
  • (Hiper)parâmetros
  • Arquivos do modelo (use --save-period n para salvar um checkpoint a cada n épocas)
  • Saída do console
  • Valores escalares (mAP50, mAP50-95, precisão, revocação, perdas, taxas de aprendizado, ...)
  • Informações gerais, como detalhes da máquina, tempo de execução, data de criação etc.
  • Todos os gráficos gerados, como o correlograma de rótulos e a matriz de confusão
  • Imagens com caixas delimitadoras por época
  • Mosaico por época
  • Imagens de validação por época

Agora, podemos visualizar todas essas informações na interface do ClearML para ter uma visão geral do progresso do nosso treinamento. Adicione colunas personalizadas à visualização em tabela (como mAP50) para ordenar facilmente pelo modelo com melhor desempenho. Ou selecione vários experimentos e compare-os diretamente!

Há ainda mais coisas que podemos fazer com todas essas informações, como otimização de hiperparâmetros e execução remota; continue lendo para saber como!

Gerenciamento de versões de conjuntos de dados#

Em geral, é uma boa ideia versionar os dados separadamente do código, o que também facilita obter a versão mais recente. Este repositório permite informar o ID de uma versão do conjunto de dados e garante que os dados sejam obtidos caso ainda não estejam disponíveis. Além disso, esse fluxo de trabalho também salva o ID do conjunto de dados usado como parte dos parâmetros da tarefa, para que você sempre saiba com certeza quais dados foram usados em cada experimento!

Prepare seu conjunto de dados#

O repositório YOLOv5 oferece suporte a vários conjuntos de dados por meio de arquivos YAML que contêm suas informações. Por padrão, os conjuntos de dados são baixados para a pasta ../datasets, relativa à pasta raiz do repositório. Portanto, se você baixou o conjunto de dados COCO128 usando o link no YAML ou os scripts fornecidos pelo YOLOv5, a estrutura de pastas será esta:

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ LICENSE
        |_ README.txt

Mas você pode usar qualquer conjunto de dados que quiser. Fique à vontade para usar o seu, desde que mantenha essa estrutura de pastas.

Em seguida, copie o arquivo YAML correspondente para a raiz da pasta do conjunto de dados. Esses arquivos YAML contêm as informações necessárias para que o ClearML use corretamente o conjunto de dados. Você também pode criar esse arquivo, é claro; basta seguir a estrutura dos exemplos de YAML.

O arquivo YAML precisa das seguintes chaves: path, train, test, val, nc e names.

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ coco128.yaml # ← HERE!
        |_ LICENSE
        |_ README.txt

Envie seu conjunto de dados#

Para adicionar esse conjunto de dados ao ClearML como um conjunto de dados versionado, acesse a pasta raiz do conjunto de dados e execute o seguinte comando:

cd coco128

clearml-data sync --project YOLOv5 --name coco128 --folder .

Na verdade, o comando clearml-data sync é apenas um atalho. Você também pode executar estes comandos um após o outro:

# Optionally add --parent if you want to base
# this version on another dataset version, so no duplicate files are uploaded!

clearml-data create --name coco128 --project YOLOv5

clearml-data add --files .

clearml-data close

Execute o treinamento usando um conjunto de dados do ClearML#

Agora que você tem um conjunto de dados ClearML, pode usá-lo para treinar modelos YOLOv5 personalizados.

python train.py --img 640 --batch 16 --epochs 3 --data clearml:// --weights yolov5s.pt --cache

Otimização de hiperparâmetros#

Agora que temos nossos experimentos e uma versão dos dados, chegou a hora de ver o que podemos criar com eles!

Com as informações do código, os pacotes instalados e os detalhes do ambiente, o próprio experimento agora é totalmente reproduzível. Na verdade, o ClearML permite clonar um experimento e até alterar seus parâmetros. Depois, podemos executá-lo novamente de forma automática com esses novos parâmetros, que é basicamente o que o HPO faz.

Para executar a otimização de hiperparâmetros localmente, incluímos um script pronto para você. Basta garantir que uma tarefa de treinamento tenha sido executada pelo menos uma vez para que apareça no gerenciador de experimentos do ClearML; o script a clona e altera seus hiperparâmetros.

Você precisará preencher o ID dessa tarefa modelo no script localizado em utils/loggers/clearml/hpo.py e, em seguida, executá-lo. Você pode alterar task.execute_locally() para task.execute() para colocá-la em uma fila do ClearML e deixar que um agente remoto execute a tarefa.

# To use optuna, install it first, otherwise you can change the optimizer to just be RandomSearch
pip install optuna
python utils/loggers/clearml/hpo.py

Execução remota (avançado)#

Executar HPO localmente é muito prático, mas e se quisermos executar nossos experimentos em uma máquina remota? Talvez você tenha acesso a uma máquina com uma GPU muito potente no local, ou disponha de algum orçamento para usar GPUs na nuvem. É aí que o agente do ClearML entra em ação.

Confira o que o agente pode fazer:

Em resumo: cada experimento acompanhado pelo gerenciador de experimentos contém informações suficientes para ser reproduzido em outra máquina (pacotes instalados, alterações não commitadas etc.). Portanto, um agente do ClearML faz exatamente isso: monitora uma fila em busca de tarefas e, quando encontra uma, recria o ambiente e a executa, continuando a enviar valores escalares, gráficos etc. ao gerenciador de experimentos.

Você pode transformar qualquer máquina (uma VM na nuvem, uma máquina local com GPU ou seu próprio laptop) em um agente do ClearML simplesmente executando:

clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]

Clonar, editar e colocar na fila#

Com nosso agente em execução, podemos atribuir trabalho a ele. Lembra-se da seção sobre HPO, em que vimos que é possível clonar uma tarefa e editar os hiperparâmetros? Também podemos fazer isso pela interface!

  1. Clone o experimento clicando nele com o botão direito do mouse.
  2. Edite os hiperparâmetros e defina os valores desejados.
  3. Adicione a tarefa a qualquer uma das filas clicando nela com o botão direito do mouse.

Executar uma tarefa remotamente#

Agora você pode clonar uma tarefa, como explicamos acima, ou simplesmente marcar o script atual adicionando task.execute_remotely(); ao executá-lo, ele será colocado em uma fila para que o agente comece a trabalhar!

Para executar o script de treinamento do YOLOv5 remotamente, basta adicionar esta linha ao script train.py, depois que o logger do ClearML tiver sido instanciado:

# ...
# Loggers
data_dict = None
if RANK in {-1, 0}:
    loggers = Loggers(save_dir, weights, opt, hyp, LOGGER)  # instância de loggers
    if loggers.clearml:
        loggers.clearml.task.execute_remotely(queue="my_queue")  # <------ ADICIONE ESTA LINHA

Tem alguma dúvida? Participe da nossa comunidade e envie sua pergunta hoje mesmo!

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