Ir al contenido

Dominio de la implantación de YOLOv5 en la máquina virtual de aprendizaje profundo de Google Cloud Platform (GCP)

Embarcarse en el viaje de la inteligencia artificial (IA) y el aprendizaje automático (ML) puede ser estimulante, especialmente cuando se aprovecha la potencia y la flexibilidad de una plataforma de computación en nube. Google Cloud Platform (GCP) ofrece sólidas herramientas adaptadas tanto a los entusiastas del ML como a los profesionales. 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 máquina virtual de aprendizaje profundo de GCP. Tanto si está dando sus primeros pasos en ML como si es un profesional experimentado, esta guía proporciona un camino claro para implementar modelos de detección de objetos con 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 accesibles de inicio rápido para YOLOv5, como nuestro Cuaderno 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 Docker oficial disponible en Centro Docker Tirones de Docker para un entorno encapsulado, siguiendo nuestro Guía de inicio rápido de Docker.

Paso 1: Crear y configurar la máquina virtual de aprendizaje profundo

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

  1. Navegue hasta el marketplace de GCP y seleccione la Deep Learning VM.
  2. Elija 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 la carga de trabajo; incluso una GPU T4 básica acelerará significativamente el entrenamiento del modelo.
  4. Marca la casilla "¿Instalar automáticamente el controlador deGPU NVIDIA la primera vez que se inicie?" para que la instalación se realice sin problemas.
  5. Asigne un disco persistente SSD de 300 GB para evitar cuellos de botella de E/S.
  6. Haga clic en "Desplegar" y permita que GCP aprovisione su máquina virtual de aprendizaje profundo personalizada.

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

Ilustración de GCP Marketplace sobre la configuración de una máquina virtual de aprendizaje profundo

Paso 2: Preparar la máquina virtual para YOLOv5

Una vez configurado el entorno, vamos a instalar y preparar YOLOv5 :

# 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 usted tiene un entorno Python versión 3.8.0 o más reciente y PyTorch 1.8 o posterior. Nuestros scripts descargan automáticamente modelos y conjuntos de datos de la últimaversión de YOLOv5 , lo que simplifica el proceso de inicio del entrenamiento de modelos.

Paso 3: Formar e implantar los modelos YOLOv5

Una vez completada la configuración, estará listo para entrenar, validar, predecir y exportar con YOLOv5 en su máquina virtual 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 sólo unos pocos comandos, YOLOv5 le permite entrenar modelos de detección de objetos personalizados adaptados a sus necesidades específicas o utilizar pesos preentrenados para obtener resultados rápidos en diversas tareas. Explore diferentes opciones de despliegue de modelos tras la exportación.

Imagen de comando de terminal que ilustra el entrenamiento de un modelo en una máquina virtual de aprendizaje profundo de GCP

Asignar espacio de intercambio (opcional)

Si está trabajando con conjuntos de datos especialmente grandes que podrían superar la memoria RAM de su máquina virtual, considere la posibilidad de 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

Formación 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 según el formato YOLOv5 (imágenes y archivos de etiquetas correspondientes). Consulte nuestra descripción general de conjuntos de datos para obtener orientación.
  2. Cargue su conjunto de datos en su GCP VM utilizando 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 los 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 conjunto de datos personalizado YAML y partiendo potencialmente 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 la preparación de datos y el entrenamiento con conjuntos de datos personalizados, consulte la documentación deUltralytics YOLOv5 Train.

Aprovechar el 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 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 la exploración personal, la investigación académica o la creación de soluciones industriales, ha dado un paso importante en el mundo de la IA y el ML en la nube.

Considere el uso de Ultralytics HUB para una experiencia optimizada y sin código para entrenar y gestionar sus modelos.

Recuerde documentar su progreso, compartir ideas con la vibrante comunidad de Ultralytics y utilizar recursos como las discusiones de GitHub para la colaboración y el apoyo. Ahora, ¡a innovar con YOLOv5 y GCP!

¿Quiere seguir mejorando sus conocimientos de ML? Sumérjase en nuestra documentación y explore el blog deUltralytics para obtener más tutoriales y conocimientos. ¡Que continúe tu aventura con la IA!

Creado hace 1 año ✏️ Actualizado hace 0 días

Comentarios