Ultralytics YOLO27:
Get Started

Domina a implementação do YOLOv5 numa VM Deep Learning da Google Cloud Platform (GCP)#

Começar a explorar a inteligência artificial (IA) e a aprendizagem automática (ML) pode ser entusiasmante, especialmente quando tiras partido do poder e da flexibilidade de uma plataforma de computação na nuvem. A Google Cloud Platform (GCP) oferece ferramentas robustas, concebidas tanto para entusiastas como para profissionais de ML. Uma dessas ferramentas é a Deep Learning VM, pré-configurada para tarefas de ciência de dados e ML. Neste tutorial, vamos explicar o processo de configuração do Ultralytics YOLOv5 numa GCP Deep Learning VM. Quer estejas a dar os primeiros passos em ML, quer sejas um profissional experiente, este guia apresenta um caminho claro para implementar modelos de deteção de objetos com o YOLOv5.

🆓 Além disso, se fores um novo utilizador da GCP, podes aproveitar a oferta de 300 $ em créditos gratuitos para dar início aos teus projetos.

Além da GCP, explora outras opções acessíveis para começares rapidamente com o YOLOv5, como o nosso Google Colab Notebook Open In Colab para uma experiência no navegador ou a escalabilidade da Amazon AWS. Além disso, quem prefere usar contentores pode recorrer à nossa imagem Docker oficial disponível no Docker Hub Docker Pulls para criar um ambiente encapsulado, seguindo o nosso Guia de início rápido do Docker.

Etapa 1: criar e configurar a Deep Learning VM#

Vamos começar por criar uma máquina virtual otimizada para aprendizagem profunda:

  1. Acede ao mercado da GCP e seleciona Deep Learning VM.
  2. Escolhe uma instância n1-standard-8; com 8 vCPUs e 30 GB de memória, oferece um equilíbrio adequado para muitas tarefas de ML.
  3. Seleciona uma GPU. A escolha depende da tua carga de trabalho; até uma GPU T4 básica vai acelerar bastante o treino do modelo.
  4. Assinala a caixa 'Install NVIDIA GPU driver automatically on first startup?' para simplificar a configuração.
  5. Atribui um Persistent Disk SSD de 300 GB para evitar estrangulamentos de E/S.
  6. Clica em 'Deploy' e deixa a GCP provisionar a tua Deep Learning VM personalizada.

Esta VM já inclui ferramentas e frameworks essenciais, incluindo a distribuição Python Anaconda, que reúne convenientemente muitas das dependências necessárias para o YOLOv5.

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

Etapa 2: preparar a VM para o YOLOv5#

Depois de configurar o ambiente, vamos instalar e preparar o YOLOv5:

# 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 tens um ambiente Python da versão 3.8.0 ou posterior e PyTorch 1.8 ou posterior. Os nossos scripts transferem automaticamente modelos e conjuntos de dados da versão mais recente do YOLOv5, simplificando o início do treino do modelo.

Etapa 3: treinar e implementar os teus modelos YOLOv5#

Com a configuração concluída, já podes treinar, validar, fazer previsões e exportar com o YOLOv5 na tua VM da 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

Com apenas alguns comandos, o YOLOv5 permite-te treinar modelos personalizados de deteção de objetos adaptados às tuas necessidades específicas ou utilizar pesos pré-treinados para obter resultados rapidamente em várias tarefas. Explora diferentes opções de implementação de modelos depois da exportação.

Treino do modelo YOLOv5 numa VM da GCP

Atribuir espaço swap (opcional)#

Se estiveres a trabalhar com conjuntos de dados particularmente grandes que possam exceder a RAM da VM, considera adicionar espaço 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

Treinar com conjuntos de dados personalizados#

Para treinar o YOLOv5 com o teu conjunto de dados personalizado na GCP, segue estas etapas gerais:

  1. Prepara o teu conjunto de dados no formato YOLOv5 (imagens e ficheiros de etiquetas correspondentes). Consulta a nossa visão geral dos conjuntos de dados para obteres orientações.

  2. Carrega o teu conjunto de dados para a VM da GCP usando gcloud compute scp ou a funcionalidade SSH da consola Web.

  3. Cria um ficheiro YAML de configuração do conjunto de dados (custom_dataset.yaml) que especifique os caminhos para os dados de treino e validação, o número de classes e os nomes das classes.

  4. Inicia o processo de treino usando o teu ficheiro YAML do conjunto de dados personalizado e, se quiseres, começando com 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 obteres instruções completas sobre a preparação dos dados e o treino com conjuntos de dados personalizados, consulta o tutorial Treinar com dados personalizados.

Tirar partido do Cloud Storage#

Para gerir dados com eficiência, especialmente no caso de conjuntos de dados grandes ou de muitas experiências, integra o teu 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-te armazenar conjuntos de dados grandes e modelos treinados na nuvem de forma segura e económica, reduzindo os requisitos de armazenamento da tua instância VM.

Considerações finais#

Parabéns! Agora tens tudo o que precisas para aproveitar as capacidades do Ultralytics YOLOv5 com o poder computacional da Google Cloud Platform. Esta configuração oferece escalabilidade, eficiência e versatilidade aos teus projetos de deteção de objetos. Seja para exploração pessoal, investigação académica ou desenvolvimento de soluções industriais, deste um passo importante no mundo da IA e do ML na nuvem.

Considera usar a Ultralytics Platform para treinar e gerir os teus modelos de forma simples, sem código.

Lembra-te de documentar o teu progresso, partilhar ideias com a dinâmica comunidade Ultralytics e recorrer a recursos como as discussões do GitHub para colaborar e obter apoio. Agora, avança e inova com o YOLOv5 e a GCP!

Queres continuar a desenvolver as tuas competências em ML? Explora a nossa documentação e consulta o Blog da Ultralytics para encontrares mais tutoriais e informações. Que a tua aventura com IA continue!

Perguntas frequentes#

  • Uma máquina n1-standard-8 com uma única GPU T4 é suficiente para a maioria dos treinos e inferências com YOLOv5. Muda para uma L4 ou A100 para conjuntos de dados maiores ou modelos mais robustos e assinala sempre a opção de instalar automaticamente o controlador NVIDIA na primeira inicialização.

  • Para a VM na consola do Compute Engine quando estiver inativa. Continuarás a pagar pelo disco associado, por isso elimina a VM e o disco quando o projeto estiver concluído e os teus pesos estiverem copiados em segurança para o Cloud Storage.

  • Para conjuntos de dados pequenos, usa gcloud compute scp. Para qualquer conjunto maior, carrega-o para um bucket do Cloud Storage e transfere-o com gsutil cp -r gs://your-bucket/dataset ./datasets/, que é muito mais rápido dentro da rede da Google.

  • Sim. A Deep Learning VM já inclui PyTorch, por isso pip install ultralytics adiciona o treino e a exportação de YOLO26 com a CLI yolo. Consulta o Guia de início rápido para mais informações.

Comentários