YOLO Vision 2026:

Ultralytics YOLOv5 🚀 en una instancia de AWS Deep Learning: tu guía completa#

Configurar un entorno de aprendizaje profundo de alto rendimiento puede parecer abrumador, especialmente si estás empezando. ¡Pero no te preocupes! 🛠️ Esta guía explica paso a paso cómo poner en marcha Ultralytics YOLOv5 en una instancia de AWS Deep Learning. Al aprovechar la potencia de Amazon Web Services (AWS), incluso quienes son nuevos en el aprendizaje automático (ML) pueden empezar rápidamente y de forma económica. La escalabilidad de la plataforma de AWS la hace ideal tanto para la experimentación como para el despliegue en producción.

Otras opciones de inicio rápido para YOLOv5 incluyen nuestro Google Colab Notebook Open In Colab, entornos de Kaggle Open In Kaggle, GCP Deep Learning VM y nuestra imagen de Docker prediseñada disponible en Docker Hub Docker Pulls.

Paso 1: iniciar sesión en la consola de AWS#

Empieza creando una cuenta o iniciando sesión en la consola de administración de AWS. Una vez dentro, ve al panel del servicio EC2, donde puedes gestionar tus servidores virtuales (instancias).

Página de inicio de sesión de la consola de administración de AWS

Paso 2: iniciar tu instancia#

En el panel de EC2, haz clic en el botón Launch Instance. Esto inicia el proceso de creación de un nuevo servidor virtual adaptado a tus necesidades.

Botón Launch Instance

Seleccionar la imagen de máquina de Amazon (AMI) adecuada#

Elegir la AMI correcta es fundamental. Esta determina el sistema operativo y el software preinstalado de tu instancia. En la barra de búsqueda, escribe 'Deep Learning' y selecciona la AMI de Deep Learning más reciente basada en Ubuntu (a menos que necesites específicamente otro sistema operativo). Las AMI de Deep Learning de Amazon vienen preconfiguradas con marcos de aprendizaje profundo populares (como PyTorch, que usa YOLOv5) y los controladores de GPU necesarios, lo que agiliza considerablemente el proceso de configuración.

Selección de la AMI de Deep Learning de AWS EC2

Elegir el tipo de instancia#

Para tareas exigentes, como entrenar modelos de aprendizaje profundo, se recomienda encarecidamente seleccionar un tipo de instancia acelerada por GPU. Las GPU pueden reducir drásticamente el tiempo necesario para entrenar modelos en comparación con las CPU. Al elegir el tamaño de la instancia, asegúrate de que su capacidad de memoria (RAM) sea suficiente para tu modelo y tu conjunto de datos.

Nota: El tamaño de tu modelo y de tu conjunto de datos son factores fundamentales. Si tu tarea de ML requiere más memoria de la que proporciona la instancia seleccionada, tendrás que elegir un tipo de instancia más grande para evitar problemas de rendimiento o errores.

Explora los tipos de instancia con GPU disponibles en la página de tipos de instancia de EC2, especialmente en la categoría Accelerated Computing.

Selección del tipo de instancia con GPU de AWS EC2

Para obtener información detallada sobre la supervisión y optimización del uso de la GPU, consulta la guía de AWS sobre supervisión y optimización de GPU. Compara los costes mediante los precios bajo demanda y explora posibles ahorros con los precios de las instancias Spot.

Configurar tu instancia#

Considera la posibilidad de usar instancias Spot de Amazon EC2 para reducir costes. Las instancias Spot te permiten pujar por capacidad de EC2 no utilizada, normalmente con un descuento considerable respecto a los precios bajo demanda. Para tareas que requieren persistencia (guardar los datos aunque la instancia Spot se interrumpa), elige una solicitud persistente. Esto garantiza que el volumen de almacenamiento persista.

Configuración de la solicitud Spot

Continúa con los pasos 4-7 del asistente de lanzamiento de instancias para configurar el almacenamiento, añadir etiquetas, configurar los grupos de seguridad (asegúrate de que el puerto SSH 22 esté abierto desde tu dirección IP) y revisar los ajustes antes de hacer clic en Launch. También tendrás que crear o seleccionar un par de claves existente para acceder de forma segura mediante SSH.

Paso 3: conectarte a tu instancia#

Cuando el estado de tu instancia aparezca como «running», selecciónala en el panel de EC2. Haz clic en el botón Connect para ver las opciones de conexión. Usa el ejemplo de comando SSH proporcionado en el terminal local (como Terminal en macOS/Linux o PuTTY/WSL en Windows) para establecer una conexión segura. Necesitarás el archivo de clave privada (.pem) que creaste o seleccionaste durante el lanzamiento.

Opciones de conexión SSH de la instancia de AWS EC2

Paso 4: ejecutar Ultralytics YOLOv5#

Ahora que estás conectado mediante SSH, puedes configurar y ejecutar YOLOv5. Primero, clona el repositorio oficial de YOLOv5 desde GitHub y ve al directorio. Después, instala las dependencias necesarias mediante pip. Se recomienda usar un entorno de Python 3.8 o posterior. Los modelos y conjuntos de datos necesarios se descargarán automáticamente desde la versión más reciente de YOLOv5 cuando ejecutes comandos como los de entrenamiento o detección.

# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5

# Install required packages
pip install -r requirements.txt

Con el entorno listo, puedes empezar a usar YOLOv5 para diversas tareas:

# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640

# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640

# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640

# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640

Consulta la documentación de Ultralytics para obtener guías detalladas sobre entrenamiento, validación, predicción (inferencia) y exportación.

Extras opcionales: aumentar la memoria de intercambio#

Si trabajas con conjuntos de datos muy grandes o encuentras limitaciones de memoria durante el entrenamiento, aumentar la memoria de intercambio de tu instancia puede ser útil en algunos casos. El espacio de intercambio permite al sistema usar espacio del disco como RAM virtual.

# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile

# Set correct permissions
sudo chmod 600 /swapfile

# Set up the file as a Linux swap area
sudo mkswap /swapfile

# Enable the swap file
sudo swapon /swapfile

# Verify the swap memory is active
free -h

¡Enhorabuena! 🎉 Has configurado correctamente una instancia de AWS Deep Learning, has instalado Ultralytics YOLOv5 y ya puedes realizar tareas de detección de objetos. Tanto si estás experimentando con modelos preentrenados como si entrenas con tus propios datos, esta potente configuración proporciona una base escalable para tus proyectos de visión por ordenador. Si encuentras algún problema, consulta la amplia documentación de AWS y los útiles recursos de la comunidad de Ultralytics, como las preguntas frecuentes. ¡Feliz detección!

Comentarios