YOLO Vision 2026:

Ultralytics YOLOv5 🚀 numa instância de Deep Learning da AWS: o teu guia completo#

Configurar um ambiente de aprendizagem profunda de alto desempenho pode parecer assustador, especialmente para quem está a começar. Mas não te preocupes! 🛠️ Este guia apresenta um passo a passo para colocar o Ultralytics YOLOv5 a funcionar numa instância de Deep Learning da AWS. Ao tirar partido do poder da Amazon Web Services (AWS), até quem é novo em aprendizagem automática (ML) pode começar rapidamente e com custos reduzidos. 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 YOLOv5 incluem o nosso Google Colab Notebook Open In Colab, ambientes Kaggle Open In Kaggle, GCP Deep Learning VM e a nossa imagem Docker pré-criada, disponível no Docker Hub Docker Pulls.

Passo 1: Iniciar sessão na consola da AWS#

Começa por criar uma conta ou iniciar sessão na AWS Management Console. Depois de iniciares sessão, acede ao painel do serviço EC2, onde podes gerir os teus servidores virtuais (instâncias).

Página de início de sessão da AWS Management Console

Passo 2: Iniciar a tua instância#

No 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.

Botão Launch Instance

Selecionar a imagem de máquina da Amazon (AMI) adequada#

Escolher a AMI correta é crucial. Ela 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 mais recente baseada em Ubuntu (a menos que tenhas requisitos específicos para outro sistema operativo). As AMIs de Deep Learning da Amazon vêm pré-configuradas com frameworks populares de aprendizagem profunda (como o PyTorch, usado pelo YOLOv5) e os controladores de GPU necessários, simplificando significativamente o processo de configuração.

Seleção da AMI de Deep Learning do AWS EC2

Escolher um tipo de instância#

Para tarefas exigentes, como treinar modelos de aprendizagem profunda, é altamente recomendável selecionar um tipo de instância acelerado por GPU. As GPU podem reduzir drasticamente o tempo necessário para treinar modelos em comparação com as CPU. Ao escolher o tamanho da instância, certifica-te de que a sua capacidade de memória (RAM) é suficiente para o teu modelo e conjunto de dados.

Nota: O tamanho do teu modelo e do conjunto de dados são fatores críticos. Se a tua tarefa de ML exigir mais memória do que a instância selecionada disponibiliza, terás de escolher um tipo de instância maior para evitar problemas de desempenho ou erros.

Explora os tipos de instância com GPU disponíveis na página EC2 Instance Types, especialmente na categoria Accelerated Computing.

Seleção do tipo de instância com GPU do AWS EC2

Para obter informações detalhadas sobre a monitorização e otimização do uso de GPU, consulta o guia da AWS sobre GPU Monitoring and Optimization. Compara os custos usando On-Demand Pricing e explora possíveis poupanças com Spot Instance Pricing.

Configurar a tua instância#

Considera usar as Amazon EC2 Spot Instances para uma abordagem mais económica. As Spot Instances permitem 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 Spot Instance seja interrompida), escolhe um persistent request. Isto garante que o teu volume de armazenamento persiste.

Configuração do Spot Request

Avança pelos passos 4-7 do assistente de início da instância para configurar o armazenamento, adicionar etiquetas, configurar grupos de segurança (certifica-te de 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#

Quando o estado da tua instância aparecer como 'running', seleciona-a no painel do EC2. Clica no botão Connect para veres 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 início da instância.

Opções de ligação SSH à instância do AWS EC2

Passo 4: Executar o Ultralytics YOLOv5#

Agora que estás ligado através de SSH, podes configurar e executar o YOLOv5. Primeiro, clona o repositório oficial do YOLOv5 a partir do GitHub e acede ao diretório. Em seguida, instala as dependências necessárias usando pip. Recomenda-se usar um ambiente Python 3.8 ou posterior. Os modelos e conjuntos de dados necessários serão descarregados automaticamente a partir da versão mais recente do YOLOv5 quando executares comandos de treino ou deteção.

# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5

# Install required packages
pip install -r requirements.txt

Com 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 640

Consulta a documentação da Ultralytics para obteres 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 da tua instância pode ajudar. O espaço swap permite que o sistema use 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 -h

Parabéns! 🎉 Configuraste com sucesso uma instância de Deep Learning da AWS, instalaste o Ultralytics YOLOv5 e estás pronto para realizar tarefas de deteção de objetos. Quer estejas a experimentar modelos pré-treinados ou a treinar com os teus próprios dados, esta configuração poderosa proporciona uma base escalável para os teus projetos de visão computacional. Se encontrares algum problema, consulta a extensa documentação da AWS e os recursos úteis da comunidade Ultralytics, como as FAQ. Boas deteções!

Comentários