Ultralytics YOLOv5 🚀 na AWS Deep Learning Instance: O Teu Guia Completo
Configurar um ambiente de deep learning de alto desempenho pode parecer assustador, especialmente para principiantes. Mas não temas! 🛠️ Este guia fornece um passo a passo para colocares o Ultralytics YOLOv5 a funcionar numa instância AWS Deep Learning. Ao aproveitares o poder da Amazon Web Services (AWS), até quem é novo em machine learning (ML) pode começar de forma rápida e económica. A escalabilidade da plataforma AWS torna-a ideal tanto para experimentação como para implementação em produção.
Outras opções de início rápido para o YOLOv5 incluem o nosso Google Colab Notebook , ambientes Kaggle
, GCP Deep Learning VM e a nossa imagem Docker pré-configurada disponível no Docker Hub
.
Passo 1: Início de Sessão na Consola AWS
Começa por criar uma conta ou iniciar sessão na AWS Management Console. Uma vez autenticado, navega até ao painel do serviço EC2, onde podes gerir os teus servidores virtuais (instâncias).

Passo 2: Lança a Tua Instância
A partir do painel do EC2, clica no botão Launch Instance. Isto inicia o processo de criação de um novo servidor virtual adaptado às tuas necessidades.

Selecionar a Amazon Machine Image (AMI) Correta
Escolher a AMI correta é crucial. Isto determina o sistema operativo e o software pré-instalado da tua instância. Na barra de pesquisa, escreve 'Deep Learning' e seleciona a AMI de Deep Learning baseada em Ubuntu mais recente (a menos que tenhas requisitos específicos para um SO diferente). As AMIs de Deep Learning da Amazon vêm pré-configuradas com frameworks de deep learning populares (como o PyTorch, usado pelo YOLOv5) e os drivers GPU necessários, simplificando significativamente o processo de configuração.

Escolher um Tipo de Instância
Para tarefas exigentes como o treino de modelos de deep learning, recomendamos vivamente a seleção de um tipo de instância com aceleração por GPU. As GPUs podem reduzir drasticamente o tempo necessário para o treino de modelos em comparação com CPUs. Ao escolheres o tamanho da instância, garante que a sua capacidade de memória (RAM) é suficiente para o teu modelo e conjunto de dados.
Nota: O tamanho do teu modelo e conjunto de dados são fatores críticos. Se a tua tarefa de ML exigir mais memória do que a instância selecionada fornece, terás de escolher um tipo de instância maior para evitar problemas de desempenho ou erros.
Explora os tipos de instância GPU disponíveis na página de Tipos de Instância EC2, particularmente na categoria Accelerated Computing.

Para informações detalhadas sobre a monitorização e otimização da utilização da GPU, consulta o guia da AWS sobre Monitorização e Otimização de GPU. Compara custos usando o Preço On-Demand e explora potenciais poupanças com o Preço de Instâncias Spot.
Configurar a Tua Instância
Considera usar Instâncias Spot do Amazon EC2 para uma abordagem mais económica. As Instâncias Spot permitem-te licitar capacidade EC2 não utilizada, frequentemente com um desconto significativo em comparação com os preços On-Demand. Para tarefas que exigem persistência (guardar dados mesmo que a Instância Spot seja interrompida), escolhe um pedido persistente. Isto garante que o teu volume de armazenamento persiste.

Prossegue pelos Passos 4-7 do assistente de lançamento de instâncias para configurar o armazenamento, adicionar etiquetas, configurar grupos de segurança (garante que a porta SSH 22 está aberta a partir do teu IP) e rever as tuas definições antes de clicares em Launch. Também terás de criar ou selecionar um par de chaves existente para acesso SSH seguro.
Passo 3: Ligar à Tua Instância
Assim que o estado da tua instância mostrar 'running', seleciona-a no painel do EC2. Clica no botão Connect para ver as opções de ligação. Usa o exemplo de comando SSH fornecido no teu terminal local (como o Terminal no macOS/Linux ou PuTTY/WSL no Windows) para estabelecer uma ligação segura. Precisarás do ficheiro de chave privada (.pem) que criaste ou selecionaste durante o lançamento.

Passo 4: Executar o Ultralytics YOLOv5
Agora que estás ligado via SSH, podes configurar e executar o YOLOv5. Primeiro, clona o repositório oficial do YOLOv5 a partir do GitHub e navega para o diretório. Depois, instala as dependências necessárias usando o pip. Recomendamos usar um ambiente Python 3.8 ou superior. Os modelos e conjuntos de dados necessários serão descarregados automaticamente a partir da última release do YOLOv5 quando executares comandos como treino ou deteção.
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install required packages
pip install -r requirements.txtCom o ambiente pronto, podes começar a usar o YOLOv5 para várias tarefas:
# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640
# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640
# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640
# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export/ for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640Consulta a documentação da Ultralytics para guias detalhados sobre Treino, Validação, Predição (Inferência) e Exportação.
Extras Opcionais: Aumentar a Memória Swap
Se estiveres a trabalhar com conjuntos de dados muito grandes ou encontrares limitações de memória durante o treino, aumentar a memória swap na tua instância pode, por vezes, ajudar. O espaço swap permite ao sistema usar espaço em disco como RAM virtual.
# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile
# Set correct permissions
sudo chmod 600 /swapfile
# Set up the file as a Linux swap area
sudo mkswap /swapfile
# Enable the swap file
sudo swapon /swapfile
# Verify the swap memory is active
free -hParabéns! 🎉 Configuraste com sucesso uma instância AWS Deep Learning, instalaste o Ultralytics YOLOv5 e estás pronto para realizar tarefas de deteção de objetos. Quer estejas a experimentar com modelos pré-treinados ou a treinar com os teus próprios dados, esta configuração poderosa fornece uma base escalável para os teus projetos de visão computacional. Caso encontres algum problema, consulta a extensa documentação da AWS e os recursos úteis da comunidade Ultralytics, como o FAQ. Boas deteções!