Entrenamiento de YOLO11 con ClearML: Agilización de su flujo de trabajo de MLOps
MLOps tiende un puente entre la creación y la implementación de modelos de aprendizaje automático en entornos del mundo real. Se centra en la implementación eficiente, la escalabilidad y la gestión continua para garantizar que los modelos funcionen bien en aplicaciones prácticas.
Ultralytics YOLO11 se integra sin esfuerzo con ClearML, agilizando y mejorando el entrenamiento y la gestión del modelo de detección de objetos. Esta guía lo guiará a través del proceso de integración, detallando cómo configurar ClearML, administrar experimentos, automatizar la gestión de modelos y colaborar de manera efectiva.
ClearML
ClearML es una innovadora plataforma MLOps de código abierto diseñada hábilmente 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 reproducibilidad completa de los experimentos, una interfaz de usuario web intuitiva para facilitar la visualización de datos y el análisis, algoritmos avanzados de optimización de hiperparámetros y una gestión robusta de modelos para una implementación eficiente en diversas plataformas.
Entrenamiento de YOLO11 con ClearML
Puede aportar automatización y eficiencia a su flujo de trabajo de aprendizaje automático mejorando su proceso de entrenamiento integrando YOLO11 con ClearML.
Instalación
Para instalar los paquetes necesarios, ejecute:
Instalación
# Install the required packages for YOLO11 and ClearML
pip install ultralytics clearml
Para obtener instrucciones detalladas y las mejores prácticas relacionadas con el proceso de instalación, asegúrese de consultar nuestra guía de instalación de YOLO11. Si encuentra alguna dificultad al instalar los paquetes necesarios para YOLO11, consulte nuestra guía de problemas comunes para obtener soluciones y consejos.
Configurando ClearML
Una vez que haya instalado los paquetes necesarios, el siguiente paso es inicializar y configurar su SDK de ClearML. Esto implica configurar su cuenta de ClearML y obtener las credenciales necesarias para una conexión perfecta entre su entorno de desarrollo y el servidor de ClearML.
Comienza inicializando el SDK de ClearML en tu entorno. El comando 'clearml-init' inicia el proceso de configuración y te solicita 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ón de ClearML. Navega a la esquina superior derecha y selecciona "Settings" (Configuración). Ve a la sección "Workspace" (Espacio de trabajo) y haz clic en "Create new credentials" (Crear nuevas credenciales). Utiliza las credenciales proporcionadas en la ventana emergente "Create Credentials" (Crear credenciales) para completar la configuración como se indica, dependiendo de si estás configurando ClearML en un Jupyter Notebook o en un entorno Python local.
Uso
Antes de sumergirse en las instrucciones de uso, asegúrese de consultar la gama de modelos YOLO11 ofrecidos por Ultralytics. Esto le ayudará a elegir el modelo más apropiado para los requisitos de su proyecto.
Uso
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 YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 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)
Comprensión del código
Comprendamos los pasos mostrados en el fragmento de código de uso anterior.
Paso 1: Crear una tarea de ClearML: Se inicializa una nueva tarea en ClearML, especificando los nombres de tu proyecto y tarea. Esta tarea rastreará y gestionará el entrenamiento de tu modelo.
Paso 2: Selección del modelo YOLO11: El model_variant
la variable se establece en 'yolo11n', uno de los modelos YOLO11. Esta variante se registra entonces en ClearML para su seguimiento.
Paso 3: Cargar el modelo YOLO11: El modelo YOLO11 seleccionado se carga utilizando la clase YOLO de Ultralytics, preparándolo para el entrenamiento.
Paso 4: Configuración de los argumentos de entrenamiento: Argumentos clave de 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 de ClearML. Esto permite el seguimiento y la posible modificación a través de la interfaz de usuario de ClearML. Para una comprensión detallada del proceso de entrenamiento del modelo y las mejores prácticas, consulte nuestra Guía de entrenamiento del modelo YOLO11.
Paso 5: Inicio del entrenamiento del modelo: El entrenamiento del modelo se inicia con los argumentos especificados. Los resultados del proceso de entrenamiento se capturan en el results
variable.
Comprensión de la salida
Al ejecutar el fragmento de código de uso anterior, puede esperar el siguiente resultado:
- Un mensaje de confirmación que indica la creación de una nueva tarea de ClearML, junto con su ID único.
- Un mensaje informativo sobre el código del script que se está almacenando, lo que indica que la ejecución del código está siendo rastreada por ClearML.
- Un enlace URL a la página de resultados de ClearML donde puede supervisar el progreso del entrenamiento y ver los registros detallados.
- Descargue el progreso del modelo YOLO11 y el conjunto de datos especificado, seguido de un resumen de la arquitectura del modelo y la configuración de 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.
- Finalmente, comienza el proceso de entrenamiento, con actualizaciones de progreso a medida que el modelo se entrena en el conjunto de datos especificado. Para una comprensión profunda de las métricas de rendimiento utilizadas durante el entrenamiento, lea nuestra guía sobre métricas de rendimiento.
Visualización de la página de resultados de ClearML
Al hacer clic en el enlace URL a la página de resultados de 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 de ClearML
-
Seguimiento de métricas en tiempo real
- Realiza un seguimiento de métricas críticas como la pérdida, la precisión y las puntuaciones de validación a medida que ocurren.
- Proporciona retroalimentación inmediata para ajustes oportunos en el rendimiento del modelo.
-
Comparación de experimentos
- Compara diferentes ejecuciones de entrenamiento en paralelo.
- Esencial para el ajuste de hiperparámetros e identificar los modelos más eficaces.
-
Registros y salidas detallados
- Acceda a registros completos, representaciones gráficas de métricas y salidas de consola.
- Obtenga una comprensión más profunda del comportamiento del modelo y la resolución de problemas.
-
Monitorización de la utilización de recursos
- Supervisa la utilización de los recursos computacionales, incluyendo CPU, GPU y memoria.
- Clave para optimizar la eficiencia y los costes de entrenamiento.
-
Gestión de Artefactos del Modelo
- Visualiza, descarga y comparte artefactos del modelo, como modelos entrenados y puntos de control.
- Mejora la colaboración y agiliza la implementación de modelos y el intercambio.
Para ver un recorrido visual del aspecto de la página de resultados de ClearML, vea el siguiente vídeo:
Ver: Integración de MLOps de YOLO11 usando ClearML
Funciones avanzadas en ClearML
ClearML ofrece varias funciones avanzadas para mejorar su experiencia MLOps.
Ejecución Remota
La función de ejecución remota de ClearML facilita la reproducción y manipulación de experimentos en diferentes máquinas. Registra detalles esenciales como los paquetes instalados y los cambios no confirmados. Cuando se pone una tarea en cola, el Agente de ClearML la extrae, recrea el entorno y ejecuta el experimento, informando con resultados detallados.
Implementar un agente de ClearML es sencillo y se puede hacer en varias máquinas usando 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 o portátiles. Los escaladores automáticos ClearML ayudan a administrar las cargas de trabajo en la nube en plataformas como AWS, GCP y Azure, automatizando la implementación de agentes y ajustando los recursos en función de su presupuesto de recursos.
Clonación, edición y puesta en cola
La interfaz fácil de usar de ClearML permite 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 agilizado garantiza que el Agente de ClearML que ejecuta la tarea utilice configuraciones actualizadas, lo que lo hace ideal para la experimentación iterativa y el ajuste fino del modelo.
Gestión de versiones de conjuntos de datos
ClearML también ofrece potentes capacidades de gestión de versiones de conjuntos de datos que se integran a la perfección con los flujos de trabajo de entrenamiento de YOLO11. Esta función le permite:
- Controle las versiones de sus conjuntos de datos por separado de su código
- Realice un seguimiento de qué versión del conjunto de datos se utilizó para cada experimento
- Accede y descarga fácilmente la última versión del conjunto de datos
Para preparar su conjunto de datos para ClearML, siga estos pasos:
- Organiza tu conjunto de datos con la estructura estándar de YOLO (imágenes, etiquetas, etc.)
- Copia el archivo YAML correspondiente a la raíz de la carpeta de tu dataset.
-
Sube tu conjunto de datos utilizando la herramienta ClearML Data:
cd your_dataset_folder clearml-data sync --project YOLOv11 --name your_dataset_name --folder .
Este comando creará un conjunto de datos versionado en ClearML al que se puede hacer referencia en sus scripts de entrenamiento, lo que garantiza la reproducibilidad y un fácil acceso a sus datos.
Resumen
Esta guía le ha llevado a través del proceso de integración de ClearML con YOLO11 de Ultralytics. Cubriendo todo, desde la configuración inicial hasta la gestión avanzada de modelos, ha descubierto cómo aprovechar ClearML para un entrenamiento eficiente, el seguimiento de experimentos y la optimización del flujo de trabajo en sus proyectos de aprendizaje automático.
Para obtener más detalles sobre su uso, visite la documentación oficial de ClearML.
Además, explore más integraciones y capacidades de Ultralytics visitando la página de la guía de integración de Ultralytics, que es un tesoro de recursos e información.
Preguntas frecuentes
¿Cuál es el proceso para integrar Ultralytics YOLO11 con ClearML?
La integración de Ultralytics YOLO11 con ClearML implica una serie de pasos para optimizar su flujo de trabajo de MLOps. Primero, instale los paquetes necesarios:
pip install ultralytics clearml
A continuación, inicialice el SDK de ClearML en su entorno utilizando:
clearml-init
A continuación, configure ClearML con sus credenciales desde la página de configuración de ClearML. En nuestra guía de entrenamiento del modelo YOLO11 encontrará instrucciones detalladas sobre todo el proceso de configuración, incluida la selección del modelo y las configuraciones de entrenamiento.
¿Por qué debería usar ClearML con Ultralytics YOLO11 para mis proyectos de aprendizaje automático?
El uso de ClearML con Ultralytics YOLO11 mejora sus proyectos de aprendizaje automático al automatizar el seguimiento de experimentos, optimizar los flujos de trabajo y permitir una gestión robusta de modelos. ClearML ofrece seguimiento de métricas en tiempo real, supervisión de la utilización de recursos y una interfaz fácil de usar para comparar experimentos. Estas características ayudan a optimizar el rendimiento de su modelo y a hacer que el proceso de desarrollo sea más eficiente. Obtenga más información sobre los beneficios y los procedimientos en nuestra guía de integración de MLOps.
¿Cómo soluciono problemas comunes durante la integración de YOLO11 y ClearML?
Si encuentra problemas durante la integración de YOLO11 con ClearML, consulte nuestra guía de problemas comunes para obtener soluciones y consejos. Los problemas típicos pueden incluir errores de instalación de paquetes, configuración de credenciales o problemas de configuración. Esta guía proporciona instrucciones paso a paso para solucionar estos problemas comunes de manera eficiente.
¿Cómo configuro la tarea de ClearML para el entrenamiento del modelo YOLO11?
La configuración de una tarea de ClearML para el entrenamiento de YOLO11 implica la inicialización de una tarea, la selección de la variante del modelo, la carga del modelo, la configuración de los argumentos de entrenamiento y, por último, el inicio del entrenamiento del modelo. Aquí tiene un ejemplo simplificado:
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 YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 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)
Consulte nuestra guía de uso para obtener un desglose detallado de estos pasos.
¿Dónde puedo ver los resultados de mi entrenamiento YOLO11 en ClearML?
Después de ejecutar tu script de entrenamiento YOLO11 con ClearML, puedes ver los resultados en la página de resultados de ClearML. La salida incluirá un enlace URL al panel de control de ClearML, donde puedes rastrear métricas, comparar experimentos y supervisar el uso de recursos. Para obtener más detalles sobre cómo ver e interpretar los resultados, consulta nuestra sección sobre Visualización de la página de resultados de ClearML.