Salta para o conteúdo

Acompanhamento avançado de experiências em YOLOv8 com DVCLive

O controlo de experiências na aprendizagem automática é fundamental para o desenvolvimento e avaliação de modelos. Envolve o registo e a análise de vários parâmetros, métricas e resultados de várias execuções de treino. Este processo é essencial para compreender o desempenho do modelo e tomar decisões baseadas em dados para aperfeiçoar e otimizar os modelos.

A integração do DVCLive com o Ultralytics YOLOv8 transforma a maneira como os experimentos são rastreados e gerenciados. Essa integração oferece uma solução perfeita para registrar automaticamente os principais detalhes do experimento, comparar resultados entre diferentes execuções e visualizar dados para uma análise aprofundada. Neste guia, vamos entender como o DVCLive pode ser usado para agilizar o processo.

DVCLive

Visão geral do DVCLive

O DVCLive, desenvolvido pela DVC, é uma ferramenta inovadora de código aberto para o acompanhamento de experiências em aprendizagem automática. Integrando-se perfeitamente ao Git e ao DVC, automatiza o registro de dados cruciais de experimentos, como parâmetros de modelos e métricas de treinamento. Concebido para ser simples, o DVCLive permite a comparação e análise sem esforço de várias execuções, melhorando a eficiência dos projectos de aprendizagem automática com ferramentas intuitivas de visualização e análise de dados.

YOLOv8 Formação com DVCLive

YOLOv8 As sessões de treino podem ser monitorizadas eficazmente com o DVCLive. Além disso, o DVC fornece funcionalidades integrais para a visualização destas experiências, incluindo a geração de um relatório que permite a comparação de gráficos de métricas em todas as experiências monitorizadas, oferecendo uma visão abrangente do processo de treino.

Instalação

Para instalar os pacotes necessários, executa:

Instalação

# Install the required packages for YOLOv8 and DVCLive
pip install ultralytics dvclive

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.

Configurar o DVCLive

Depois de instalares os pacotes necessários, o próximo passo é instalar e configurar o teu ambiente com as credenciais necessárias. Esta configuração assegura uma integração suave do DVCLive no teu fluxo de trabalho existente.

Começa por inicializar um repositório Git, uma vez que o Git desempenha um papel crucial no controlo de versões tanto para o teu código como para as configurações do DVCLive.

Configuração inicial do ambiente

# Initialize a Git repository
git init -q

# Configure Git with your details
git config --local user.email "you@example.com"
git config --local user.name "Your Name"

# Initialize DVCLive in your project
dvc init -q

# Commit the DVCLive setup to your Git repository
git commit -m "DVC init"

Nestes comandos, certifica-te de que substituis "you@example.com" pelo endereço de e-mail associado à tua conta Git e "Your Name" pelo nome de utilizador da tua conta Git.

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.

Treina YOLOv8 Models com DVCLive

Começa por executar as tuas sessões de formação YOLOv8 . Podes utilizar diferentes configurações de modelos e parâmetros de formação para te adaptares às necessidades do teu projeto. Por exemplo:

# Example training commands for YOLOv8 with varying configurations
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=512
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=640

Ajusta o modelo, os dados, as épocas e os parâmetros imgsz de acordo com os teus requisitos específicos. Para uma compreensão detalhada do processo de formação de modelos e das melhores práticas, consulta o nosso guiaYOLOv8 Model Training.

Monitorização de experiências com DVCLive

O DVCLive melhora o processo de formação, permitindo o acompanhamento e a visualização das principais métricas. Quando instalado, o Ultralytics YOLOv8 integra-se automaticamente com o DVCLive para o acompanhamento de experiências, que pode ser analisado posteriormente para obter informações sobre o desempenho. Para uma compreensão abrangente das métricas de desempenho específicas usadas durante o treinamento, não deixe de explorar nosso guia detalhado sobre métricas de desempenho.

Analisar resultados

Após a conclusão das sessões de treinamento do YOLOv8 , é possível aproveitar as poderosas ferramentas de visualização do DVCLive para uma análise aprofundada dos resultados. A integração do DVCLive garante que todas as métricas de treinamento sejam sistematicamente registradas, facilitando uma avaliação abrangente do desempenho do seu modelo.

Para iniciar a análise, podes extrair os dados da experiência utilizando a API do DVC e processá-los com o Pandas para facilitar o manuseamento e a visualização:

import dvc.api
import pandas as pd

# Define the columns of interest
columns = ["Experiment", "epochs", "imgsz", "model", "metrics.mAP50-95(B)"]

# Retrieve experiment data
df = pd.DataFrame(dvc.api.exp_show(), columns=columns)

# Clean the data
df.dropna(inplace=True)
df.reset_index(drop=True, inplace=True)

# Display the DataFrame
print(df)

A saída do trecho de código acima fornece uma visão tabular clara das diferentes experiências realizadas com os modelos YOLOv8 . Cada linha representa uma execução de treinamento diferente, detalhando o nome do experimento, o número de épocas, o tamanho da imagem (imgsz), o modelo específico usado e a métrica mAP50-95(B). Essa métrica é crucial para avaliar a precisão do modelo, com valores mais altos indicando melhor desempenho.

Visualizando resultados com Plotly

Para uma análise mais interactiva e visual dos resultados da tua experiência, podes utilizar o gráfico de coordenadas paralelas do Plotly. Este tipo de gráfico é particularmente útil para compreenderes as relações e os compromissos entre diferentes parâmetros e métricas.

from plotly.express import parallel_coordinates

# Create a parallel coordinates plot
fig = parallel_coordinates(df, columns, color="metrics.mAP50-95(B)")

# Display the plot
fig.show()

O resultado do trecho de código acima gera um gráfico que representa visualmente as relações entre épocas, tamanho da imagem, tipo de modelo e as pontuações mAP50-95(B) correspondentes, permitindo-te detetar tendências e padrões nos dados da tua experiência.

Gerando visualizações comparativas com DVC

O DVC fornece um comando útil para gerar gráficos comparativos para as tuas experiências. Isso pode ser especialmente útil para comparar o desempenho de diferentes modelos em várias execuções de treinamento.

# Generate DVC comparative plots
dvc plots diff $(dvc exp list --names-only)

Depois de executar esse comando, o DVC gera gráficos comparando as métricas em diferentes experimentos, que são salvos como arquivos HTML. Abaixo está uma imagem de exemplo que ilustra os gráficos típicos gerados por esse processo. A imagem mostra vários gráficos, incluindo os que representam mAP, recall, precisão, valores de perda e outros, fornecendo uma visão geral das principais métricas de desempenho:

DVCLive Parcelas

Exibir parcelas DVC

Se estiveres a utilizar um Jupyter Notebook e quiseres apresentar os gráficos DVC gerados, podes utilizar a funcionalidade de apresentação IPython.

from IPython.display import HTML

# Display the DVC plots as HTML
HTML(filename="./dvc_plots/index.html")

Este código irá renderizar o ficheiro HTML que contém os gráficos DVC diretamente no teu Jupyter Notebook, proporcionando uma forma fácil e conveniente de analisar os dados visualizados da experiência.

Tomar decisões baseadas em dados

Utiliza as informações obtidas com estas visualizações para tomar decisões informadas sobre optimizações de modelos, afinação de hiperparâmetros e outras modificações para melhorar o desempenho do teu modelo.

Iteração em experiências

Com base na tua análise, repete as tuas experiências. Ajusta as configurações do modelo, os parâmetros de treino, ou mesmo os dados de entrada, e repete o processo de treino e análise. Esta abordagem iterativa é fundamental para aperfeiçoar o teu modelo e obter o melhor desempenho possível.

Resumo

Este guia conduziu-te através do processo de integração do DVCLive com Ultralytics' YOLOv8. Aprendeste a aproveitar o poder do DVCLive para uma monitorização detalhada das experiências, uma visualização eficaz e uma análise perspicaz nos teus esforços de aprendizagem automática.

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

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



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

Comentários