Inicio rápido de Ultralytics YOLOv5 🚀 en AzureML
Bienvenido a Ultralytics YOLOv5 para Microsoft Azure Machine Learning (AzureML). Esta guía le guiará a través de la configuración de YOLOv5 en una instancia de computación 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, como 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, desplegar y gestionar aplicaciones y servicios a través de centros de datos 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 en la nube especializado diseñado para desarrollar, entrenar y desplegar modelos de aprendizaje automático. Proporciona un entorno de colaboración con herramientas adecuadas para científicos de datos y desarrolladores de todos los niveles de habilidad. Entre sus principales características se incluyen el aprendizaje automático de máquinas (AutoML), una interfaz de arrastrar y soltar para la creación de modelos y una potente herramienta de Python para un control más detallado del ciclo de vida del ML. AzureML simplifica el proceso de integración del modelado predictivo en las aplicaciones.
Requisitos previos
Para seguir esta guía, necesitará una suscripción activa a Azure y acceso a un espacio de trabajo AzureML. Si no tiene un espacio de trabajo configurado, consulte la documentación oficial de Azure para crear uno.
Crear una instancia de cálculo
Una instancia de computación en AzureML proporciona una estación de trabajo gestionada basada en la nube para los científicos de datos.
- Vaya a su espacio de trabajo AzureML.
- En el panel izquierdo, seleccione Compute.
- Vaya a la pestaña Instancias de cálculo y haga clic en Nuevo.
- Configure su instancia seleccionando la CPU o la GPU en función de sus necesidades de formación o inferencia.
Abrir un terminal
Una vez que su instancia de cálculo esté en funcionamiento, podrá acceder a su terminal directamente desde AzureML studio.
- Vaya a la sección Cuadernos del panel izquierdo.
- Busque su instancia de cálculo en el menú desplegable superior.
- Haga clic en la opción Terminal situada debajo del explorador de archivos para abrir una interfaz de línea de comandos para su instancia.
Configurar y ejecutar YOLOv5
Ahora, vamos a configurar el entorno y a ejecutar Ultralytics YOLOv5.
1. Crear un entorno virtual
Es una buena práctica utilizar un entorno virtual para gestionar las dependencias. Utilizaremos Conda, que está preinstalado en las instancias de computación AzureML. Para obtener una guía detallada de configuración de Conda, consulte laGuía de inicio rápido de Ultralytics Conda.
Crear un entorno Conda (por ejemplo, yolov5env
) con una versión específica Python y activarlo:
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. Clonar el repositorio YOLOv5
Clona 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. Instalar dependencias
Instale los paquetes de Python necesarios que figuran en la lista requirements.txt
archivo. También instalamos ONNX para la exportación de modelos.
pip install -r requirements.txt # Install core dependencies
pip install onnx > =1.12.0 # Install ONNX for exporting
4. Realizar tareas YOLOv5
Una vez completada la configuración, ya puede entrenar, validar, realizar inferencias y exportar su modelo YOLOv5 .
-
Entrene el modelo en un conjunto de datos como COCO128. Consulte la documentación del modo de entrenamiento para obtener más detalles.
-
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.
-
Ejecutar la inferencia en nuevas imágenes o vídeos. Explore la documentación del modo de predicción para conocer varias fuentes de inferencia.
-
Exporta el modelo a diferentes formatos como ONNX, TensorRTo CoreML para su despliegue. Consulte la guía del modo de exportación y la página de integración deONNX .
Utilizar un cuaderno
Si prefieres una experiencia interactiva, puedes ejecutar estos comandos dentro de un AzureML Notebook. Necesitarás crear un kernel IPython personalizado vinculado a tu entorno Conda.
Crear un nuevo núcleo IPython
Ejecute los siguientes comandos en el terminal de su instancia de computación:
# 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 núcleo, actualice su navegador. Cuando abra o cree un .ipynb
seleccione su nuevo kernel (Python (yolov5env)") en el menú desplegable de la parte superior derecha.
Ejecución de comandos en celdas de bloc de notas
-
Células Python : El código de las celdas de Python se ejecutará automáticamente utilizando la celda seleccionada.
yolov5env
núcleo. -
Bash Cells: Para ejecutar comandos de shell, utilice
%%bash
al principio de la celda. Recuerda activar tu entorno Conda dentro de cada celda bash , ya que no heredan automáticamente el contexto de entorno del núcleo del bloc de notas.
Enhorabuena. Ha configurado y ejecutado con éxito Ultralytics YOLOv5 en AzureML. Para una exploración más profunda, considere consultar otras integracionesUltralytics o la documentación detallada YOLOv5 . También puede encontrar la documentación AzureML útil para escenarios avanzados como la formación distribuida o el despliegue de modelos como un punto final.