Saltar para o conteúdo

Ultralytics YOLOv5 🚀 na instância de aprendizado profundo da AWS: Seu guia completo

Configurar um ambiente de aprendizagem profunda de alto desempenho pode parecer assustador, especialmente para os recém-chegados. Mas não se preocupe! 🛠️ Este guia fornece um passo-a-passo para obter o Ultralytics YOLOv5 em funcionamento em uma instância do AWS Deep Learning. Ao aproveitar o poder do Amazon Web Services (AWS), até mesmo os novatos em aprendizado de máquina (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 de produção.

Outras opções de início rápido para YOLOv5 incluem o nosso Bloco de notas Google Colab Abrir em Colab, Ambientes do Kaggle Abrir no Kaggle, VM de aprendizagem profunda do GCPe a nossa imagem Docker pré-construída disponível em Centro de Docker Docker Pulls.

Passo 1: Início de sessão na consola AWS

Comece por criar uma conta ou iniciar sessão na Consola de Gestão do AWS. Depois de iniciar sessão, navegue até ao painel de controlo do serviço EC2, onde pode gerir os seus servidores virtuais (instâncias).

Início de sessão da consola AWS

Passo 2: Iniciar a sua instância

No painel de controlo do EC2, clique no botão Iniciar Instância. Isto inicia o processo de criação de um novo servidor virtual adaptado às suas necessidades.

Botão Iniciar Instância

Selecionar a Imagem de Máquina Amazon (AMI) correta

A escolha da AMI correta é crucial. Isso determina o sistema operacional e o software pré-instalado para sua instância. Na barra de pesquisa, digite"Deep Learning" e selecione a AMI de Deep Learning mais recente baseada no Ubuntu (a menos que você tenha requisitos específicos para um sistema operacional diferente). As AMIs de Deep Learning da Amazon vêm pré-configuradas com frameworks populares de deep learning (como PyTorchusado pelo YOLOv5) e os driversGPU necessários, simplificando significativamente o processo de configuração.

Selecionar AMI

Seleção de um tipo de instância

Para tarefas exigentes, como o treinamento de modelos de aprendizado profundo, é altamente recomendável selecionar um tipo de instância GPU. As GPUs podem reduzir drasticamente o tempo necessário para o treinamento do modelo em comparação com as CPUs. Ao escolher um tamanho de instância, certifique-se de que a capacidade de memória (RAM) é suficiente para o modelo e o conjunto de dados.

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

Explore os tipos de instância de GPU disponíveis na página Tipos de Instância do EC2, especialmente na categoria Computação Acelerada.

Selecionar o tipo de instância

Para obter informações detalhadas sobre o monitoramento e a otimização do uso GPU , consulte o guia da AWS sobre monitoramento e otimizaçãoGPU . Compare os custos usando o preço On-Demand e explore possíveis economias com o preço de instância spot.

Configurar a sua instância

Considere utilizar as Instâncias Spot do Amazon EC2 para uma abordagem mais económica. As Instâncias Spot permitem-lhe licitar a capacidade EC2 não utilizada, muitas vezes com um desconto significativo em comparação com os preços On-Demand. Para tarefas que requerem persistência (guardar dados mesmo que a Instância Spot seja interrompida), escolha um pedido persistente. Isto garante que o seu volume de armazenamento persiste.

Configuração do pedido de ponto

Siga as etapas 4 a 7 do assistente de inicialização da instância para configurar o armazenamento, adicionar tags, configurar grupos de segurança (verifique se a porta 22 do SSH está aberta a partir do seu IP) e revise as configurações antes de clicar em Iniciar. Também será necessário criar ou selecionar um par de chaves existente para acesso SSH seguro.

Passo 3: Ligar à sua instância

Quando o estado da sua instância aparecer como "em execução", selecione-a no painel de controlo do EC2. Clique no botão Ligar para ver as opções de ligação. Utilize o exemplo de comando SSH fornecido no seu terminal local (como Terminal no macOS/Linux ou PuTTY/WSL no Windows) para estabelecer uma ligação segura. Você precisará do arquivo de chave privada (.pem) que criou ou selecionou durante o lançamento.

Ligar à instância

Passo 4: Executar Ultralytics YOLOv5

Agora que você está conectado via SSH, você pode configurar e executar YOLOv5. Primeiro, clone o repositório oficial do YOLOv5 a partir de GitHub e navegue até ao diretório. Em seguida, instale as dependências necessárias usando pip. Recomenda-se a utilização de um Python 3.8 ou posterior. Os modelos e conjuntos de dados necessários serão descarregados automaticamente a partir da versão mais recente YOLOv5 libertação quando executa 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.txt

Com o ambiente pronto, pode começar a utilizar 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

Consulte a documentação Ultralytics para obter guias detalhados sobre Formação, Validação, Previsão (Inferência) e Exportação.

Extras opcionais: Aumentar a memória swap

Se estiver a trabalhar com conjuntos de dados muito grandes ou se encontrar limitações de memória durante o treino, aumentar a memória swap na sua instância pode, por vezes, ajudar. O espaço de swap permite que o sistema use o 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! Você configurou com êxito uma instância do AWS Deep Learning, instalou Ultralytics YOLOv5 e está pronto para executar tarefas de deteção de objetos. Quer você esteja experimentando modelos pré-treinados ou treinando em seus próprios dados, essa configuração poderosa fornece uma base escalonável para seus projetos de visão computacional. Caso encontre algum problema, consulte a extensa documentação do AWS e os recursos úteis da comunidade Ultralytics , como o FAQ. Boa deteção!



📅C riado há 1 ano ✏️ Atualizado há 1 mês

Comentários