Salta para o conteúdo

Formação YOLOv8 com ClearML: Simplificar o teu fluxo de trabalho MLOps

O MLOps preenche a lacuna entre a criação e a implementação de modelos de aprendizagem automática em ambientes reais. Concentra-se na implementação eficiente, na escalabilidade e na gestão contínua para garantir que os modelos têm um bom desempenho em aplicações práticas.

Ultralytics YOLOv8 integra-se sem esforço com ClearML, simplificando e melhorando a formação e a gestão do teu modelo de deteção de objectos. Este guia irá guiar-te através do processo de integração, detalhando como configurar ClearML, gerir experiências, automatizar a gestão de modelos e colaborar eficazmente.

ClearML

ClearML Visão geral

ClearML é uma plataforma inovadora de MLOps de código aberto que foi habilmente concebida para automatizar, monitorizar e orquestrar fluxos de trabalho de aprendizagem automática. As suas principais características incluem o registo automático de todos os dados de formação e inferência para uma reprodutibilidade total da experiência, uma interface Web intuitiva para uma fácil visualização e análise de dados, algoritmos avançados de otimização de hiperparâmetros e gestão robusta de modelos para uma implementação eficiente em várias plataformas.

YOLOv8 Formação com ClearML

Podes trazer automação e eficiência ao teu fluxo de trabalho de aprendizagem automática, melhorando o teu processo de formação através da integração de YOLOv8 com ClearML.

Instalação

Para instalar os pacotes necessários, executa:

Instalação

# Install the required packages for YOLOv8 and ClearML
pip install ultralytics clearml

Para obter instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulta o nosso guia de instalaçãoYOLOv8 . Durante a instalação dos pacotes necessários para YOLOv8, se tiveres alguma dificuldade, consulta o nosso guia de Problemas comuns para obteres soluções e sugestões.

Configurações ClearML

Depois de instalar os pacotes necessários, a próxima etapa é inicializar e configurar o SDK ClearML . Isso envolve a configuração de sua conta ClearML e a obtenção das credenciais necessárias para uma conexão perfeita entre seu ambiente de desenvolvimento e o servidor ClearML .

Começa por inicializar o SDK ClearML no teu ambiente. O comando 'clearml-init' inicia o processo de configuração e pede-te as credenciais necessárias.

Configuração inicial do SDK

# Initialize your ClearML SDK setup process
clearml-init

Depois de executares este comando, visita a páginaClearML Settings. Navega até ao canto superior direito e selecciona "Definições". Vai para a secção "Espaço de trabalho" e clica em "Criar novas credenciais". Utiliza as credenciais fornecidas na janela pop-up "Criar credenciais" para concluir a configuração conforme as instruções, dependendo se estás a configurar ClearML num Notebook Jupyter ou num ambiente local Python .

Utilização

Antes de mergulhar nas instruções de utilização, não te esqueças de verificar a gama de modelosYOLOv8 oferecidos por Ultralytics. Isto ajudar-te-á a escolher o modelo mais adequado às necessidades do teu projeto.

Utilização

from clearml import Task
from ultralytics import YOLO

# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")

# Step 2: Selecting the YOLOv8 Model
model_variant = "yolov8n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLOv8 Model
model = YOLO(f"{model_variant}.pt")

# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# Step 5: Initiating Model Training
results = model.train(**args)

Compreender o código

Vamos entender os passos mostrados no trecho de código de uso acima.

Etapa 1: Criando uma tarefa ClearML : Uma nova tarefa é inicializada em ClearML, especificando os nomes do projeto e da tarefa. Esta tarefa irá acompanhar e gerir o treino do teu modelo.

Passo 2: Selecionar o modelo YOLOv8: O model_variant é definida como 'yolov8n', um dos modelos YOLOv8 . Esta variante é então registada em ClearML para rastreio.

Etapa 3: Carrega o modelo YOLOv8 : O modelo YOLOv8 selecionado é carregado utilizando a classe Ultralytics' YOLO , preparando-o para o treino.

Etapa 4: Definir os argumentos de formação: Argumentos chave para a formação, como o conjunto de dados (coco8.yaml) e o número de épocas (16) são organizados num dicionário e ligados à tarefa ClearML . Isto permite o acompanhamento e a potencial modificação através da IU ClearML . Para uma compreensão detalhada do processo de formação de modelos e das melhores práticas, consulta a nossa YOLOv8 Modelo de guia de formação.

Passo 5: Iniciar a formação de modelos: Inicia o treino do modelo com os argumentos especificados. Os resultados do processo de treino são capturados no ficheiro results variável.

Compreender a saída

Ao executar o trecho de código de utilização acima, podes esperar o seguinte resultado:

  • Uma mensagem de confirmação que indica a criação de uma nova tarefa ClearML , juntamente com o seu ID único.
  • Uma mensagem informativa sobre o código do script que está a ser armazenado, indicando que a execução do código está a ser monitorizada por ClearML.
  • Uma ligação URL para a página de resultados ClearML onde podes acompanhar o progresso do treino e ver registos detalhados.
  • Faz o download do progresso do modelo YOLOv8 e do conjunto de dados especificado, seguido de um resumo da arquitetura do modelo e da configuração do treinamento.
  • Mensagens de inicialização para vários componentes de formação, como o TensorBoard, o Automatic Mixed Precision (AMP) e a preparação do conjunto de dados.
  • Finalmente, inicia o processo de treino, com actualizações de progresso à medida que o modelo treina no conjunto de dados especificado. Para uma compreensão aprofundada das métricas de desempenho utilizadas durante o treino, lê o nosso guia sobre métricas de desempenho.

Visualiza a página de resultados ClearML

Ao clicar na ligação URL para a página de resultados ClearML na saída do snippet de código de utilização, podes aceder a uma visão abrangente do processo de formação do teu modelo.

Principais características da página de resultados ClearML

  • Acompanhamento de métricas em tempo real

    • Acompanha métricas críticas como perda, precisão e pontuações de validação à medida que ocorrem.
    • Fornece feedback imediato para ajustes oportunos do desempenho do modelo.
  • Comparação de experiências

    • Compara diferentes treinos lado a lado.
    • Essencial para a afinação de hiperparâmetros e para identificar os modelos mais eficazes.
  • Registos e resultados detalhados

    • Acede a registos abrangentes, representações gráficas de métricas e resultados da consola.
    • Obtém uma compreensão mais profunda do comportamento do modelo e da resolução de problemas.
  • Monitorização da utilização de recursos

    • Monitoriza a utilização de recursos computacionais, incluindo CPU, GPU e memória.
    • A chave para otimizar a eficiência e os custos da formação.
  • Gestão de artefactos do modelo

    • Vê, transfere e partilha artefactos de modelos, como modelos treinados e pontos de controlo.
    • Melhora a colaboração e simplifica a implementação e partilha de modelos.

Para uma apresentação visual do aspeto da página de resultados ClearML , vê o vídeo abaixo:



Observa: YOLOv8 Integração de MLOps utilizando ClearML

Funcionalidades avançadas em ClearML

ClearML oferece várias funcionalidades avançadas para melhorar a tua experiência MLOps.

Execução remota

ClearMLfacilita a reprodução e a manipulação de experiências em diferentes máquinas. Regista detalhes essenciais como pacotes instalados e alterações não confirmadas. Quando uma tarefa é enfileirada, o Agente ClearML puxa-a, recria o ambiente e executa a experiência, reportando resultados detalhados.

A implantação de um agente ClearML é simples e pode ser feita em várias máquinas usando o seguinte comando:

clearml-agent daemon --queue <queues_to_listen_to> [--docker]

Essa configuração é aplicável a VMs de nuvem, GPUs locais ou laptops. ClearML Os Autoscalers ajudam a gerenciar cargas de trabalho na nuvem em plataformas como AWS, GCP e Azure, automatizando a implantação de agentes e ajustando recursos com base no seu orçamento de recursos.

Clonagem, edição e colocação em fila

ClearMLpermite clonar, editar e colocar tarefas em fila de espera com facilidade. Os utilizadores podem clonar uma experiência existente, ajustar parâmetros ou outros detalhes através da IU e colocar a tarefa em fila de espera para execução. Este processo simplificado garante que o agente ClearML que executa a tarefa utiliza configurações actualizadas, o que o torna ideal para experiências iterativas e afinação de modelos.


Clonagem, edição e colocação em fila com ClearML

Resumo

Este guia conduziu-te através do processo de integração de ClearML com Ultralytics' YOLOv8. Abrangendo tudo, desde a configuração inicial até à gestão avançada de modelos, descobriste como tirar partido do ClearML para uma formação eficiente, acompanhamento de experiências e otimização do fluxo de trabalho nos teus projectos de aprendizagem automática.

Para mais informações sobre a utilização, visita a documentação oficial doClearML.

Além disso, explora mais integrações e capacidades de Ultralytics visitando a página do guia de integraçãoUltralytics , que é um tesouro de recursos e informações.



Criado em 2023-11-29, Atualizado em 2024-05-18
Autores: glenn-jocher (7), abirami-vina (1)

Comentários