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 .

Begin by initializing the ClearML SDK in your environment. The 'clearml-init' command starts the setup process and prompts you for the necessary credentials.

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

Let's understand the steps showcased in the usage code snippet above.

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.



Created 2023-11-29, Updated 2024-06-09
Authors: IvorZhu331 (1), glenn-jocher (9), abirami-vina (1)

Coment√°rios