YOLO Vision 2026:

Domina la implementación de YOLOv5 en una máquina virtual de Deep Learning de Google Cloud Platform (GCP)#

Empezar tu recorrido en la inteligencia artificial (AI) y el aprendizaje automático (ML) puede ser emocionante, especialmente cuando aprovechas la potencia y flexibilidad de una plataforma de computación en la nube. Google Cloud Platform (GCP) ofrece herramientas sólidas adaptadas tanto a los entusiastas como a los profesionales del ML. Una de ellas es la máquina virtual de Deep Learning, preconfigurada para tareas de ciencia de datos y ML. En este tutorial, recorreremos el proceso de configuración de Ultralytics YOLOv5 en una máquina virtual de Deep Learning de GCP. Tanto si estás dando tus primeros pasos en ML como si eres un profesional experimentado, esta guía te ofrece un camino claro para implementar modelos de detección de objetos basados en YOLOv5.

🆓 Además, si eres un usuario nuevo de GCP, estás de suerte: tienes una oferta de 300 $ de crédito gratuito para poner en marcha tus proyectos.

Además de GCP, explora otras opciones accesibles de inicio rápido para YOLOv5, como nuestro cuaderno de Google Colab Open In Colab para disfrutar de una experiencia basada en el navegador, o la escalabilidad de Amazon AWS. Además, quienes prefieran los contenedores pueden utilizar nuestra imagen oficial de Docker disponible en Docker Hub Docker Pulls para disponer de un entorno encapsulado, siguiendo nuestra guía de inicio rápido de Docker.

Paso 1: Crea y configura tu máquina virtual de Deep Learning#

Empecemos creando una máquina virtual optimizada para el aprendizaje profundo:

  1. Ve al marketplace de GCP y selecciona la máquina virtual de Deep Learning.
  2. Elige una instancia n1-standard-8; ofrece un equilibrio de 8 vCPU y 30 GB de memoria, adecuado para muchas tareas de ML.
  3. Selecciona una GPU. La elección depende de tu carga de trabajo; incluso una GPU T4 básica acelerará considerablemente el entrenamiento de modelos.
  4. Marca la casilla «¿Instalar automáticamente el controlador de NVIDIA para GPU durante el primer inicio?» para disfrutar de una configuración sencilla.
  5. Asigna un Persistent Disk SSD de 300 GB para evitar cuellos de botella de E/S.
  6. Haz clic en «Deploy» y permite que GCP aprovisione tu máquina virtual de Deep Learning personalizada.

Esta máquina virtual viene precargada con herramientas y frameworks esenciales, incluida la distribución de Python Anaconda, que incluye cómodamente muchas dependencias necesarias para YOLOv5.

Ilustración del marketplace de GCP para configurar una máquina virtual de Deep Learning

Paso 2: Prepara la máquina virtual para YOLOv5#

Después de configurar el entorno, instalemos YOLOv5 y dejémoslo listo:

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

# Install dependencies
pip install -r requirements.txt

Este proceso de configuración garantiza que tengas un entorno de Python con la versión 3.8.0 o posterior y PyTorch 1.8 o posterior. Nuestros scripts descargan automáticamente modelos y datasets de la versión más reciente de YOLOv5, lo que simplifica el inicio del entrenamiento de modelos.

Paso 3: Entrena e implementa tus modelos YOLOv5#

Con la configuración completada, ya puedes entrenar, validar, predecir y exportar con YOLOv5 en tu máquina virtual de GCP:

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

# Validate the trained model to check Precision, Recall, and mAP
python val.py --weights yolov5s.pt --data coco128.yaml

# Run inference using the trained model on images or videos
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos

# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite

Con solo unos pocos comandos, YOLOv5 te permite entrenar modelos personalizados de detección de objetos adaptados a tus necesidades específicas o utilizar pesos preentrenados para obtener resultados rápidos en distintas tareas. Explora las distintas opciones de implementación de modelos después de exportarlos.

Entrenamiento de un modelo YOLOv5 en una máquina virtual de GCP

Asigna espacio de intercambio (opcional)#

Si trabajas con datasets especialmente grandes que podrían superar la RAM de tu máquina virtual, considera añadir espacio de intercambio para evitar errores de memoria:

# Allocate a 64GB swap file
sudo fallocate -l 64G /swapfile

# Set the correct permissions for the swap file
sudo chmod 600 /swapfile

# Set up the Linux swap area
sudo mkswap /swapfile

# Enable the swap file
sudo swapon /swapfile

# Verify the swap space allocation (should show increased swap memory)
free -h

Entrenamiento con datasets personalizados#

Para entrenar YOLOv5 con tu dataset personalizado en GCP, sigue estos pasos generales:

  1. Prepara tu dataset según el formato de YOLOv5 (imágenes y archivos de etiquetas correspondientes). Consulta nuestra descripción general de datasets para obtener orientación.

  2. Sube tu dataset a tu máquina virtual de GCP mediante gcloud compute scp o la función SSH de la consola web.

  3. Crea un archivo YAML de configuración del dataset (custom_dataset.yaml) que especifique las rutas a tus datos de entrenamiento y validación, el número de clases y los nombres de las clases.

  4. Inicia el proceso de entrenamiento utilizando el YAML de tu dataset personalizado y, si quieres, partiendo de pesos preentrenados:

    # Example: Train YOLOv5s on a custom dataset for 100 epochs
    python train.py --img 640 --batch 16 --epochs 100 --data custom_dataset.yaml --weights yolov5s.pt

Para consultar instrucciones detalladas sobre la preparación de datos y el entrenamiento con datasets personalizados, consulta la documentación de entrenamiento de Ultralytics YOLOv5.

Uso de Cloud Storage#

Para gestionar los datos de forma eficiente, especialmente con datasets grandes o numerosos experimentos, integra tu flujo de trabajo de YOLOv5 con Google Cloud Storage:

# Ensure Google Cloud SDK is installed and initialized
# If not installed: curl https://sdk.cloud.google.com/ | bash
# Then initialize: gcloud init

# Example: Copy your dataset from a GCS bucket to your VM
gsutil cp -r gs://your-data-bucket/my_dataset ./datasets/

# Example: Copy trained model weights from your VM to a GCS bucket
gsutil cp -r ./runs/train/exp/weights gs://your-models-bucket/yolov5_custom_weights/

Este enfoque te permite almacenar de forma segura y rentable grandes datasets y modelos entrenados en la nube, reduciendo al mínimo los requisitos de almacenamiento de tu instancia de máquina virtual.

Consideraciones finales#

¡Enhorabuena! Ya puedes aprovechar las capacidades de Ultralytics YOLOv5 combinadas con la potencia computacional de Google Cloud Platform. Esta configuración proporciona escalabilidad, eficiencia y versatilidad para tus proyectos de detección de objetos. Ya sea para exploración personal, investigación académica o la creación de soluciones industriales, has dado un paso importante en el mundo de la AI y el ML en la nube.

Considera utilizar Ultralytics Platform para disfrutar de una experiencia optimizada y sin código para entrenar y gestionar tus modelos.

Recuerda documentar tus avances, compartir tus conocimientos con la activa comunidad de Ultralytics y utilizar recursos como los debates de GitHub para colaborar y recibir asistencia. ¡Ahora, sigue adelante e innova con YOLOv5 y GCP!

¿Quieres seguir mejorando tus habilidades de ML? Sumérgete en nuestra documentación y explora el blog de Ultralytics para descubrir más tutoriales y conocimientos. ¡Que continúe tu aventura con la AI!

Comentarios