Ultralytics YOLOv5 🚀 em Instância de Deep Learning da AWS: Seu Guia Completo#
Configurar um ambiente de deep learning de alto desempenho pode parecer intimidador, especialmente para iniciantes. Mas não temas! 🛠️ Este guia fornece um passo a passo para colocar o Ultralytics YOLOv5 em funcionamento em uma instância do AWS Deep Learning. Ao aproveitar o poder da Amazon Web Services (AWS), até mesmo os novatos em machine learning (ML) podem começar de forma rápida e econômica. A escalabilidade da plataforma AWS a torna ideal tanto para experimentação quanto para implantação em produção.
Outras opções de início rápido para o YOLOv5 incluem o nosso Google Colab Notebook , ambientes do Kaggle
, GCP Deep Learning VM e nossa imagem Docker pré-construída disponível no Docker Hub
.
Passo 1: Login no Console AWS#
Começa criando uma conta ou iniciando sessão no AWS Management Console. Assim que entrares, navega até ao painel do serviço EC2, onde podes gerir os teus servidores virtuais (instâncias).

Passo 2: Inicie Sua Instância#
No painel do EC2, clique no botão Launch Instance. Isso iniciará o processo de criação de um novo servidor virtual adaptado às suas necessidades.

Selecionando a Amazon Machine Image (AMI) Correta#
A escolha da AMI correta é crucial. Isto determina o sistema operativo e o software pré-instalado para a tua instância. Na barra de pesquisa, escreve 'Deep Learning' e seleciona a AMI do 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, utilizado pelo YOLOv5) e com os drivers de GPU necessários, agilizando significativamente o processo de configuração.

Escolhendo um Tipo de Instância#
Para tarefas exigentes, como treinar modelos de deep learning, selecionar um tipo de instância com aceleração por GPU é altamente recomendado. As GPUs podem reduzir drasticamente o tempo necessário para o treinamento de modelos em comparação com CPUs. Ao escolher um tamanho de instância, certifica-te de que a 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 oferece, precisarás escolher um tipo de instância maior para evitar problemas de desempenho ou erros.
Explora os tipos de instâncias de GPU disponíveis na página de tipos de instâncias do EC2, particularmente na categoria Accelerated Computing.

Para informações detalhadas sobre a monitorização e otimização da utilização de GPU, consulta o guia da AWS sobre monitorização e otimização de GPU. Compara custos utilizando preços On-Demand e explora potenciais poupanças com preços de instâncias Spot.
Configurando Sua Instância#
Considera usar Instâncias Spot do Amazon EC2 para uma abordagem mais econômica. As Instâncias Spot permitem que lances ofertas por capacidade ociosa do EC2, muitas vezes com um desconto significativo em relação aos preços Sob Demanda. Para tarefas que exigem persistência (salvar dados mesmo que a Instância Spot seja interrompida), escolhe uma solicitação persistente. Isso garante que o teu volume de armazenamento persista.

Prossegue pelos Passos 4-7 do assistente de inicialização da instância para configurar o armazenamento, adicionar tags, definir grupos de segurança (certifica-te de que a porta SSH 22 esteja aberta para o teu IP) e revisar as tuas configurações antes de clicar em Launch. Também precisarás criar ou selecionar um par de chaves existente para acesso SSH seguro.
Passo 3: Conectar-se à Sua 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. Utiliza 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. Vais precisar do ficheiro de chave privada (.pem) que criaste ou selecionaste durante o lançamento.

Passo 4: Executando 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 utilizando pip. É recomendado utilizar um ambiente Python 3.8 ou posterior. Os modelos e conjuntos de dados necessários serão descarregados automaticamente a partir da release mais recente 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 do Ultralytics para obteres guias detalhados sobre Treino, Validação, Predição (Inferência) e Exportação.
Extras Opcionais: Aumentando a Memória Swap#
Se estiveres trabalhando com conjuntos de dados muito grandes ou encontrares limitações de memória durante o treinamento, aumentar a memória swap na tua instância pode ajudar. O espaço de 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 -hParabéns! 🎉 Configuraste com sucesso uma instância do AWS Deep Learning, instalaste o Ultralytics YOLOv5 e estás pronto para realizar tarefas de deteção de objetos. Esteja a experimentar modelos pré-treinados ou a treinar com os seus próprios dados, esta poderosa configuração fornece uma base escalável para os seus projetos de computer vision. Caso encontre algum problema, consulte a extensa documentação da AWS e os recursos úteis da comunidade Ultralytics, como as FAQ. Boa deteção!