Ultralytics YOLO27:
Get Started

Domina el despliegue de YOLOv5 en una VM de aprendizaje profundo de Google Cloud Platform (GCP)#

Emprender el camino de la inteligencia artificial (AI) y el aprendizaje automático (ML) puede ser apasionante, sobre todo si aprovechas la potencia y flexibilidad de una plataforma de computación en la nube. Google Cloud Platform (GCP) ofrece herramientas sólidas, diseñadas tanto para aficionados como para profesionales del aprendizaje automático. Una de ellas es la VM de aprendizaje profundo, preconfigurada para tareas de ciencia de datos y aprendizaje automático. En este tutorial, veremos cómo configurar Ultralytics YOLOv5 en una VM de aprendizaje profundo de GCP. Tanto si estás dando tus primeros pasos en el aprendizaje automático como si ya tienes experiencia, esta guía te ofrece una ruta clara para implementar modelos de detección de objetos basados en YOLOv5.

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

Además de GCP, descubre otras opciones accesibles para empezar rápidamente con YOLOv5, como nuestro cuaderno de Google Colab Open In Colab para trabajar desde el navegador o la escalabilidad de Amazon AWS. Además, quienes prefieran los contenedores pueden usar nuestra imagen Docker oficial, 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 VM de aprendizaje profundo#

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

  1. Ve a Google Cloud Marketplace y selecciona Deep Learning VM.
  2. Elige una instancia n1-standard-8; ofrece un equilibrio de 8 vCPU y 30 GB de memoria, adecuado para muchas tareas de aprendizaje automático.
  3. Selecciona una GPU. La elección depende de tu carga de trabajo; incluso una GPU T4 básica acelerará considerablemente el entrenamiento del modelo.
  4. Marca la casilla «Install NVIDIA GPU driver automatically on first startup?» para configurar todo sin complicaciones.
  5. Asigna un disco persistente SSD de 300 GB para evitar cuellos de botella de E/S.
  6. Haz clic en «Deploy» y espera a que GCP aprovisione tu VM de aprendizaje profundo personalizada.

Esta VM incluye herramientas y marcos esenciales preinstalados, entre ellos la distribución de Python Anaconda, que incluye cómodamente muchas de las dependencias necesarias para YOLOv5.

Ilustración de Google Cloud Marketplace sobre la configuración de una VM de aprendizaje profundo

Paso 2: Prepara la VM para YOLOv5#

Una vez configurado 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 una versión de Python 3.8.0 o posterior y PyTorch 1.8 o posterior. Nuestros scripts descargan automáticamente modelos y conjuntos de datos de la última versión de YOLOv5, lo que facilita empezar a entrenar modelos.

Paso 3: Entrena y despliega tus modelos YOLOv5#

Con la configuración terminada, ya puedes entrenar, validar, predecir y exportar con YOLOv5 en tu VM 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 o utilizar pesos preentrenados para obtener resultados rápidos en distintas tareas. Tras exportar, explora las distintas opciones de despliegue de modelos.

Entrenamiento de un modelo YOLOv5 en una VM de GCP

Asigna espacio de intercambio (opcional)#

Si trabajas con conjuntos de datos especialmente grandes que podrían superar la RAM de tu VM, plantéate 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

Entrena con conjuntos de datos personalizados#

Para entrenar YOLOv5 con tu conjunto de datos personalizado en GCP, sigue estos pasos generales:

  1. Prepara el conjunto de datos en el formato de YOLOv5 (imágenes y sus correspondientes archivos de etiquetas). Consulta nuestra descripción general de los conjuntos de datos para obtener orientación.

  2. Sube tu conjunto de datos a la VM de GCP con gcloud compute scp o mediante la función SSH de la consola web.

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

  4. Inicia el proceso de entrenamiento con el archivo YAML de tu conjunto de datos personalizado y, si quieres, parte 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 obtener instrucciones completas sobre cómo preparar los datos y entrenar con conjuntos de datos personalizados, consulta el tutorial Entrenar con datos personalizados.

Aprovecha el almacenamiento en la nube#

Para gestionar los datos de forma eficiente, sobre todo si trabajas con conjuntos de datos grandes o muchos 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 método te permite almacenar de forma segura y económica grandes conjuntos de datos y modelos entrenados en la nube, reduciendo al mínimo el espacio de almacenamiento necesario en tu VM.

Conclusión#

¡Enhorabuena! Ya puedes aprovechar las capacidades de Ultralytics YOLOv5 junto con la potencia de cálculo de Google Cloud Platform. Esta configuración ofrece escalabilidad, eficiencia y versatilidad para tus proyectos de detección de objetos. Tanto si quieres explorar por tu cuenta, realizar investigación académica o desarrollar soluciones industriales, has dado un paso importante en el mundo de la IA y el aprendizaje automático en la nube.

Plantéate usar Ultralytics Platform para entrenar y gestionar tus modelos de forma sencilla y sin código.

Recuerda documentar tus avances, compartir ideas con la activa comunidad de Ultralytics y utilizar recursos como los debates de GitHub para colaborar y obtener ayuda. ¡Ahora, ponte manos a la obra 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 e información. ¡Que continúe tu aventura con la IA!

Preguntas frecuentes#

  • Una máquina n1-standard-8 con una sola GPU T4 basta para la mayoría de las tareas de entrenamiento e inferencia con YOLOv5. Pásate a una L4 o A100 para trabajar con conjuntos de datos grandes o modelos más grandes y marca siempre la opción de instalar automáticamente el controlador de NVIDIA en el primer arranque.

  • Detén la VM desde la consola de Compute Engine cuando esté inactiva. Seguirás pagando por el disco conectado, así que elimina la VM y el disco cuando termines el proyecto y hayas copiado de forma segura los pesos a Cloud Storage.

  • Para conjuntos de datos pequeños, usa gcloud compute scp. Para cualquier conjunto de datos más grande, súbelo a un bucket de Cloud Storage y descárgalo con gsutil cp -r gs://your-bucket/dataset ./datasets/, que es mucho más rápido dentro de la red de Google.

  • Sí. La VM de Deep Learning ya incluye PyTorch, así que pip install ultralytics añade entrenamiento y exportación de YOLO26 con la CLI yolo. Consulta la guía de inicio rápido para obtener más información.

Comentarios