Ultralytics YOLOv5 🚀 en la guía de inicio rápido de AzureML
¡Bienvenido a la guía de inicio rápido de YOLOv5 de Ultralytics para Microsoft Azure Machine Learning (AzureML)! Esta guía le guiará a través de la configuración de YOLOv5 en una instancia de cálculo de AzureML, cubriendo todo, desde la creación de un entorno virtual hasta el entrenamiento y la ejecución de la inferencia con el modelo.
¿Qué es Azure?
Azure es la plataforma integral de computación en la nube de Microsoft. Ofrece una amplia gama de servicios, que incluyen potencia de cálculo, bases de datos, herramientas de análisis, capacidades de aprendizaje automático y soluciones de red. Azure permite a las organizaciones crear, implementar y administrar aplicaciones y servicios a través de centros de datos administrados por Microsoft, lo que facilita la migración de cargas de trabajo desde la infraestructura local a la nube.
¿Qué es Azure Machine Learning (AzureML)?
Azure Machine Learning (AzureML) es un servicio en la nube especializado, 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. Las características clave incluyen el aprendizaje automático automatizado (AutoML), una interfaz de arrastrar y soltar para la creación de modelos y un potente SDK de Python para un control más granular sobre el ciclo de vida del ML. AzureML simplifica el proceso de integración del modelado predictivo en las aplicaciones.
Prerrequisitos
Para seguir esta guía, necesitarás una suscripción activa a Azure y acceso a un espacio de trabajo de AzureML. Si no tienes un espacio de trabajo configurado, consulta la documentación oficial de Azure para crear uno.
Crear una instancia de cómputo
Una instancia de cálculo en AzureML proporciona una estación de trabajo gestionada basada en la nube para los científicos de datos.
- Navegue a su espacio de trabajo de AzureML.
- En el panel izquierdo, seleccione Compute.
- Ve a la pestaña Instancias de Compute y haz clic en Nuevo.
- Configure su instancia seleccionando los recursos de CPU o GPU apropiados según sus necesidades para el entrenamiento o la inferencia.
Abrir una Terminal
Una vez que su instancia de cómputo se esté ejecutando, puede acceder a su terminal directamente desde AzureML studio.
- Ve a la sección Notebooks en el panel izquierdo.
- Encuentre su instancia de cómputo en el menú desplegable superior.
- Haga clic en la opción Terminal debajo del explorador de archivos para abrir una interfaz de línea de comandos en su instancia.
Configurar y Ejecutar YOLOv5
Ahora, configuremos el entorno y ejecutemos Ultralytics YOLOv5.
1. Cree un Entorno Virtual
Es una buena práctica utilizar un entorno virtual para administrar las dependencias. Utilizaremos Conda, que está preinstalado en las instancias de cálculo de AzureML. Para obtener una guía de configuración detallada de Conda, consulte la Guía de inicio rápido de Conda de Ultralytics.
Crear un entorno Conda (p. ej., yolov5env
) con una versión específica de Python y actívelo:
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 installed
2. Clone el Repositorio YOLOv5
Clone el repositorio oficial de Ultralytics YOLOv5 desde GitHub usando 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 --recursive
3. Instale las Dependencias
Instale los paquetes de python necesarios que se enumeran en el requirements.txt
archivo. También instalamos ONNX para las capacidades de exportación de modelos.
pip install -r requirements.txt # Install core dependencies
pip install onnx > =1.12.0 # Install ONNX for exporting
4. Realice Tareas YOLOv5
Una vez completada la configuración, ya puede entrenar, validar, realizar inferencias y exportar su modelo YOLOv5.
-
Entrena el modelo en un conjunto de datos como COCO128. Consulta la documentación del Modo de entrenamiento para obtener más detalles.
# 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
-
Valide el rendimiento del modelo entrenado utilizando métricas como Precisión, Recall y mAP. Consulte la guía del Modo de Validación para ver las opciones.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640
-
Ejecutar Inferencia en nuevas imágenes o vídeos. Explore la documentación del Modo de Predicción para varias 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 diferentes 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 de ONNX.
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
Usando un Notebook
Si prefieres una experiencia interactiva, puedes ejecutar estos comandos dentro de un AzureML Notebook. Necesitarás crear un kernel de IPython personalizado vinculado a tu entorno Conda.
Crear un nuevo kernel de IPython
Ejecute los siguientes comandos en el terminal de su instancia de cálculo:
# 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 tu navegador. Cuando abras o crees un .ipynb
archivo de notebook, seleccione su nuevo kernel ("Python (yolov5env)") en el menú desplegable del kernel en la parte superior derecha.
Ejecución de comandos en celdas de Notebook
-
Celdas de python: El código en las celdas de Python se ejecutará automáticamente utilizando el seleccionado
yolov5env
kernel. -
Celdas Bash: Para ejecutar comandos shell, utiliza el siguiente comando:
%%bash
comando magic al principio de la celda. Recuerde activar su entorno Conda dentro de cada celda 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! Ha configurado y ejecutado Ultralytics YOLOv5 correctamente en AzureML. Para una mayor exploración, considere consultar otras Integraciones de Ultralytics o la documentación detallada de YOLOv5. También puede encontrar útil la documentación de AzureML para escenarios avanzados como el entrenamiento distribuido o el despliegue de modelos como un punto final.