Ultralytics YOLOv5 🚀 em Instância de Deep Learning da AWS: Seu Guia Completo
Configurar um ambiente de alto desempenho deep learning pode parecer intimidador, especialmente para iniciantes. Mas não temas! 🛠️ Este guia fornece um passo a passo para deixar o Ultralytics YOLOv5 em funcionamento em uma instância de Deep Learning da AWS. Ao aproveitar o poder da Amazon Web Services (AWS), até mesmo aqueles que são novos 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 produção os nossos guias sobre projetos práticos.
Outras opções de início rápido para YOLOv5 incluem nosso Google Colab Notebook , ambientes Kaggle
, GCP Deep Learning VM, e nossa imagem Docker pré-construída disponível em Docker Hub
.
Passo 1: Login no Console da AWS
Comece criando uma conta ou fazendo login no AWS Management Console. Depois de logado, navegue até o painel do serviço EC2, onde podes gerenciar seus servidores virtuais (instâncias).

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

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

Escolhendo um Tipo de Instância
Para tarefas exigentes, como o treinamento de modelos de deep learning, selecionar um tipo de instância acelerada por GPU é altamente recomendado. GPUs podem reduzir drasticamente o tempo necessário para o treinamento de modelos em comparação com CPUs. Ao escolher o tamanho da instância, certifique-se de que sua capacidade de memória (RAM) seja suficiente para seu modelo e dataset.
Nota: O tamanho do seu modelo e dataset são fatores críticos. Se sua tarefa de ML exigir mais memória do que a instância selecionada oferece, precisas escolher um tipo de instância maior para evitar problemas de desempenho ou erros.
Explore os tipos de instância GPU disponíveis na EC2 Instance Types page, particularmente na categoria Accelerated Computing.

Para informações detalhadas sobre como monitorar e otimizar o uso da GPU, consulte o guia da AWS sobre GPU Monitoring and Optimization. Compare os custos usando On-Demand Pricing e explore potenciais economias com Spot Instance Pricing.
Configurando Sua Instância
Considere usar Spot Instances do Amazon EC2 para uma abordagem mais econômica. As Spot Instances permitem que lances um preço pela capacidade ociosa do EC2, muitas vezes com um desconto significativo em relação aos preços On-Demand. Para tarefas que exigem persistência (salvar dados mesmo se a Spot Instance for interrompida), escolha uma persistent request. Isso garante que seu volume de armazenamento persista.

Prossiga pelos Passos 4-7 do assistente de lançamento da instância para configurar o armazenamento, adicionar tags, configurar grupos de segurança (garanta que a porta SSH 22 esteja aberta a partir do seu IP) e revisar suas 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: Conecte-se à Sua Instância
Assim que o estado da sua instância aparecer como 'running', selecione-a no painel do EC2. Clique no botão Connect para ver as opções de conexão. Use o exemplo de comando SSH fornecido no seu terminal local (como o Terminal no macOS/Linux ou PuTTY/WSL no Windows) para estabelecer uma conexão segura. Precisarás do arquivo de chave privada (.pem) que criaste ou selecionaste durante o lançamento..pem.pem

Passo 4: Executando o Ultralytics YOLOv5
Agora que estás conectado via SSH, podes configurar e executar o YOLOv5. Primeiro, clone o repositório oficial do YOLOv5 do GitHubGitHubpip e navegue até o diretório. Em seguida, instale as dependências necessárias usando Pythonpiprelease. É recomendado usar um ambiente Python 3.8 ou superior. Os modelos e datasets necessários serão baixados automaticamente da versão mais recente do YOLOv5 quando executares comandos como treinamento ou detecçã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 640Consulte a documentação da Ultralytics para guias detalhados sobre Treinamento, Validação, Prediction (Inference), e Exporting.
Extras Opcionais: Aumentando a Memória Swap
Se estiveres trabalhando com datasets muito grandes ou encontrares limitações de memória durante o treinamento, aumentar a memória swap na sua 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 -hParabéns! 🎉 Conseguiste configurar com sucesso uma instância de Deep Learning da AWS, instalaste o Ultralytics YOLOv5 e estás pronto para realizar object detection tarefas. Esteja a experimentar com modelos pré-treinados ou training treinamentocomputer vision em seus próprios dados, esta configuração poderosa fornece uma base escalável para seus projetos. Caso encontres algum problema, consulte a extensa AWS documentationFAQ e os úteis recursos da comunidade Ultralytics como o