Guía de inicio rápido de Ultralytics YOLOv5 🚀 en AzureML#
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 gama de servicios, como capacidad de cálculo, bases de datos, herramientas de análisis, funciones de aprendizaje automático y soluciones de redes. Azure permite a las organizaciones crear, implementar y gestionar aplicaciones y servicios a través de centros de datos administrados por Microsoft, lo que facilita la migración de cargas de trabajo de infraestructuras locales 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. Ofrece un entorno colaborativo con herramientas adecuadas para científicos de datos y desarrolladores de todos los niveles. Entre sus características principales se incluyen el aprendizaje automático automatizado (AutoML), una interfaz de arrastrar y soltar para crear modelos y un potente SDK de Python que permite controlar con más detalle el ciclo de vida del ML. AzureML simplifica la integración del modelado predictivo en las aplicaciones.
Requisitos previos#
Para seguir esta guía, necesitas una suscripción activa a Azure y acceso a un espacio de trabajo de AzureML. Si aún no tienes un espacio de trabajo configurado, consulta la documentación oficial de Azure para crear uno.
Crear una instancia de proceso#
Una instancia de proceso de AzureML proporciona a los científicos de datos una estación de trabajo gestionada en la nube.
- Ve a tu espacio de trabajo de AzureML.
- En el panel de la izquierda, selecciona Compute.
- Ve a la pestaña Compute instances y haz clic en New.
- Configura la instancia seleccionando los recursos de CPU o GPU adecuados para tus necesidades de entrenamiento o inferencia.
Abre un terminal#
Cuando la instancia de proceso esté en funcionamiento, podrás acceder directamente a su terminal desde AzureML Studio.
- Ve a la sección Notebooks del panel de la izquierda.
- Busca tu instancia de proceso en el menú desplegable de la parte superior.
- Haz clic en la opción Terminal, debajo del explorador de archivos, para abrir una interfaz de línea de comandos para tu instancia.

Configura y ejecuta YOLOv5#
Ahora vamos a configurar el entorno y ejecutar Ultralytics YOLOv5.
1. Crea un entorno virtual#
Se recomienda usar un entorno virtual para gestionar las dependencias. Usaremos Conda, que viene preinstalado en las instancias de proceso de AzureML. Para obtener instrucciones detalladas sobre cómo configurar 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. Clona el repositorio de YOLOv5#
Clona el repositorio oficial de Ultralytics YOLOv5 desde GitHub con Git:
git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5 # Navigate into the directory3. Instala las dependencias#
Instala los paquetes de Python necesarios que aparecen en el archivo requirements.txt. También instalamos ONNX para poder exportar modelos.
pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0" # Install ONNX for exporting4. Realiza 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 el tutorial Entrena con datos personalizados 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 con métricas como precisión, exhaustividad y mAP. Ejecuta
python val.py --helppara consultar todas las opciones.# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640 -
Ejecuta inferencias con imágenes o vídeos nuevos. Consulta la guía de inicio rápido de YOLOv5 para ver las fuentes de inferencia compatibles.
# 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 implementarlo. Consulta el tutorial Exportación de modelos y la página Integración con ONNX.
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
Usa 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 nuevo kernel 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 el kernel nuevo ("Python (yolov5env)") en el menú desplegable de kernels, en la esquina superior derecha.
Ejecuta comandos en las celdas del Notebook#
-
Celdas de Python: El código de las celdas de Python se ejecutará automáticamente con el kernel
yolov5envseleccionado. -
Celdas de Bash: Para ejecutar comandos del shell, usa el comando mágico
%%bashal principio de la celda. Recuerda activar tu entorno de Conda en cada celda de Bash, ya que estas 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 Ultralytics YOLOv5 en AzureML correctamente. Para seguir explorando, puedes consultar otras integraciones de Ultralytics o la documentación detallada de YOLOv5. También puede resultarte útil la documentación de AzureML para casos avanzados, como el entrenamiento distribuido o la implementación de modelos como punto de conexión.
Preguntas frecuentes#
Una instancia con CPU basta para inferencias y pruebas breves con COCO128, pero para entrenar de verdad necesitas una máquina virtual con GPU. Selecciona una máquina virtual con GPU al crear la instancia de proceso y confirma que PyTorch la detecta con
python -c "import torch; print(torch.cuda.is_available())".Las celdas de Bash no heredan el entorno del kernel del Notebook. Empieza cada celda
%%bashconsource activate yolov5envo ejecuta las celdas de Python con el kernelPython (yolov5env)que has creado.Los archivos del recurso compartido del espacio de trabajo montado en
~/cloudfilesse conservan cuando detienes la instancia y están disponibles desde otras instancias de proceso. Todo lo que esté en otro lugar del disco de la instancia se conservará mientras esta exista, pero se perderá si la eliminas.Sí.
pip install ultralyticste permite entrenar, validar y exportar modelos YOLO26 con la CLIyoloen el mismo entorno de Conda. Consulta la guía de inicio rápido de AzureML para ver el tutorial basado en el paquete.