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 é 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:
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.
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:
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.
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.