Dominar a implantação YOLOv5 na VM de aprendizado profundo Google Cloud Platform (GCP)
Embarcar na viagem da inteligência artificial (IA) e da aprendizagem automática (ML) pode ser estimulante, especialmente quando se tira partido do poder e da flexibilidade de uma plataforma de computação em nuvem. Google Cloud Platform (GCP) oferece ferramentas robustas adaptadas para entusiastas e profissionais de ML. Uma dessas ferramentas é a VM de aprendizado profundo, pré-configurada para tarefas de ciência de dados e ML. Neste tutorial, vamos navegar pelo processo de configuração do Ultralytics YOLOv5 em uma VM de aprendizado profundo do GCP. Quer esteja a dar os primeiros passos no ML ou seja um profissional experiente, este guia fornece um caminho claro para a implementação de modelos de deteção de objectos alimentados pelo YOLOv5.
Além disso, se for um novo utilizador do GCP, está com sorte com uma oferta de crédito gratuito de 300 dólares para dar início aos seus projectos.
Para além do GCP, explore outras opções de início rápido acessíveis para YOLOv5, como o nosso Bloco de notas Google Colab para uma experiência baseada no browser, ou a escalabilidade do Amazon AWS. Além disso, os aficionados por contentores podem utilizar a nossa imagem oficial do Docker disponível em Centro de Docker
para um ambiente encapsulado, seguindo o nosso Guia de início rápido do Docker.
Etapa 1: Criar e configurar sua VM de aprendizado profundo
Vamos começar por criar uma máquina virtual optimizada para a aprendizagem profunda:
- Navegue até o mercado do GCP e selecione a VM de Aprendizado profundo.
- Escolha uma instância n1-standard-8; oferece um equilíbrio de 8 vCPUs e 30 GB de memória, adequado para muitas tarefas de ML.
- Selecionar 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 "Instalar o driver NVIDIA GPU NVIDIA automaticamente na primeira inicialização?" para uma configuração perfeita.
- Atribuir um Disco Persistente SSD de 300 GB para evitar estrangulamentos de E/S.
- Clique em "Implantar" e permita que o GCP provisione sua VM personalizada do Deep Learning.
Esta VM vem pré-carregada com ferramentas e estruturas essenciais, incluindo a distribuição Anaconda Python , que agrupa convenientemente muitas dependências necessárias para o YOLOv5.
Passo 2: Preparar a VM para o YOLOv5
Depois de configurar o ambiente, vamos instalar e 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 processo de configuração garante que tem um ambiente Python versão 3.8.0 ou mais recente e PyTorch 1.8 ou mais recente. Os nossos scripts descarregam automaticamente modelos e conjuntos de dados daversão mais recente YOLOv5 , simplificando o processo de início do treino de modelos.
Passo 3: Treinar e implementar os seus modelos YOLOv5
Com a configuração concluída, está pronto para treinar, validar, prever e exportar com o YOLOv5 na 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
Utilizando apenas alguns comandos, YOLOv5 permite-lhe treinar modelos personalizados de deteção de objectos adaptados às suas necessidades específicas ou utilizar pesos pré-treinados para obter resultados rápidos em várias tarefas. Explore diferentes opções de implementação de modelos após a exportação.
Atribuir espaço de troca (opcional)
Se estiver a trabalhar com conjuntos de dados particularmente grandes que possam exceder a RAM da sua VM, considere adicionar espaço de troca 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 conjuntos de dados personalizados
Para treinar YOLOv5 no seu conjunto de dados personalizado no GCP, siga estes passos gerais:
- Prepare o seu conjunto de dados de acordo com o formato YOLOv5 (imagens e ficheiros de etiquetas correspondentes). Consulte a nossa visão geral dos conjuntos de dados para obter orientação.
- Carregue o seu conjunto de dados para a sua VM GCP utilizando
gcloud compute scp
ou a funcionalidade SSH da consola Web. - Criar um ficheiro YAML de configuração do conjunto de dados (
custom_dataset.yaml
) que especifica os caminhos para os dados de treinamento e validação, o número de classes e os nomes das classes. - Inicie o processo de treino utilizando o seu conjunto de dados personalizado YAML 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 completas sobre a preparação de dados e a formação com conjuntos de dados personalizados, consulte a documentação do Ultralytics YOLOv5 Train.
Tirar partido do armazenamento na nuvem
Para uma gestão de dados eficiente, especialmente com grandes conjuntos de dados ou numerosas experiências, integre o seu fluxo de trabalho YOLOv5 no 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-lhe armazenar grandes conjuntos de dados e modelos treinados de forma segura e económica na nuvem, minimizando os requisitos de armazenamento na sua instância VM.
Reflexões finais
Parabéns! Está agora equipado para aproveitar as capacidades do Ultralytics YOLOv5 combinadas com o poder computacional do Google Cloud Platform. Esta configuração proporciona escalabilidade, eficiência e versatilidade para os seus projectos de deteção de objectos. Quer seja para exploração pessoal, investigação académica ou criação de soluções industriais, deu um passo significativo no mundo da IA e do ML na nuvem.
Considere usar o Ultralytics HUB para ter 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 as discussões do GitHub para colaboração e suporte. Agora, vá em frente e inove com o YOLOv5 e o GCP!
Pretende continuar a melhorar as suas competências de ML? Mergulhe na nossa documentação e explore o BlogueUltralytics para obter mais tutoriais e informações. Deixe sua aventura de IA continuar!