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 em 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 2023-11-30
Autores: abirami-vina (1)

Coment√°rios