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 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 eficazmente el análisis predictivo en sus aplicaciones, ayudando a las organizaciones a utilizar conjuntos de datos masivos y aportar todas las ventajas 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, el entrenamiento de modelos mediante arrastrar y soltar, así como un robusto SDK Python para que los desarrolladores puedan sacar el máximo partido a 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 tanto para entrenar como para desplegar modelos de aprendizaje automático. Tanto si quieres ejecutar prototipos rápidos como escalar para manejar datos más extensos, el entorno flexible y fácil de usar de AzureML ofrece diversas herramientas y servicios que se adaptan a tus necesidades. Puedes aprovechar AzureML para:
- Gestiona fácilmente grandes conjuntos de datos y recursos informáticos para el entrenamiento.
- Utiliza las herramientas integradas para el preprocesamiento de datos, la selección de características y el entrenamiento de modelos.
- Colabora de forma más eficiente con las capacidades para MLOps (Machine Learning Operations), que incluyen, entre otras, la supervisión, auditoría y versionado de modelos y datos.
En las secciones siguientes, encontrarás una guía de inicio rápido que detalla cómo ejecutar los modelos de detección de objetos de YOLO11 utilizando AzureML, ya sea desde un terminal informático o un bloc de notas.
Requisitos previos
Antes de empezar, asegúrate de que tienes acceso a un espacio de trabajo AzureML. Si no tienes uno, puedes crear un nuevo espacio de trabajo AzureML siguiendo la documentación oficial de Azure. Este espacio de trabajo actúa como un lugar centralizado para gestionar todos los recursos AzureML.
Crear una instancia de cálculo
En tu espacio de trabajo AzureML, selecciona Compute > Compute instances > New, selecciona la instancia con los recursos que necesitas.
Inicio rápido desde el terminal
Arranca tu ordenador y abre un Terminal:
Crear virtualenv
Crea tu virtualenv conda e instala pip en él:
Instala las dependencias necesarias:
Realizar tareas YOLO11
Pronostica:
Entrena un modelo de detección durante 10 épocas con una tasa_de_aprendizaje inicial de 0,01:
Puedes encontrar más instrucciones para utilizar Ultralytics CLI aquí.
Inicio rápido desde un cuaderno
Crear un nuevo núcleo IPython
Abre el Terminal informático.
Desde tu terminal de computación, tienes que crear un nuevo ipykernel que será utilizado por tu bloc de notas para gestionar tus dependencias:
conda create --name yolo11env -y
conda activate yolo11env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolo11env --display-name "yolo11env"
Cierra tu terminal y crea un nuevo bloc de notas. Desde tu Cuaderno, puedes seleccionar el nuevo núcleo.
A continuación, puedes abrir una celda de Libreta e instalar las dependencias necesarias:
%%bash
source activate yolo11env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0
Ten en cuenta que tenemos que utilizar la función source activate yolo11env
para todas las celdas %%bash, para asegurarnos de que la celda %%bash utiliza el entorno que queremos.
Ejecuta algunas predicciones utilizando la función Ultralytics CLI:
%%bash
source activate yolo11env
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
O con la interfazUltralytics Python , 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
Puedes utilizar la interfaz Ultralytics CLI o Python para ejecutar las tareas de YOLO11, como se describe en la sección anterior sobre el terminal.
Siguiendo estos pasos, deberías ser capaz de conseguir que YOLO11 funcione 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.
Explora más con AzureML
Esta guía sirve de introducción para ponerte en marcha con YOLO11 en AzureML. Sin embargo, sólo araña la superficie de lo que AzureML puede ofrecer. Para profundizar y liberar todo el potencial de AzureML para tus proyectos de aprendizaje automático, considera explorar los siguientes recursos:
- Crear un Activo de Datos: Aprende a configurar y gestionar eficazmente tus activos de datos en el entorno AzureML.
- Iniciar un trabajo AzureML: Obtén una comprensión completa de cómo poner en marcha tus trabajos de formación de aprendizaje automático en AzureML.
- Registra un Modelo: Familiarízate con las prácticas de gestión de modelos, incluyendo el registro, el versionado y el despliegue.
- Entrena YOLO11 con el SDK AzureML Python : Explora una guía paso a paso sobre el uso del SDK AzureML Python para entrenar tus modelos YOLO11.
- Entrenar YOLO11 con AzureML CLI: Descubre cómo utilizar la interfaz de línea de comandos para agilizar el entrenamiento y la gestión de los modelos YOLO11 en AzureML.
PREGUNTAS FRECUENTES
¿Cómo ejecuto YOLO11 en AzureML para el entrenamiento de modelos?
Ejecutar YOLO11 en AzureML para el entrenamiento del modelo implica varios pasos:
Crea una instancia de cálculo: Desde tu espacio de trabajo AzureML, navega hasta Compute > Compute instances > New, y selecciona la instancia requerida.
Configurar entorno: Inicia tu instancia de cálculo, abre un terminal y crea un entorno conda:
Ejecuta las Tareas YOLO11: Utiliza la página Ultralytics CLI para entrenar tu modelo:
Para más detalles, puedes consultar las instrucciones de uso de Ultralytics CLI .
¿Cuáles son las ventajas de utilizar AzureML para la formación YOLO11?
AzureML proporciona un ecosistema robusto y eficiente para entrenar los modelos YOLO11:
- Escalabilidad: Escala fácilmente tus recursos informáticos a medida que crece la complejidad de tus datos y modelos.
- Integración de MLOps: Utiliza funciones como el control de versiones, la supervisión y la auditoría para agilizar las operaciones de ML.
- Colaboración: Comparte y gestiona recursos dentro de los equipos, mejorando los flujos de trabajo colaborativos.
Estas ventajas hacen de AzureML una plataforma ideal para proyectos que van desde prototipos rápidos a despliegues a gran escala. Para más consejos, consulta AzureML Jobs.
¿Cómo puedo solucionar problemas comunes al ejecutar YOLO11 en AzureML?
La resolución de problemas comunes con YOLO11 en AzureML puede implicar los siguientes pasos:
- Cuestiones de dependencia: Asegúrate de que están instalados todos los paquetes necesarios. Consulta la página
requirements.txt
para las dependencias. - Configuración del entorno: Comprueba que tu entorno conda está correctamente activado antes de ejecutar comandos.
- Asignación de recursos: Asegúrate de que tus instancias de cálculo tienen recursos suficientes para manejar la carga de trabajo de entrenamiento.
Para más información, consulta nuestra documentación YOLO Problemas comunes.
¿Puedo utilizar tanto la interfaz Ultralytics CLI como Python en AzureML?
Sí, AzureML te permite utilizar sin problemas tanto la interfaz Ultralytics CLI como la Python :
CLI: Ideal para tareas rápidas y para ejecutar guiones estándar directamente desde el terminal.
Python Interfaz: Útil para tareas más complejas que requieran codificación personalizada e integración en cuadernos.
Consulta las guías de inicio rápido para obtener instrucciones más detalladas aquí y aquí.
¿Cuál es la ventaja de utilizar Ultralytics YOLO11 frente a 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 R-CNN más rápido y SSD.
- Precisión: Alta precisión en tareas de detección con características como diseño sin anclajes y estrategias de aumento mejoradas.
- Facilidad de uso: API intuitiva y CLI para una configuración rápida, lo que la hace accesible tanto a principiantes como a expertos.
Para saber más sobre las características de YOLO11, visita la página Ultralytics YOLO para obtener información detallada.