YOLO Vision 2026:

Domina el despliegue de YOLOv5 en la máquina virtual de aprendizaje profundo (Deep Learning VM) de Google Cloud Platform (GCP)#

Emprender el viaje de la inteligencia artificial (IA) y el aprendizaje automático (ML) puede ser emocionante, especialmente cuando aprovechas la potencia y la flexibilidad de una plataforma de computación en la nube. Google Cloud Platform (GCP) ofrece herramientas robustas adaptadas tanto para entusiastas como para profesionales del ML. Una de esas herramientas es la Deep Learning VM, preconfigurada para tareas de ciencia de datos y ML. En este tutorial, recorreremos el proceso de configuración de Ultralytics YOLOv5 en una GCP Deep Learning VM. Ya sea que estés dando tus primeros pasos en el ML o seas un profesional experimentado, esta guía ofrece un camino claro para implementar modelos de detección de objetos impulsados por YOLOv5.

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

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

Paso 1: Crea y configura tu Deep Learning VM#

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

  1. Navega hasta el marketplace de GCP y selecciona la 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 ML.
  3. Selecciona una GPU. La elección depende de tu carga de trabajo; incluso una GPU T4 básica acelerará significativamente el entrenamiento del modelo.
  4. Marca la casilla '¿Instalar el controlador de GPU de NVIDIA automáticamente en el primer inicio?' para una configuración perfecta.
  5. Asigna un disco persistente SSD de 300 GB para evitar cuellos de botella en E/S.
  6. Haz clic en 'Desplegar' (Deploy) y permite que GCP aprovisione tu Deep Learning VM personalizada.

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

Ilustración del marketplace de GCP sobre la configuración de una Deep Learning VM

Paso 2: Prepara la VM para YOLOv5#

Después de configurar el entorno, vamos a instalar YOLOv5 y dejarlo 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 entorno 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, simplificando el proceso para comenzar el entrenamiento del modelo.

Paso 3: Entrena y despliega tus modelos YOLOv5#

Con la configuración completa, ya estás listo para entrenar, validar, predecir y exportar con YOLOv5 en tu GCP VM:

# 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

Usando 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 diversas tareas. Explora diferentes opciones de despliegue de modelos después de exportar.

Entrenamiento del modelo YOLOv5 en una GCP VM

Asignar espacio de intercambio (Swap Space) (Opcional)#

Si trabajas con conjuntos de datos particularmente grandes que podrían exceder la RAM de tu VM, considera agregar 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 conjuntos de datos personalizados#

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

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

  2. Sube tu conjunto de datos a tu GCP VM usando gcloud compute scp o 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 tus datos de entrenamiento y validación, el número de clases y los nombres de las clases.

  4. Comienza el proceso de entrenamiento utilizando tu archivo YAML de conjunto de datos personalizado y comenzando potencialmente desde 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 detalladas sobre cómo preparar datos y entrenar con conjuntos de datos personalizados, consulta la documentación de entrenamiento de Ultralytics YOLOv5.

Aprovechamiento del almacenamiento en la nube#

Para una gestión de datos eficiente, especialmente con grandes conjuntos de datos 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 grandes conjuntos de datos y modelos entrenados de forma segura y rentable en la nube, minimizando los requisitos de almacenamiento en tu instancia de VM.

Reflexiones finales#

¡Felicitaciones! Ahora estás equipado para aprovechar las capacidades de Ultralytics YOLOv5 combinadas con la potencia de cálculo 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 construcción de soluciones industriales, has dado un paso significativo en el mundo de la IA y el ML en la nube.

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

Recuerda documentar tu progreso, compartir ideas con la vibrante comunidad de Ultralytics y utilizar recursos como las discusiones de GitHub para la colaboración y el soporte. ¡Ahora, ve 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 ver más tutoriales e ideas. ¡Deja que tu aventura en la IA continúe!

Comentarios