Dominando a implantação do YOLOv5 na Deep Learning VM do Google Cloud Platform (GCP)#
Começar a jornada da artificial intelligence (AI) e do machine learning (ML) pode ser empolgante, especialmente quando tiras partido do poder e da flexibilidade de uma plataforma de cloud computing. O Google Cloud Platform (GCP) oferece ferramentas robustas adaptadas tanto a entusiastas como a profissionais de ML. Uma dessas ferramentas é a Deep Learning VM, pré-configurada para tarefas de ciência de dados e ML. Neste tutorial, vamos navegar pelo processo de configuração do Ultralytics YOLOv5 numa GCP Deep Learning VM. Quer estejas a dar os primeiros passos em ML ou sejas um praticante experiente, este guia fornece um caminho claro para implementar modelos de object detection alimentados pelo YOLOv5.
🆓 Além disso, se és um novo utilizador do GCP, tens sorte com uma oferta de crédito gratuito de $300 para dar início aos teus projetos.
Além do GCP, explora outras opções de início rápido acessíveis para o YOLOv5, como o nosso Google Colab Notebook para uma experiência baseada no browser, ou a escalabilidade da Amazon AWS. Além disso, os entusiastas de contentores podem utilizar a nossa imagem oficial do Docker disponível no Docker Hub
para um ambiente encapsulado, seguindo o nosso Docker Quickstart Guide.
Passo 1: Criar e configurar sua Deep Learning VM#
Vamos começar por criar uma máquina virtual otimizada para deep learning:
- Navega até ao GCP marketplace e seleciona a Deep Learning VM.
- Escolha uma instância n1-standard-8; ela oferece um equilíbrio de 8 vCPUs e 30 GB de memória, adequados para muitas tarefas de ML.
- Seleciona uma GPU. A escolha depende da tua carga de trabalho; mesmo uma GPU T4 básica acelerará significativamente o treino do modelo.
- Marque a caixa para 'Instalar driver de GPU NVIDIA automaticamente na primeira inicialização?' para uma configuração perfeita.
- Aloque um Disco Persistente SSD de 300 GB para evitar gargalos de I/O.
- Clique em 'Implantar' (Deploy) e permita que o GCP provisione sua Deep Learning VM personalizada.
Esta VM vem pré-carregada com ferramentas e frameworks essenciais, incluindo a distribuição Python do Anaconda, que agrupa convenientemente muitas dependências necessárias para o YOLOv5.

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.txtEste processo de configuração garante que tens uma versão do ambiente Python 3.8.0 ou mais recente e o PyTorch 1.8 ou posterior. Os nossos scripts descarregam automaticamente models e datasets da versão mais recente do YOLOv5 release, simplificando o processo de início do treino do modelo.
Passo 3: Treinar e implantar seus modelos YOLOv5#
Com a configuração concluída, estás pronto para train, validate, predict e export com o YOLOv5 na tua 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 tfliteUsando apenas alguns comandos, o YOLOv5 permite-te treinar modelos personalizados de object detection adaptados às tuas necessidades específicas ou utilizar pesos pré-treinados para resultados rápidos em várias tarefas. Explora diferentes model deployment options após a exportação.

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 -hTreinando conjuntos de dados personalizados#
Para treinar o YOLOv5 em seu conjunto de dados personalizado dentro do GCP, siga estas etapas gerais:
-
Prepara o teu dataset de acordo com o formato YOLOv5 (imagens e ficheiros de rótulos correspondentes). Vê a nossa datasets overview para obter orientações.
-
Carrega o teu dataset para a tua GCP VM utilizando
gcloud compute scpou a funcionalidade SSH da consola web. -
Cria um ficheiro YAML de configuração do dataset (
custom_dataset.yaml) que especifica os caminhos para os teus dados de treino e validação, o número de classes e os nomes das classes. -
Começa o training process utilizando o YAML do teu dataset personalizado e possivelmente 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 treino com datasets personalizados, consulta a documentação Ultralytics YOLOv5 Train documentation.
Aproveitando o armazenamento em nuvem#
Para uma gestão eficiente de dados, especialmente com grandes datasets ou inúmeras experiências, integra o teu fluxo de trabalho 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/Essa abordagem permite armazenar grandes conjuntos de dados 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! Estás agora equipado para aproveitar as capacidades do Ultralytics YOLOv5 combinado com o poder computacional do Google Cloud Platform. Esta configuração oferece escalabilidade, eficiência e versatilidade para os teus projetos de deteção de objetos. Seja para exploração pessoal, investigação académica ou para construir solutions industriais, deste um passo significativo para o mundo da IA e do ML na nuvem.
Considera utilizar a Ultralytics Platform para uma experiência simplificada e sem código para treinar e gerir os teus modelos.
Lembra-te de documentar o teu progresso, partilhar ideias com a vibrante comunidade Ultralytics e utilizar recursos como as GitHub discussions para colaboração e suporte. Agora, vai e inova com o YOLOv5 e o GCP!
Queres continuar a melhorar as tuas competências de ML? Mergulha na nossa documentation e explora o Ultralytics Blog para mais tutoriais e perspetivas. Que a tua aventura em IA continue!