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 .

Comece inicializando o ClearML SDK em seu ambiente. O ' clearml O comando -init' inicia o processo de configuração e solicita 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 as etapas apresentadas 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.

FAQ

Qual é o processo de integração de Ultralytics YOLOv8 com ClearML?

A integração do Ultralytics YOLOv8 com o ClearML envolve uma série de etapas para agilizar o fluxo de trabalho do MLOps. Primeiro, instala os pacotes necessários:

pip install ultralytics clearml

Em seguida, inicializa o SDK ClearML no teu ambiente utilizando:

clearml-init

Em seguida, configura ClearML com as suas credenciais na páginaClearML Settings. Podes encontrar instruções detalhadas sobre todo o processo de configuração, incluindo a seleção de modelos e as configurações de formação, no nosso guiaYOLOv8 Model Training.

Por que razão devo utilizar ClearML com Ultralytics YOLOv8 para os meus projectos de aprendizagem automática?

Utilizar ClearML com Ultralytics YOLOv8 melhora os seus projectos de aprendizagem automática automatizando o acompanhamento de experiências, simplificando os fluxos de trabalho e permitindo uma gestão robusta do modelo. ClearML oferece acompanhamento de métricas em tempo real, monitorização da utilização de recursos e uma interface fácil de utilizar para comparar experiências. Estas funcionalidades ajudam a otimizar o desempenho do seu modelo e a tornar o processo de desenvolvimento mais eficiente. Saiba mais sobre os benefícios e procedimentos no nosso guia de integração MLOps.

Como é que resolvo problemas comuns durante a integração de YOLOv8 e ClearML ?

Se tiveres problemas durante a integração de YOLOv8 com ClearML, consulta o nosso guia de Problemas comuns para obteres soluções e sugestões. Os problemas típicos podem envolver erros de instalação de pacotes, configuração de credenciais ou problemas de configuração. Este guia fornece instruções de resolução de problemas passo a passo para resolver estes problemas comuns de forma eficiente.

Como é que configuro a tarefa ClearML para o treino do modelo YOLOv8 ?

A configuração de uma tarefa ClearML para o treinamento YOLOv8 envolve a inicialização de uma tarefa, a seleção da variante do modelo, o carregamento do modelo, a configuração dos argumentos de treinamento e, finalmente, o início do treinamento do modelo. Apresentamos-te um exemplo simplificado:

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)

Consulta o nosso Guia de utilização para obteres uma descrição detalhada destes passos.

Onde posso ver os resultados da minha formação YOLOv8 em ClearML?

Depois de executar o script de treinamento YOLOv8 com ClearML, é possível visualizar os resultados na página de resultados ClearML . A saída incluirá um link de URL para o painel ClearML , onde é possível rastrear métricas, comparar experimentos e monitorar o uso de recursos. Para obter mais detalhes sobre como visualizar e interpretar os resultados, consulta a nossa secção sobre Visualizar a página de resultados de ClearML .



Criado em 2023-11-29, Atualizado em 2024-07-05
Autores: glenn-jocher (10), IvorZhu331 (1), abirami-vina (1)

Comentários