Ir al contenido

Dominando la implementación de YOLOv5 en Google Cloud Platform (GCP) Deep Learning VM

Embarcarse en el viaje de la inteligencia artificial (IA) y el aprendizaje automático (ML) puede ser estimulante, especialmente cuando aprovechas el poder y la flexibilidad de una plataforma de computación en la nube. Google Cloud Platform (GCP) ofrece herramientas robustas diseñadas para entusiastas y profesionales de ML por igual. Una de estas herramientas es Deep Learning VM, preconfigurada para tareas de ciencia de datos y ML. En este tutorial, navegaremos por el proceso de configuración de Ultralytics YOLOv5 en una GCP Deep Learning VM. Ya sea que estés dando tus primeros pasos en ML o seas un profesional experimentado, esta guía proporciona 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 crédito gratuito de $300 para poner en marcha tus proyectos.

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

Paso 1: Cree y Configure su VM de Aprendizaje Profundo

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

  1. Navegue hasta GCP marketplace y seleccione la VM 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. Seleccione una GPU. La elección depende de su carga de trabajo; incluso una GPU T4 básica acelerará significativamente el entrenamiento del modelo.
  4. Marca la casilla '¿Instalar el controlador de la GPU 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 de E/S.
  6. Haga clic en 'Deploy' y permita que GCP aprovisione su VM personalizada de Deep Learning.

Esta VM viene precargada con herramientas y frameworks esenciales, incluyendo la distribución de python Anaconda, que convenientemente agrupa muchas dependencias necesarias para YOLOv5.

Ilustración de GCP Marketplace de la configuración de una VM de aprendizaje profundo

Paso 2: Prepare la VM para YOLOv5

Después de configurar el entorno, instalemos YOLOv5 y preparémonos:

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

# Navigate into the cloned repository directory
cd yolov5

# Install the required Python packages listed in requirements.txt
pip install -r requirements.txt

Este proceso de configuración asegura que tenga un entorno de python versión 3.8.0 o superior 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 de inicio del entrenamiento del modelo.

Paso 3: Entrene e implemente sus modelos YOLOv5

Una vez completada la configuración, está listo para entrenar, validar, predecir y exportar con YOLOv5 en su 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 específicas o utilizar pesos pre-entrenados para obtener resultados rápidos en diversas tareas. Explora diferentes opciones de implementación de modelos después de la exportación.

Imagen de comando de terminal que ilustra el entrenamiento del modelo en una VM de Deep Learning de GCP

Asignar espacio de intercambio (Opcional)

Si estás trabajando 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 de Conjuntos de Datos Personalizados

Para entrenar YOLOv5 en su conjunto de datos personalizado dentro de GCP, siga estos pasos generales:

  1. Prepare su conjunto de datos de acuerdo con el formato YOLOv5 (imágenes y archivos de etiquetas correspondientes). Consulte 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. Crear un archivo YAML de configuración del conjunto de datos (custom_dataset.yaml) que especifica las rutas a sus datos de entrenamiento y validación, el número de clases y los nombres de las clases.
  4. Comience el proceso de entrenamiento utilizando su YAML de conjunto de datos personalizado y, potencialmente, comenzando desde pesos pre-entrenados:

    # 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, consulte la documentación de Entrenamiento YOLOv5 de Ultralytics.

Aprovechamiento del almacenamiento en la nube

Para una gestión eficiente de los datos, especialmente con grandes conjuntos de datos o numerosos experimentos, integre su flujo de trabajo 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 le permite almacenar grandes conjuntos de datos y modelos entrenados de forma segura y rentable en la nube, minimizando los requisitos de almacenamiento en su instancia de VM.

Reflexiones Finales

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

Considere usar Ultralytics HUB para una experiencia optimizada y sin código para entrenar y administrar sus modelos.

Recuerda documentar tu progreso, compartir ideas con la activa comunidad de Ultralytics y utilizar recursos como los debates de GitHub para la colaboración y el soporte. ¡Ahora, adelante e innova con YOLOv5 y GCP!

¿Desea seguir mejorando sus habilidades de ML? Sumérjase en nuestra documentación y explore el Blog de Ultralytics para obtener más tutoriales e información. ¡Que continúe su aventura en la IA!



📅 Creado hace 1 año ✏️ Actualizado hace 2 meses

Comentarios