Saltar al contenido

Formaci贸n YOLOv8 con ClearML: Racionalizar tu flujo de trabajo MLOps

MLOps tiende un puente entre la creaci贸n y el despliegue de modelos de aprendizaje autom谩tico en entornos reales. Se centra en el despliegue eficiente, la escalabilidad y la gesti贸n continua para garantizar que los modelos funcionen bien en aplicaciones pr谩cticas.

Ultralytics YOLOv8 se integra sin esfuerzo con ClearML, agilizando y mejorando el entrenamiento y la gesti贸n de tu modelo de detecci贸n de objetos. Esta gu铆a te guiar谩 a trav茅s del proceso de integraci贸n, detallando c贸mo configurar ClearML, gestionar experimentos, automatizar la gesti贸n de modelos y colaborar eficazmente.

ClearML

ClearML Visi贸n general

ClearML es una innovadora plataforma MLOps de c贸digo abierto h谩bilmente dise帽ada para automatizar, supervisar y orquestar flujos de trabajo de aprendizaje autom谩tico. Sus caracter铆sticas clave incluyen el registro automatizado de todos los datos de entrenamiento e inferencia para una total reproducibilidad de los experimentos, una interfaz de usuario web intuitiva para una f谩cil visualizaci贸n y an谩lisis de los datos, algoritmos avanzados de optimizaci贸n de hiperpar谩metros y una s贸lida gesti贸n de modelos para un despliegue eficaz en diversas plataformas.

YOLOv8 Formaci贸n con ClearML

Puedes aportar automatizaci贸n y eficacia a tu flujo de trabajo de aprendizaje autom谩tico mejorando tu proceso de entrenamiento mediante la integraci贸n de YOLOv8 con ClearML.

Instalaci贸n

Para instalar los paquetes necesarios, ejecuta

Instalaci贸n

# Install the required packages for YOLOv8 and ClearML
pip install ultralytics clearml

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 ClearML

Una vez que hayas instalado los paquetes necesarios, el siguiente paso es inicializar y configurar tu SDK ClearML . Esto implica configurar tu cuenta ClearML y obtener las credenciales necesarias para una conexi贸n perfecta entre tu entorno de desarrollo y el servidor ClearML .

Empieza por inicializar el SDK ClearML en tu entorno. El comando 'clearml-init' inicia el proceso de configuraci贸n y te pide las credenciales necesarias.

Configuraci贸n inicial del SDK

# Initialize your ClearML SDK setup process
clearml-init

Despu茅s de ejecutar este comando, visita la p谩gina de Configuraci贸nClearML . Navega hasta la esquina superior derecha y selecciona "Configuraci贸n". Ve a la secci贸n "Espacio de trabajo" y haz clic en "Crear nuevas credenciales". Utiliza las credenciales proporcionadas en la ventana emergente "Crear credenciales" para completar la configuraci贸n seg煤n las instrucciones, dependiendo de si est谩s configurando ClearML en un cuaderno Jupyter o en un entorno local Python .

Utilizaci贸n

Antes de sumergirte en las instrucciones de uso, 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

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)

Comprender el C贸digo

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

Paso 1: Crear una tarea en ClearML : Se inicializa una nueva tarea en ClearML, especificando los nombres de tu proyecto y de la tarea. Esta tarea seguir谩 y gestionar谩 el entrenamiento de tu modelo.

Paso 2: Seleccionar el modelo YOLOv8: El model_variant se establece la variable 'yolov8n', uno de los modelos YOLOv8 . A continuaci贸n, esta variante se registra en ClearML para su seguimiento.

Paso 3: Carga del modelo YOLOv8 : El modelo YOLOv8 seleccionado se carga mediante la clase Ultralytics' YOLO , prepar谩ndolo para el entrenamiento.

Paso 4: Establecer argumentos de formaci贸n: Argumentos clave del entrenamiento como el conjunto de datos (coco8.yaml) y el n煤mero de 茅pocas (16) se organizan en un diccionario y se conectan a la tarea ClearML . Esto permite el seguimiento y la posible modificaci贸n a trav茅s de la interfaz de usuario de ClearML . Para conocer en detalle el proceso de formaci贸n de modelos y las mejores pr谩cticas, consulta nuestro YOLOv8 Modelo de gu铆a de formaci贸n.

Paso 5: Iniciar el entrenamiento del modelo: El entrenamiento del modelo se inicia con los argumentos especificados. Los resultados del proceso de entrenamiento se capturan en el archivo results variable.

Comprender la salida

Al ejecutar el fragmento de c贸digo de uso anterior, puedes esperar la siguiente salida:

  • Un mensaje de confirmaci贸n indicando la creaci贸n de una nueva tarea ClearML , junto con su ID 煤nico.
  • Un mensaje informativo sobre el c贸digo del script almacenado, indicando que la ejecuci贸n del c贸digo est谩 siendo rastreada por ClearML.
  • Un enlace URL a la p谩gina de resultados ClearML en la que puedes seguir el progreso del entrenamiento y ver registros detallados.
  • Descarga el progreso del modelo YOLOv8 y el conjunto de datos especificado, seguido de un resumen de la arquitectura del modelo y la configuraci贸n del entrenamiento.
  • Mensajes de inicializaci贸n para varios componentes de entrenamiento como TensorBoard, Precisi贸n Mixta Autom谩tica (AMP) y preparaci贸n del conjunto de datos.
  • Por 煤ltimo, se inicia el proceso de entrenamiento, con actualizaciones de progreso a medida que el modelo se entrena en el conjunto de datos especificado. Para conocer en profundidad las m茅tricas de rendimiento utilizadas durante el entrenamiento, lee nuestra gu铆a sobre m茅tricas de rendimiento.

Ver la p谩gina de resultados ClearML

Haciendo clic en el enlace URL a la p谩gina de resultados ClearML en la salida del fragmento de c贸digo de uso, puedes acceder a una vista completa del proceso de entrenamiento de tu modelo.

Caracter铆sticas principales de la p谩gina de resultados ClearML

  • Seguimiento de m茅tricas en tiempo real

    • Realiza un seguimiento de las m茅tricas cr铆ticas, como la p茅rdida, la precisi贸n y las puntuaciones de validaci贸n, a medida que se producen.
    • Proporciona informaci贸n inmediata para ajustar a tiempo el rendimiento del modelo.
  • Comparaci贸n de experimentos

    • Compara distintas series de entrenamiento una al lado de la otra.
    • Esencial para ajustar los hiperpar谩metros e identificar los modelos m谩s eficaces.
  • Registros y resultados detallados

    • Accede a registros completos, representaciones gr谩ficas de m茅tricas y salidas de consola.
    • Adquiere una comprensi贸n m谩s profunda del comportamiento de los modelos y de la resoluci贸n de problemas.
  • Supervisi贸n de la utilizaci贸n de recursos

    • Monitoriza la utilizaci贸n de los recursos computacionales, incluyendo CPU, GPU y memoria.
    • Clave para optimizar la eficacia y los costes de la formaci贸n.
  • Gesti贸n de artefactos modelo

    • Visualiza, descarga y comparte artefactos del modelo, como modelos entrenados y puntos de control.
    • Mejora la colaboraci贸n y agiliza el despliegue y el uso compartido de modelos.

Si quieres ver c贸mo es la p谩gina de resultados ClearML , mira el siguiente v铆deo:



Observa: YOLOv8 Integraci贸n de MLOps mediante ClearML

Funciones avanzadas en ClearML

ClearML ofrece varias funciones avanzadas para mejorar tu experiencia MLOps.

Ejecuci贸n remota

ClearMLfacilita la reproducci贸n y manipulaci贸n de experimentos en diferentes m谩quinas. Registra detalles esenciales como los paquetes instalados y los cambios no comprometidos. Cuando se pone en cola una tarea, el Agente ClearML la extrae, recrea el entorno y ejecuta el experimento, informando con resultados detallados.

Desplegar un Agente ClearML es sencillo y puede hacerse en varias m谩quinas utilizando el siguiente comando:

clearml-agent daemon --queue <queues_to_listen_to> [--docker]

Esta configuraci贸n es aplicable a m谩quinas virtuales en la nube, GPU locales u ordenadores port谩tiles. ClearML Los autoescaladores ayudan a gestionar las cargas de trabajo en la nube en plataformas como AWS, GCP y Azure, automatizando el despliegue de agentes y ajustando los recursos en funci贸n de tu presupuesto de recursos.

Clonar, editar y poner en cola

ClearMLpermite clonar, editar y poner en cola tareas f谩cilmente. Los usuarios pueden clonar un experimento existente, ajustar los par谩metros u otros detalles a trav茅s de la interfaz de usuario, y poner en cola la tarea para su ejecuci贸n. Este proceso simplificado garantiza que el Agente ClearML que ejecuta la tarea utiliza configuraciones actualizadas, lo que lo hace ideal para la experimentaci贸n iterativa y el ajuste fino del modelo.


Clonar, editar y poner en cola con ClearML

Resumen

Esta gu铆a te ha guiado a trav茅s del proceso de integraci贸n de ClearML con Ultralytics' YOLOv8. Cubriendo todo, desde la configuraci贸n inicial hasta la gesti贸n avanzada de modelos, has descubierto c贸mo aprovechar ClearML para un entrenamiento eficaz, el seguimiento de experimentos y la optimizaci贸n del flujo de trabajo en tus proyectos de aprendizaje autom谩tico.

Para m谩s detalles sobre su uso, visita la documentaci贸n oficial deClearML.

Adem谩s, explora m谩s integraciones y capacidades de Ultralytics visitando la p谩gina de la gu铆a de integraci贸nUltralytics , que es un tesoro de recursos y conocimientos.



Creado 2023-11-29, Actualizado 2024-05-18
Autores: glenn-jocher (7), abirami-vina (1)

Comentarios