Meet YOLO26: next-gen vision AI.

Link to this sectionIntegração do MLflow com o Ultralytics YOLO#

MLflow experiment tracking with Ultralytics YOLO

Link to this sectionIntrodução#

O registro de experimentos é um aspecto crucial dos fluxos de trabalho de machine learning que permite o rastreamento de várias métricas, parâmetros e artefatos. Isso ajuda a melhorar a reprodutibilidade do modelo, depurar problemas e aprimorar o desempenho do modelo. O Ultralytics YOLO, conhecido por suas capacidades de detecção de objetos em tempo real, agora oferece integração com o MLflow, uma plataforma de código aberto para o gerenciamento completo do ciclo de vida de machine learning.

Esta página de documentação é um guia abrangente para configurar e utilizar as capacidades de registro do MLflow para o seu projeto Ultralytics YOLO.

Link to this sectionO que é o MLflow?#

O MLflow é uma plataforma de código aberto desenvolvida pela Databricks para gerenciar o ciclo de vida de ponta a ponta do machine learning. Ela inclui ferramentas para rastrear experimentos, empacotar código em execuções reproduzíveis, além de compartilhar e implantar modelos. O MLflow foi projetado para funcionar com qualquer biblioteca de machine learning e linguagem de programação.

Link to this sectionRecursos#

  • Registro de Métricas: Registra métricas ao final de cada época e ao final do treinamento.
  • Registro de Parâmetros: Registra todos os parâmetros usados no treinamento.
  • Registro de Artefatos: Registra artefatos do modelo, incluindo pesos e arquivos de configuração, ao final do treinamento.

Link to this sectionConfiguração e Pré-requisitos#

Certifique-se de que o MLflow esteja instalado. Caso contrário, instale-o usando pip:

pip install mlflow

Certifique-se de que o registro do MLflow esteja habilitado nas configurações do Ultralytics. Geralmente, isso é controlado pela chave mlflow nas configurações. Veja a página de configurações para mais informações.

Atualizar configurações do MLflow no Ultralytics

Dentro do ambiente Python, chame o método update no objeto settings para alterar suas configurações:

from ultralytics import settings

# Update a setting
settings.update({"mlflow": True})

# Reset settings to default values
settings.reset()

Link to this sectionComo usar#

Link to this sectionComandos#

  1. Definir um nome de projeto: Você pode definir o nome do projeto via variável de ambiente:

    export MLFLOW_EXPERIMENT_NAME=YOUR_EXPERIMENT_NAME

    Ou use o argumento project=<project> ao treinar um modelo YOLO, por exemplo: yolo train project=my_project.

  2. Definir um nome de execução: Semelhante à definição do nome do projeto, você pode definir o nome da execução via variável de ambiente:

    export MLFLOW_RUN=YOUR_RUN_NAME

    Ou use o argumento name=<name> ao treinar um modelo YOLO, por exemplo: yolo train project=my_project name=my_name.

  3. Iniciar servidor MLflow local: Para iniciar o rastreamento, use:

    mlflow server --backend-store-uri runs/mlflow

    Isso iniciará um servidor local em http://127.0.0.1:5000 por padrão e salvará todos os logs do MLflow no diretório 'runs/mlflow'. Para apontar suas execuções de treinamento para um servidor de rastreamento diferente, exporte MLFLOW_TRACKING_URI antes do treinamento:

    export MLFLOW_TRACKING_URI=http://127.0.0.1:5000
  4. Encerrar instâncias do servidor MLflow: Para interromper todas as instâncias do MLflow em execução, execute:

    ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9

Link to this sectionRegistro (Logging)#

The logging is taken care of by the on_pretrain_routine_end, on_fit_epoch_end, and on_train_end callback functions. These functions are automatically called during the respective stages of the training process, and they handle the logging of parameters, metrics, and artifacts.

Link to this sectionExemplos#

  1. Registro de métricas personalizadas: Você pode adicionar métricas personalizadas a serem registradas modificando o dicionário trainer.metrics antes que on_fit_epoch_end seja chamado.

  2. Visualizar experimento: Para ver seus logs, navegue até o seu servidor MLflow (geralmente http://127.0.0.1:5000) e selecione seu experimento e execução. MLflow experiment tracking interface for YOLO

  3. Visualizar execução: As execuções são modelos individuais dentro de um experimento. Clique em uma execução e veja os detalhes, incluindo artefatos carregados e pesos do modelo. MLflow run details with YOLO artifacts

Link to this sectionDesativar o MLflow#

Para desativar o registro do MLflow:

yolo settings mlflow=False

Link to this sectionConclusão#

A integração de registro do MLflow com o Ultralytics YOLO oferece uma maneira simplificada de acompanhar seus experimentos de machine learning. Ela permite que você monitore métricas de desempenho e gerencie artefatos de forma eficaz, auxiliando assim no desenvolvimento e na implantação robustos de modelos. Para obter mais detalhes, visite a documentação oficial do MLflow.

Link to this sectionFAQ#

Link to this sectionComo configuro o registro do MLflow com o Ultralytics YOLO?#

Para configurar o registro do MLflow com o Ultralytics YOLO, você primeiro precisa garantir que o MLflow esteja instalado. Você pode instalá-lo usando pip:

pip install mlflow

Em seguida, ative o registro do MLflow nas configurações do Ultralytics. Isso pode ser controlado usando a chave mlflow. Para mais informações, consulte o guia de configurações.

Atualizar configurações do MLflow no Ultralytics
from ultralytics import settings

# Update a setting
settings.update({"mlflow": True})

# Reset settings to default values
settings.reset()

Por fim, inicie um servidor MLflow local para rastreamento:

mlflow server --backend-store-uri runs/mlflow

Link to this sectionQuais métricas e parâmetros posso registrar usando o MLflow com o Ultralytics YOLO?#

O Ultralytics YOLO com MLflow oferece suporte ao registro de várias métricas, parâmetros e artefatos ao longo do processo de treinamento:

  • Registro de métricas: Rastreia métricas ao final de cada época e após a conclusão do treinamento.
  • Registro de parâmetros: Registra todos os parâmetros usados no processo de treinamento.
  • Registro de artefatos: Salva artefatos do modelo, como pesos e arquivos de configuração, após o treinamento.

Para obter informações mais detalhadas, visite a documentação de rastreamento do Ultralytics YOLO.

Link to this sectionPosso desativar o registro do MLflow depois que ele estiver ativado?#

Sim, você pode desativar o registro do MLflow para o Ultralytics YOLO atualizando as configurações. Veja como fazer isso usando a CLI:

yolo settings mlflow=False

Para mais personalizações e redefinição de configurações, consulte o guia de configurações.

Link to this sectionComo posso iniciar e parar um servidor MLflow para rastreamento do Ultralytics YOLO?#

Para iniciar um servidor MLflow para rastrear seus experimentos no Ultralytics YOLO, use o seguinte comando:

mlflow server --backend-store-uri runs/mlflow

Este comando inicia um servidor local em http://127.0.0.1:5000 por padrão. Se precisar parar as instâncias do servidor MLflow em execução, use o seguinte comando bash:

ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9

Consulte a seção de comandos para mais opções de comando.

Link to this sectionQuais são os benefícios de integrar o MLflow com o Ultralytics YOLO para rastreamento de experimentos?#

A integração do MLflow com o Ultralytics YOLO oferece vários benefícios para gerenciar seus experimentos de machine learning:

  • Rastreamento de experimentos aprimorado: Rastreie e compare facilmente diferentes execuções e seus resultados.
  • Melhor reprodutibilidade de modelos: Garanta que seus experimentos sejam reproduzíveis registrando todos os parâmetros e artefatos.
  • Monitoramento de desempenho: Visualize métricas de desempenho ao longo do tempo para tomar decisões baseadas em dados para melhorias no modelo.
  • Fluxo de trabalho simplificado: Automatize o processo de registro para focar mais no desenvolvimento do modelo do que no rastreamento manual.
  • Desenvolvimento colaborativo: Compartilhe resultados de experimentos com membros da equipe para uma melhor colaboração e compartilhamento de conhecimento.

Para uma visão detalhada sobre a configuração e o aproveitamento do MLflow com o Ultralytics YOLO, explore a documentação Integração do MLflow com o Ultralytics YOLO.

Comentários