Ultralytics YOLOv5 🚀 en AzureML: guía de inicio rápido#
Te damos la bienvenida a la guía de inicio rápido de Ultralytics YOLOv5 para Microsoft Azure Machine Learning (AzureML). Esta guía te explicará cómo configurar YOLOv5 en una instancia de proceso de AzureML, desde la creación de un entorno virtual hasta el entrenamiento y la ejecución de inferencias con el modelo.
¿Qué es Azure?#
Azure es la completa plataforma de computación en la nube de Microsoft. Ofrece una amplia variedad de servicios, como capacidad de computación, bases de datos, herramientas de análisis, funcionalidades de aprendizaje automático y soluciones de red. Azure permite a las organizaciones crear, implementar y gestionar aplicaciones y servicios mediante centros de datos administrados por Microsoft, lo que facilita la migración de cargas de trabajo de la infraestructura local a la nube.
¿Qué es Azure Machine Learning (AzureML)?#
Azure Machine Learning (AzureML) es un servicio especializado en la nube diseñado para desarrollar, entrenar e implementar modelos de aprendizaje automático. Proporciona un entorno colaborativo con herramientas adecuadas para científicos de datos y desarrolladores de todos los niveles. Entre sus funciones principales se incluyen el aprendizaje automático automatizado (AutoML), una interfaz de arrastrar y soltar para crear modelos y un potente SDK de Python para ejercer un control más preciso sobre el ciclo de vida del aprendizaje automático. AzureML simplifica el proceso de integrar el modelado predictivo en las aplicaciones.
Requisitos previos#
Para seguir esta guía, necesitarás una suscripción activa de Azure y acceso a un espacio de trabajo de AzureML. Si todavía no tienes configurado un espacio de trabajo, consulta la documentación oficial de Azure para crear uno.
Crear una instancia de computación#
Una instancia de proceso de AzureML proporciona una estación de trabajo en la nube administrada para científicos de datos.
- Ve a tu espacio de trabajo de AzureML.
- En el panel izquierdo, selecciona Proceso.
- Ve a la pestaña Instancias de proceso y haz clic en Nuevo.
- Configura tu instancia seleccionando los recursos de CPU o GPU adecuados según tus necesidades de entrenamiento o inferencia.
Abrir un terminal#
Cuando la instancia de proceso esté en ejecución, podrás acceder directamente a su terminal desde AzureML Studio.
- Ve a la sección Notebooks del panel izquierdo.
- Busca tu instancia de proceso en el menú desplegable superior.
- Haz clic en la opción Terminal, debajo del explorador de archivos, para abrir una interfaz de línea de comandos en tu instancia.

Configurar y ejecutar YOLOv5#
Ahora vamos a configurar el entorno y ejecutar Ultralytics YOLOv5.
1. Crear un entorno virtual#
La mejor práctica es utilizar un entorno virtual para gestionar las dependencias. Usaremos Conda, que viene preinstalado en las instancias de proceso de AzureML. Para obtener una guía detallada sobre la configuración de Conda, consulta la guía de inicio rápido de Conda de Ultralytics.
Crea un entorno de Conda (por ejemplo, yolov5env) con una versión específica de Python y actívalo:
conda create --name yolov5env -y python=3.10 # Create a new Conda environment
conda activate yolov5env # Activate the environment
conda install pip -y # Ensure pip is installed2. Clonar el repositorio de YOLOv5#
Clona el repositorio oficial de Ultralytics YOLOv5 desde GitHub utilizando Git:
git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5 # Navigate into the directory
# Initialize submodules (if any, though YOLOv5 typically doesn't require this step)
# git submodule update --init --recursive3. Instalar las dependencias#
Instala los paquetes de Python necesarios indicados en el archivo requirements.txt. También instalaremos ONNX para habilitar la exportación de modelos.
pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0" # Install ONNX for exporting4. Realizar tareas con YOLOv5#
Una vez completada la configuración, ya puedes entrenar, validar, ejecutar inferencias y exportar tu modelo YOLOv5.
-
Entrena el modelo con un conjunto de datos como COCO128. Consulta la documentación del modo de entrenamiento para obtener más información.
# Start training using yolov5s pretrained weights on the COCO128 dataset python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 10 --batch 16 -
Valida el rendimiento del modelo entrenado utilizando métricas como precisión, exhaustividad y mAP. Consulta la guía del modo de validación para conocer las opciones disponibles.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640 -
Ejecuta inferencias sobre imágenes o vídeos nuevos. Consulta la documentación del modo de predicción para conocer las distintas fuentes de inferencia.
# Run inference with yolov5s on sample images python detect.py --weights yolov5s.pt --source data/images --img 640 -
Exporta el modelo a distintos formatos, como ONNX, TensorRT o CoreML, para su implementación. Consulta la guía del modo de exportación y la página de integración con ONNX.
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
Usar un Notebook#
Si prefieres una experiencia interactiva, puedes ejecutar estos comandos en un Notebook de AzureML. Tendrás que crear un kernel de IPython personalizado vinculado a tu entorno de Conda.
Crear un kernel nuevo de IPython#
Ejecuta los siguientes comandos en el terminal de tu instancia de proceso:
# Ensure your Conda environment is active
# conda activate yolov5env
# Install ipykernel if not already present
conda install ipykernel -y
# Create a new kernel linked to your environment
python -m ipykernel install --user --name yolov5env --display-name "Python (yolov5env)"Después de crear el kernel, actualiza el navegador. Cuando abras o crees un archivo de Notebook .ipynb, selecciona tu nuevo kernel ("Python (yolov5env)") en el menú desplegable de kernels situado en la esquina superior derecha.
Ejecutar comandos en celdas de Notebook#
-
Celdas de Python: el código de las celdas de Python se ejecutará automáticamente utilizando el kernel
yolov5envseleccionado. -
Celdas de Bash: para ejecutar comandos de shell, utiliza el comando mágico
%%bashal principio de la celda. Recuerda activar tu entorno de Conda en cada celda de Bash, ya que no heredan automáticamente el contexto del entorno del kernel del Notebook.%%bash source activate yolov5env # Activate environment within the cell # Example: Run validation using the activated environment python val.py --weights yolov5s.pt --data coco128.yaml --img 640
¡Enhorabuena! Has configurado y ejecutado correctamente Ultralytics YOLOv5 en AzureML. Para seguir explorando, puedes consultar otras integraciones de Ultralytics o la documentación detallada de YOLOv5. La documentación de AzureML también puede resultarte útil para casos avanzados, como el entrenamiento distribuido o la implementación de modelos como punto de conexión.