Dominando a implantação do YOLOv5 na Deep Learning VM da Google Cloud Platform (GCP)

Embarcar na jornada da inteligência artificial (IA) e do aprendizado de máquina (ML) pode ser estimulante, especialmente quando você aproveita o poder e a flexibilidade de uma plataforma de computação em nuvem. A Google Cloud Platform (GCP) oferece ferramentas robustas feitas sob medida para entusiastas e profissionais de ML. Uma dessas ferramentas é a Deep Learning VM, pré-configurada para tarefas de ciência de dados e ML. Neste tutorial, navegaremos pelo processo de configuração do Ultralytics YOLOv5 em uma GCP Deep Learning VM. Seja dando seus primeiros passos em ML ou sendo um profissional experiente, este guia fornece um caminho claro para implementar modelos de detecção de objetos alimentados pelo YOLOv5.

🆓 Além disso, se você é um novo usuário da GCP, você tem sorte com uma oferta de crédito gratuito de US$ 300 para dar o pontapé inicial em seus projetos.

Além da GCP, explore outras opções de início rápido acessíveis para o YOLOv5, como nosso Google Colab Notebook Open In Colab para uma experiência baseada no navegador, ou a escalabilidade da Amazon AWS. Além disso, os aficionados por containers podem utilizar nossa imagem oficial do Docker disponível no Docker Hub Docker Pulls para um ambiente encapsulado, seguindo nosso Guia de Início Rápido do Docker.

Passo 1: Criar e configurar sua Deep Learning VM

Vamos começar criando uma máquina virtual otimizada para deep learning:

  1. Navegue até o GCP marketplace e selecione a Deep Learning VM.
  2. Escolha uma instância n1-standard-8; ela oferece um equilíbrio de 8 vCPUs e 30 GB de memória, adequada para muitas tarefas de ML.
  3. Selecione uma GPU. A escolha depende da sua carga de trabalho; até mesmo uma GPU T4 básica acelerará significativamente o treinamento do modelo.
  4. Marque a caixa para 'Instalar o driver da NVIDIA GPU automaticamente na primeira inicialização?' para uma configuração perfeita.
  5. Aloque um SSD Persistent Disk de 300 GB para evitar gargalos de I/O.
  6. Clique em 'Implantar' (Deploy) e permita que a GCP provisione sua Deep Learning VM personalizada.

Esta VM vem pré-carregada com ferramentas e frameworks essenciais, incluindo a distribuição Python Anaconda, que convenientemente agrupa muitas dependências necessárias para o YOLOv5.

Ilustração do GCP Marketplace de configuração de uma Deep Learning VM

Passo 2: Preparar a VM para o YOLOv5

Após configurar o ambiente, vamos instalar o YOLOv5 e deixá-lo pronto:

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

# Install dependencies
pip install -r requirements.txt

Este processo de configuração garante que você tenha uma versão do ambiente Python 3.8.0 ou superior e PyTorch 1.8 ou posterior. Nossos scripts baixam automaticamente modelos e datasets da versão mais recente do YOLOv5 release, simplificando o processo de início do treinamento do modelo.

Passo 3: Treinar e implantar seus modelos YOLOv5

Com a configuração concluída, você está pronto para treinar, validar, prever e exportar com o YOLOv5 em sua VM 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

Usando apenas alguns comandos, o YOLOv5 permite que você treine modelos de detecção de objetos personalizados adaptados às suas necessidades específicas ou utilize pesos pré-treinados para resultados rápidos em várias tarefas. Explore diferentes opções de implantação de modelo após a exportação.

Treinamento de modelo YOLOv5 na GCP VM

Alocar espaço de swap (opcional)

Se você estiver trabalhando com conjuntos de dados particularmente grandes que podem exceder a RAM da sua VM, considere adicionar espaço de swap para evitar erros de memória:

# 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

Treinando com datasets personalizados

Para treinar o YOLOv5 em seu dataset personalizado dentro da GCP, siga estas etapas gerais:

  1. Prepare seu dataset de acordo com o formato do YOLOv5 (imagens e arquivos de etiquetas correspondentes). Veja nossa visão geral de datasets para orientação.

  2. Faça upload do seu dataset para sua VM GCP usando gcloud compute scp ou o recurso de SSH do console web.

  3. Crie um arquivo YAML de configuração de dataset (custom_dataset.yaml) que especifica os caminhos para seus dados de treinamento e validação, o número de classes e os nomes das classes.

  4. Inicie o processo de treinamento usando seu YAML de dataset personalizado e potencialmente começando a partir de pesos pré-treinados:

    # 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 obter instruções abrangentes sobre a preparação de dados e o treinamento com datasets personalizados, consulte a documentação de Treinamento do Ultralytics YOLOv5.

Aproveitando o Cloud Storage

Para um gerenciamento de dados eficiente, especialmente com grandes conjuntos de dados ou inúmeros experimentos, integre seu fluxo de trabalho do YOLOv5 com o 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/

Esta abordagem permite que você armazene grandes datasets e modelos treinados de forma segura e econômica na nuvem, minimizando os requisitos de armazenamento em sua instância de VM.

Considerações finais

Parabéns! Você agora está equipado para aproveitar as capacidades do Ultralytics YOLOv5 combinado com o poder computacional da Google Cloud Platform. Esta configuração oferece escalabilidade, eficiência e versatilidade para seus projetos de detecção de objetos. Seja para exploração pessoal, pesquisa acadêmica ou construção de soluções industriais, você deu um passo importante no mundo da IA e ML na nuvem.

Considere usar a Plataforma Ultralytics para uma experiência simplificada e sem código para treinar e gerenciar seus modelos.

Lembre-se de documentar seu progresso, compartilhar insights com a vibrante comunidade Ultralytics e utilizar recursos como discussões no GitHub para colaboração e suporte. Agora, vá em frente e inove com o YOLOv5 e a GCP!

Quer continuar aprimorando suas habilidades em ML? Mergulhe em nossa documentação e explore o Blog da Ultralytics para mais tutoriais e insights. Que sua aventura em IA continue!

Comentários