Saltar al contenido

Mejora del seguimiento y la visualizaci贸n de experimentos en YOLOv8 con Weights & Biases

Los modelos de detecci贸n de objetos como Ultralytics YOLOv8 se han convertido en parte integrante de muchas aplicaciones de visi贸n por ordenador. Sin embargo, entrenar, evaluar y desplegar estos complejos modelos presenta varios retos. El seguimiento de las m茅tricas clave del entrenamiento, la comparaci贸n de las variantes del modelo, el an谩lisis del comportamiento del modelo y la detecci贸n de problemas requieren una instrumentaci贸n y una gesti贸n de los experimentos considerables.

Esta gu铆a muestra la integraci贸n de Ultralytics YOLOv8 con Weights & Biases' para mejorar el seguimiento de experimentos, la comprobaci贸n de modelos y la visualizaci贸n del rendimiento de los modelos. Tambi茅n incluye instrucciones para configurar la integraci贸n, entrenar, ajustar y visualizar los resultados utilizando las funciones interactivas de Weights & Biases'.

Weights & Biases

Weights & Biases Visi贸n general

Weights & Biases es una plataforma MLOps de vanguardia dise帽ada para el seguimiento, la visualizaci贸n y la gesti贸n de experimentos de aprendizaje autom谩tico. Presenta un registro autom谩tico de las m茅tricas de entrenamiento para una total reproducibilidad de los experimentos, una interfaz de usuario interactiva para agilizar el an谩lisis de datos, y herramientas eficaces de gesti贸n de modelos para desplegarlos en varios entornos.

YOLOv8 Formaci贸n con Weights & Biases

Puedes utilizar Weights & Biases para aportar eficacia y automatizaci贸n a tu proceso de formaci贸n YOLOv8 .

Instalaci贸n

Para instalar los paquetes necesarios, ejecuta

Instalaci贸n

# Install the required packages for YOLOv8 and Weights & Biases
pip install --upgrade ultralytics==8.0.186 wandb

Para obtener instrucciones detalladas y buenas pr谩cticas relacionadas con el proceso de instalaci贸n, consulta nuestra gu铆a de instalaci贸nYOLOv8 . Mientras instalas los paquetes necesarios para YOLOv8, si encuentras alguna dificultad, consulta nuestra gu铆a de Problemas comunes para encontrar soluciones y consejos.

Configuraci贸n de Weights & Biases

Tras instalar los paquetes necesarios, el siguiente paso es configurar tu entorno Weights & Biases . Esto incluye crear una cuenta en Weights & Biases y obtener la clave API necesaria para una conexi贸n fluida entre tu entorno de desarrollo y la plataforma W&B.

Empieza por inicializar el entorno Weights & Biases en tu espacio de trabajo. Puedes hacerlo ejecutando el siguiente comando y siguiendo las instrucciones que se te indiquen.

Configuraci贸n inicial del SDK

# Initialize your Weights & Biases environment
import wandb
wandb.login()

Navega a la p谩gina de autorizaci贸n Weights & Biases para crear y recuperar tu clave API. Utiliza esta clave para autenticar tu entorno con W&B.

Utilizaci贸n: Entrenamiento YOLOv8 con Weights & Biases

Antes de sumergirte en las instrucciones de uso del modelo de formaci贸n YOLOv8 con Weights & Biases, aseg煤rate de consultar la gama de modelosYOLOv8 que ofrece Ultralytics. Esto te ayudar谩 a elegir el modelo m谩s apropiado para los requisitos de tu proyecto.

Utilizaci贸n: Entrenamiento YOLOv8 con Weights & Biases

import wandb
from ultralytics import YOLO
from wandb.integration.ultralytics import add_wandb_callback

# Step 1: Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")

# Step 2: Define the YOLOv8 Model and Dataset
model_name = "yolov8n"
dataset_name = "coco8.yaml"
model = YOLO(f"{model_name}.pt")

# Step 3: Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Step 4: Train and Fine-Tune the Model
model.train(project="ultralytics", data=dataset_name, epochs=5, imgsz=640)

# Step 5: Validate the Model
model.val()

# Step 6: Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])

# Step 7: Finalize the W&B Run
wandb.finish()

Comprender el C贸digo

Comprendamos los pasos que se muestran en el fragmento de c贸digo de uso anterior.

  • Paso 1: Inicializar una ejecuci贸n de Weights & Biases : Comienza inicializando una ejecuci贸n de Weights & Biases , especificando el nombre del proyecto y el tipo de trabajo. Esta ejecuci贸n seguir谩 y gestionar谩 los procesos de entrenamiento y validaci贸n de tu modelo.

  • Paso 2: Definir el modelo y el conjunto de datos YOLOv8 : Especifica la variante del modelo y el conjunto de datos que deseas utilizar. A continuaci贸n, el modelo YOLO se inicializa con el archivo del modelo especificado.

  • Paso 3: A帽ade Weights & Biases Callback para Ultralytics: Este paso es crucial, ya que permite el registro autom谩tico de las m茅tricas de entrenamiento y los resultados de validaci贸n en Weights & Biases, proporcionando una visi贸n detallada del rendimiento del modelo.

  • Paso 4: Entrenar y ajustar el modelo: Comienza a entrenar el modelo con el conjunto de datos, el n煤mero de 茅pocas y el tama帽o de imagen especificados. El proceso de entrenamiento incluye el registro de m茅tricas y predicciones al final de cada 茅poca, lo que ofrece una visi贸n completa del progreso del aprendizaje del modelo.

  • Paso 5: Validar el modelo: Tras el entrenamiento, se valida el modelo. Este paso es crucial para evaluar el rendimiento del modelo en datos no vistos y garantizar su generalizabilidad.

  • Paso 6: Realizar inferencias y registrar resultados: El modelo realiza predicciones sobre las im谩genes especificadas. Estas predicciones, junto con las superposiciones visuales y las percepciones, se registran autom谩ticamente en una Tabla W&B para la exploraci贸n interactiva.

  • Paso 7: Finalizar la Ejecuci贸n W&B: Este paso marca el final del registro de datos y guarda el estado final del proceso de entrenamiento y validaci贸n de tu modelo en el panel W&B.

Comprender la salida

Al ejecutar el fragmento de c贸digo de uso anterior, puedes esperar los siguientes resultados clave:

  • La configuraci贸n de una nueva tirada con su ID 煤nico, que indica el inicio del proceso de entrenamiento.
  • Un resumen conciso de la estructura del modelo, incluyendo el n煤mero de capas y par谩metros.
  • Actualizaciones peri贸dicas de m茅tricas importantes como la p茅rdida de caja, la p茅rdida cls, la p茅rdida dfl, la precisi贸n, la recuperaci贸n y las puntuaciones mAP durante cada 茅poca de entrenamiento.
  • Al final del entrenamiento, se muestran m茅tricas detalladas que incluyen la velocidad de inferencia del modelo y m茅tricas de precisi贸n general.
  • Enlaces al panel de control Weights & Biases para un an谩lisis en profundidad y la visualizaci贸n del proceso de entrenamiento, junto con informaci贸n sobre la ubicaci贸n de los archivos de registro locales.

Ver el panel Weights & Biases

Tras ejecutar el fragmento de c贸digo de uso, puedes acceder al panel Weights & Biases (W&B) a trav茅s del enlace proporcionado en la salida. Este panel ofrece una visi贸n completa del proceso de entrenamiento de tu modelo con YOLOv8.

Caracter铆sticas principales del panel Weights & Biases

  • Seguimiento de m茅tricas en tiempo real: Observa m茅tricas como la p茅rdida, la precisi贸n y las puntuaciones de validaci贸n a medida que evolucionan durante el entrenamiento, ofreciendo informaci贸n inmediata para el ajuste del modelo.

  • Optimizaci贸n de hiperpar谩metros: Weights & Biases ayuda a afinar par谩metros cr铆ticos como la tasa de aprendizaje, el tama帽o del lote, etc., mejorando el rendimiento de YOLOv8.

  • An谩lisis comparativo: La plataforma permite la comparaci贸n lado a lado de diferentes ejecuciones de entrenamiento, esencial para evaluar el impacto de diversas configuraciones del modelo.

  • Visualizaci贸n del progreso del entrenamiento: Las representaciones gr谩ficas de las m茅tricas clave proporcionan una comprensi贸n intuitiva del rendimiento del modelo a lo largo de las 茅pocas.

  • Monitorizaci贸n de recursos: Controla el uso de CPU, GPU y memoria para optimizar la eficiencia del proceso de entrenamiento.

  • Gesti贸n de artefactos del modelo: Accede a los puntos de control del modelo y comp谩rtelos, facilitando el despliegue y la colaboraci贸n.

  • Visualizaci贸n de los resultados de la inferencia con superposici贸n de im谩genes: Visualiza los resultados de la predicci贸n en im谩genes mediante superposiciones interactivas en Weights & Biases, proporcionando una visi贸n clara y detallada del rendimiento del modelo en datos del mundo real. Para obtener informaci贸n m谩s detallada sobre las capacidades de superposici贸n de im谩genes de Weights & Biases', consulta este enlace.

Utilizando estas funciones, puedes seguir, analizar y optimizar eficazmente el entrenamiento de tu modelo YOLOv8 , garantizando el mejor rendimiento y eficacia posibles.

Resumen

Esta gu铆a te ha ayudado a explorar la integraci贸n de Ultralytics' YOLOv8 con Weights & Biases. Ilustra la capacidad de esta integraci贸n para realizar un seguimiento eficaz y visualizar los resultados del entrenamiento y la predicci贸n de modelos.

Para m谩s detalles sobre su uso, visita Weights & Biases' documentaci贸n oficial.

Adem谩s, aseg煤rate de consultar la p谩gina de la gu铆a de integraci贸nUltralytics , para saber m谩s sobre diferentes integraciones interesantes.



Creado 2023-12-28, Actualizado 2024-05-18
Autores: glenn-jocher (5), abirami-vina (1)

Comentarios