Link to this sectionUltralytics YOLOv5 🚀 em Instância de Deep Learning da AWS: Seu Guia Completo#
Configurar um ambiente de deep learning de alto desempenho pode parecer assustador, 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 de Deep Learning da AWS. Ao aproveitar 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 a torna ideal tanto para experimentação quanto para deployment em produção.
Outras opções de início rápido para o YOLOv5 incluem nosso Google Colab Notebook , ambientes Kaggle
, GCP Deep Learning VM e nossa imagem Docker pré-construída disponível no Docker Hub
.
Link to this sectionPasso 1: Login no Console AWS#
Comece criando uma conta ou acessando o AWS Management Console. Após o login, navegue até o painel do serviço EC2, onde você pode gerenciar seus servidores virtuais (instâncias).

Link to this sectionPasso 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.

Link to this sectionSelecionando 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 versão mais recente da Deep Learning AMI baseada em Ubuntu (a menos que tenhas requisitos específicos para um SO diferente). As Deep Learning AMIs da Amazon vêm pré-configuradas com frameworks de deep learning populares (como o PyTorch, usado pelo YOLOv5) e drivers de GPU necessários, simplificando significativamente o processo de configuração.

Link to this sectionEscolhendo 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ância GPU disponíveis na página de Tipos de Instância do EC2, particularmente na categoria Accelerated Computing.

Para informações detalhadas sobre como monitorar e otimizar o uso da GPU, consulta o guia da AWS sobre Monitoramento e Otimização de GPU. Compara custos usando o Preço Sob Demanda (On-Demand) e explora possíveis economias com o Preço de Instâncias Spot.
Link to this sectionConfigurando 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.
Link to this sectionPasso 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 visualizar as opções de conexã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 conexão segura. Precisarás do arquivo de chave privada (.pem) que criaste ou selecionaste durante a inicialização.

Link to this sectionPasso 4: Executando o Ultralytics YOLOv5#
Agora que estás conectado via SSH, podes configurar e executar o YOLOv5. Primeiro, clona o repositório oficial do YOLOv5 no GitHub e entra no diretório. Em seguida, 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 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 640Consulta a documentação da Ultralytics para guias detalhados sobre Treinamento, Validação, Predição (Inferência) e Exportação.
Link to this sectionExtras 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 de Deep Learning da AWS, instalaste o Ultralytics YOLOv5 e estás pronto para realizar tarefas de detecção de objetos. Esteja você experimentando modelos pré-treinados ou treinando 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. Boa detecção!