Dominando a Implantação do YOLOv5 no Google Cloud Platform (GCP) Deep Learning VM
Embarcar na jornada da inteligência artificial (IA) e do aprendizado de máquina (ML) pode ser emocionante, especialmente quando você aproveita o poder e a flexibilidade de uma plataforma de computação em nuvem. O Google Cloud Platform (GCP) oferece ferramentas robustas, personalizadas para entusiastas e profissionais de ML. Uma dessas ferramentas é a Deep Learning VM, pré-configurada para ciência de dados e tarefas de ML. Neste tutorial, vamos navegar pelo processo de configuração do Ultralytics YOLOv5 em uma GCP Deep Learning VM. Esteja você dando seus primeiros passos em ML ou seja um profissional experiente, este guia fornece um caminho claro para implementar modelos de detecção de objetos alimentados por YOLOv5.
🆓 Além disso, se você é um novo usuário do GCP, está com sorte com um crédito gratuito de $300 para dar o pontapé inicial em seus projetos.
Além do GCP, explore outras opções de início rápido acessíveis para YOLOv5, como o nosso Notebook do Google Colab para uma experiência baseada em navegador ou a escalabilidade de Amazon AWS. Além disso, os aficionados por contêineres podem utilizar nossa imagem oficial do Docker disponível em Docker Hub
para um ambiente encapsulado, seguindo nosso Guia de Início Rápido do Docker.
Passo 1: Crie e configure sua VM de Deep Learning
Vamos começar criando uma máquina virtual otimizada para deep learning:
- Navegue até o GCP marketplace e selecione 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, adequado para muitas tarefas de ML.
- Selecione uma GPU. A escolha depende da sua carga de trabalho; mesmo uma GPU T4 básica irá acelerar significativamente o treino do modelo.
- Marque a caixa para 'Instalar o driver da GPU NVIDIA automaticamente na primeira inicialização?' para uma configuração perfeita.
- Aloque um Disco Persistente SSD de 300 GB para evitar gargalos de E/S.
- Clique em 'Deploy' e permita que o GCP provisione sua VM de Deep Learning personalizada.
Esta VM vem pré-carregada com ferramentas e frameworks essenciais, incluindo a distribuição Anaconda Python, que agrupa convenientemente muitas dependências necessárias para o YOLOv5.
Passo 2: Prepare a VM para YOLOv5
Após configurar o ambiente, vamos instalar e preparar o 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 processo de configuração garante que você tenha um ambiente Python versão 3.8.0 ou mais recente e PyTorch 1.8 ou posterior. Nossos scripts baixam automaticamente modelos e conjuntos de dados da versão mais recente do YOLOv5 release, simplificando o processo de início do treinamento do modelo.
Passo 3: Treine e Implante Seus Modelos YOLOv5
Com a configuração completa, você está pronto para treinar, validar, prever e exportar com YOLOv5 em sua 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 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.
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 Datasets Personalizados
Para treinar o YOLOv5 no seu conjunto de dados personalizado dentro do GCP, siga estes passos gerais:
- Prepare seu conjunto de dados de acordo com o formato YOLOv5 (imagens e arquivos de rótulos correspondentes). Consulte nossa visão geral dos conjuntos de dados para obter orientação.
- Carregue seu conjunto de dados para sua VM GCP usando
gcloud compute scp
ou o recurso SSH do console da web. - Criar um arquivo YAML de configuração do conjunto de dados (
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. -
Inicie o processo de treino usando o seu ficheiro YAML de conjunto de dados personalizado e, potencialmente, 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 obter instruções detalhadas sobre como preparar dados e treinar com conjuntos de dados personalizados, consulte a documentação de Treinamento Ultralytics YOLOv5.
Aproveitando o Armazenamento na Nuvem
Para um gerenciamento de dados eficiente, especialmente com grandes conjuntos de dados ou vários experimentos, integre seu 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/
Esta abordagem permite que você armazene 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! Agora você está equipado para aproveitar os recursos do Ultralytics YOLOv5 combinados com o poder computacional do 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 significativo no mundo da IA e ML na nuvem.
Considere usar o Ultralytics HUB para uma experiência simplificada e sem código para treinar e gerenciar seus modelos.
Lembre-se de documentar o seu progresso, partilhar ideias com a vibrante comunidade Ultralytics e utilizar recursos como as discussões no GitHub para colaboração e suporte. Agora, avance e inove com o YOLOv5 e o GCP!
Quer continuar aprimorando suas habilidades em ML? Mergulhe em nossa documentação e explore o Blog da Ultralytics para mais tutoriais e insights. Deixe sua aventura de IA continuar!