Ir al contenido

YOLO11 🚀 en AzureML

¿Qué es Azure?

Azure es la plataforma de computación en la nube de Microsoft, diseñada para ayudar a las organizaciones a trasladar sus cargas de trabajo a la nube desde los centros de datos locales. Con todo el espectro de servicios en la nube, incluidos los de computación, bases de datos, análisis, aprendizaje automático y redes, los usuarios pueden elegir entre estos servicios para desarrollar y escalar nuevas aplicaciones, o ejecutar las aplicaciones existentes, en la nube pública.

¿Qué es Azure Machine Learning (AzureML)?

Azure Machine Learning, comúnmente conocido como AzureML, es un servicio en la nube totalmente gestionado que permite a los científicos de datos y a los desarrolladores integrar de forma eficiente el análisis predictivo en sus aplicaciones, ayudando a las organizaciones a utilizar conjuntos de datos masivos y a llevar todos los beneficios de la nube al aprendizaje automático. AzureML ofrece una variedad de servicios y capacidades destinados a hacer que el aprendizaje automático sea accesible, fácil de usar y escalable. Proporciona capacidades como el aprendizaje automático automatizado, el entrenamiento de modelos de arrastrar y soltar, así como un robusto SDK de python para que los desarrolladores puedan sacar el máximo provecho de sus modelos de aprendizaje automático.

¿Cómo beneficia AzureML a los usuarios de YOLO?

Para los usuarios de YOLO (You Only Look Once), AzureML proporciona una plataforma robusta, escalable y eficiente para entrenar e implementar modelos de aprendizaje automático. Ya sea que busques ejecutar prototipos rápidos o escalar para manejar datos más extensos, el entorno flexible y fácil de usar de AzureML ofrece varias herramientas y servicios que se adaptan a tus necesidades. Puedes aprovechar AzureML para:

  • Gestiona fácilmente grandes conjuntos de datos y recursos computacionales para el entrenamiento.
  • Utilice herramientas integradas para el preprocesamiento de datos, la selección de características y el entrenamiento de modelos.
  • Colabore de manera más eficiente con las capacidades para MLOps (Operaciones de Aprendizaje Automático), incluyendo, entre otras, la supervisión, la auditoría y el control de versiones de modelos y datos.

En las siguientes secciones, encontrará una guía de inicio rápido que detalla cómo ejecutar modelos de detección de objetos YOLO11 utilizando AzureML, ya sea desde una terminal de cálculo o un cuaderno.

Prerrequisitos

Antes de que pueda comenzar, asegúrese de tener acceso a un espacio de trabajo de AzureML. Si no tiene uno, puede crear un nuevo espacio de trabajo de AzureML siguiendo la documentación oficial de Azure. Este espacio de trabajo actúa como un lugar centralizado para administrar todos los recursos de AzureML.

Crear una instancia de computación

Desde su espacio de trabajo de AzureML, seleccione Compute > Compute instances > New, seleccione la instancia con los recursos que necesita.

Crear instancia de cálculo de Azure

Inicio Rápido desde la Terminal

Inicie su proceso y abra una Terminal:

Abrir Terminal

Crear virtualenv

Cree su entorno virtual conda con su versión de python preferida e instale pip en él: Python 3.13.1 está teniendo algunos problemas con algunas dependencias en AzureML.

conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y

Instale las dependencias necesarias:

cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx

Realizar tareas de YOLO11

Predecir:

yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'

Entrena un modelo de detección durante 10 épocas con una learning_rate inicial de 0.01:

yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01

Puede encontrar más instrucciones para usar la CLI de Ultralytics aquí.

Inicio Rápido desde un Notebook

Crear un nuevo kernel de IPython

Abrir la Terminal de cálculo.

Abrir Terminal

Desde su terminal de proceso, necesita crear un nuevo ipykernel (con una versión específica de python, porque Python 3.13.1 está teniendo algunos problemas con algunas dependencias en AzureML) que será utilizado por su notebook para administrar sus dependencias:

conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolo11env --display-name "yolo11env"

Cierre su terminal y cree un nuevo cuaderno. Desde su cuaderno, puede seleccionar el nuevo kernel.

Luego puede abrir una celda de Notebook e instalar las dependencias necesarias:

%%bash
source activate yolo11env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx

Tenga en cuenta que necesitamos usar el source activate yolo11env para todas las celdas %%bash, para asegurarse de que la celda %%bash utiliza el entorno que queremos.

Ejecuta algunas predicciones usando la CLI de Ultralytics:

%%bash
source activate yolo11env
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'

O con la interfaz de python de Ultralytics, por ejemplo, para entrenar el modelo:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official YOLO11n model

# Use the model
model.train(data="coco8.yaml", epochs=3)  # train the model
metrics = model.val()  # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image
path = model.export(format="onnx")  # export the model to ONNX format

Puede utilizar la CLI de Ultralytics o la interfaz de python para ejecutar tareas YOLO11, como se describe en la sección del terminal anterior.

Siguiendo estos pasos, deberías poder ejecutar YOLO11 rápidamente en AzureML para pruebas rápidas. Para usos más avanzados, puedes consultar la documentación completa de AzureML enlazada al principio de esta guía.

Explore más con AzureML

Esta guía sirve como una introducción para que pueda empezar a trabajar con YOLO11 en AzureML. Sin embargo, sólo roza la superficie de lo que AzureML puede ofrecer. Para profundizar y desbloquear todo el potencial de AzureML para sus proyectos de aprendizaje automático, considere la posibilidad de explorar los siguientes recursos:

  • Crear un activo de datos: Aprende a configurar y gestionar tus activos de datos de forma eficaz dentro del entorno AzureML.
  • Iniciar un trabajo de AzureML: Obtén una comprensión integral de cómo iniciar tus trabajos de entrenamiento de aprendizaje automático en AzureML.
  • Registrar un Modelo: Familiarícese con las prácticas de gestión de modelos, incluyendo el registro, el control de versiones y la implementación.
  • Entrenar YOLO11 con AzureML Python SDK: Explore una guía paso a paso sobre el uso del AzureML Python SDK para entrenar sus modelos YOLO11.
  • Entrenar YOLO11 con AzureML CLI: Descubra cómo utilizar la interfaz de línea de comandos para agilizar el entrenamiento y la gestión de modelos YOLO11 en AzureML.

Preguntas frecuentes

¿Cómo ejecuto YOLO11 en AzureML para el entrenamiento de modelos?

La ejecución de YOLO11 en AzureML para el entrenamiento de modelos implica varios pasos:

  1. Crear una instancia de proceso: Desde su espacio de trabajo de AzureML, vaya a Proceso > Instancias de proceso > Nuevo y seleccione la instancia requerida.

  2. Entorno de configuración: Inicie su instancia de cómputo, abra una terminal y cree un entorno conda, y no olvide configurar su versión de python (python 3.13.1 aún no es compatible):

    conda create --name yolo11env -y python=3.12
    conda activate yolo11env
    conda install pip -y
    pip install ultralytics onnx
    
  3. Ejecutar tareas YOLO11: Utilice la CLI de Ultralytics para entrenar su modelo:

    yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
    

Para obtener más detalles, puedes consultar las instrucciones para usar la CLI de Ultralytics.

¿Cuáles son los beneficios de usar AzureML para el entrenamiento de YOLO11?

AzureML proporciona un ecosistema robusto y eficiente para el entrenamiento de modelos YOLO11:

  • Escalabilidad: Escale fácilmente sus recursos informáticos a medida que crecen sus datos y la complejidad del modelo.
  • Integración de MLOps: Utilice funciones como el control de versiones, la supervisión y la auditoría para optimizar las operaciones de ML.
  • Colaboración: Comparte y gestiona recursos dentro de equipos, mejorando los flujos de trabajo colaborativos.

Estas ventajas hacen de AzureML una plataforma ideal para proyectos que van desde prototipos rápidos hasta implementaciones a gran escala. Para obtener más consejos, consulte Trabajos de AzureML.

¿Cómo soluciono problemas comunes al ejecutar YOLO11 en AzureML?

La resolución de problemas comunes con YOLO11 en AzureML puede implicar los siguientes pasos:

  • Problemas de dependencias: Asegúrese de que todos los paquetes necesarios estén instalados. Consulte el requirements.txt archivo para las dependencias.
  • Configuración del entorno: Verifique que su entorno conda esté activado correctamente antes de ejecutar los comandos.
  • Asignación de Recursos: Asegúrate de que tus instancias de cálculo tengan suficientes recursos para manejar la carga de trabajo de entrenamiento.

Para obtener orientación adicional, revise nuestra documentación sobre Problemas Comunes de YOLO.

¿Puedo usar tanto la CLI de Ultralytics como la interfaz de python en AzureML?

Sí, AzureML le permite utilizar tanto la CLI de Ultralytics como la interfaz de Python sin problemas:

  • CLI: Ideal para tareas rápidas y para ejecutar scripts estándar directamente desde la terminal.

    yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
    
  • Interfaz de python: Útil para tareas más complejas que requieren codificación personalizada e integración dentro de notebooks.

    from ultralytics import YOLO
    
    model = YOLO("yolo11n.pt")
    model.train(data="coco8.yaml", epochs=3)
    

Para obtener instrucciones paso a paso, consulte la guía de inicio rápido de la CLI y la guía de inicio rápido de python.

¿Cuál es la ventaja de usar Ultralytics YOLO11 sobre otros modelos de detección de objetos?

Ultralytics YOLO11 ofrece varias ventajas únicas sobre los modelos de detección de objetos de la competencia:

  • Velocidad: Tiempos de inferencia y entrenamiento más rápidos en comparación con modelos como Faster R-CNN y SSD.
  • Precisión: Alta precisión en tareas de detección con características como el diseño sin anclajes y estrategias de aumento mejoradas.
  • Facilidad de uso: API y CLI intuitivas para una configuración rápida, haciéndolo accesible tanto para principiantes como para expertos.

Para explorar más sobre las características de YOLO11, visite la página de Ultralytics YOLO para obtener información detallada.



📅 Creado hace 1 año ✏️ Actualizado hace 4 meses

Comentarios