Ultralytics YOLOv5 🚀 no Início Rápido do AzureML

Bem-vindo ao guia de início rápido do Ultralytics YOLOv5 para o Microsoft Azure Machine Learning (AzureML)! Este guia vai te orientar na configuração do YOLOv5 em uma instância de computação do AzureML, cobrindo desde a criação de um ambiente virtual até o treinamento e a execução de inferência com o modelo.

O que é o Azure?

Azure é a plataforma abrangente de computação em nuvem da Microsoft. Ela oferece uma vasta gama de serviços, incluindo poder computacional, bancos de dados, ferramentas de análise, recursos de machine learning e soluções de rede. O Azure permite que as organizações criem, implantem e gerenciem aplicativos e serviços por meio de data centers gerenciados pela Microsoft, facilitando a migração de cargas de trabalho da infraestrutura local para a nuvem.

O que é o Azure Machine Learning (AzureML)?

Azure Machine Learning (AzureML) é um serviço de nuvem especializado projetado para desenvolver, treinar e implantar modelos de machine learning. Ele oferece um ambiente colaborativo com ferramentas adequadas para cientistas de dados e desenvolvedores de todos os níveis de habilidade. Os principais recursos incluem automated machine learning (AutoML), uma interface de arrastar e soltar para criação de modelos e um poderoso SDK de Python para um controle mais granular sobre o ciclo de vida de ML. O AzureML simplifica o processo de incorporar modelagem preditiva em aplicativos.

Pré-requisitos

Para seguir este guia, você precisará de uma assinatura do Azure ativa e acesso a um workspace do AzureML. Se você não tem um workspace configurado, consulte a documentação oficial do Azure para criar um.

Criar uma Instância de Computação

Uma instância de computação no AzureML oferece uma estação de trabalho gerenciada baseada em nuvem para cientistas de dados.

  1. Navegue até o seu workspace do AzureML.
  2. No painel esquerdo, selecione Compute.
  3. Vá para a guia Compute instances e clique em New.
  4. Configure sua instância selecionando os recursos de CPU ou GPU apropriados com base em suas necessidades de treinamento ou inferência.
Azure ML create compute instance interface

Abrir um Terminal

Assim que sua instância de computação estiver em execução, você pode acessar o terminal dela diretamente do AzureML studio.

  1. Vá para a seção Notebooks no painel esquerdo.
  2. Encontre sua instância de computação no menu suspenso superior.
  3. Clique na opção Terminal abaixo do navegador de arquivos para abrir uma interface de linha de comando para sua instância.

Localização do botão abrir terminal no Azure ML

Configurar e Executar o YOLOv5

Agora, vamos configurar o ambiente e executar o Ultralytics YOLOv5.

Criar um Ambiente Virtual

It's best practice to use a virtual environment to manage dependencies. We'll use Conda, which is pre-installed on AzureML compute instances. For a detailed Conda setup guide, see the Ultralytics Conda Quickstart Guide.

Crie um ambiente Conda (por exemplo, yolov5env) com uma versão específica do Python e ative-o:

conda create --name yolov5env -y python=3.10 # Create a new Conda environment
conda activate yolov5env                     # Activate the environment
conda install pip -y                         # Ensure pip is installed

Clonar o Repositório YOLOv5

Clone o repositório oficial do Ultralytics YOLOv5 do GitHub usando Git:

git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5                                       # Navigate into the directory
# Initialize submodules (if any, though YOLOv5 typically doesn't require this step)
# git submodule update --init --recursive

Instalar Dependências

Instale os pacotes Python necessários listados no arquivo requirements.txt. Também instalamos ONNX para recursos de exportação de modelo.

pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0"      # Install ONNX for exporting

Realizar Tarefas do YOLOv5

Com a configuração concluída, você agora pode treinar, validar, realizar inferência e exportar seu modelo YOLOv5.

  • Treine o modelo em um conjunto de dados como o COCO128. Confira a documentação do Modo de Treinamento para mais detalhes.

    # Start training using yolov5s pretrained weights on the COCO128 dataset
    python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 10 --batch 16
  • Valide o desempenho do modelo treinado usando métricas como Precisão, Recall e mAP. Veja o guia do Modo de Validação para opções.

    # Validate the yolov5s model on the COCO128 validation set
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640
  • Execute a Inferência em novas imagens ou vídeos. Explore a documentação do Modo de Predição para várias fontes de inferência.

    # Run inference with yolov5s on sample images
    python detect.py --weights yolov5s.pt --source data/images --img 640
  • Exporte o modelo para diferentes formatos como ONNX, TensorRT ou CoreML para implantação. Consulte o guia do Modo de Exportação e a página de Integração ONNX.

    # Export yolov5s to ONNX format
    python export.py --weights yolov5s.pt --include onnx --img 640

Usando um Notebook

Se você prefere uma experiência interativa, pode executar esses comandos dentro de um Notebook do AzureML. Você precisará criar um IPython kernel personalizado vinculado ao seu ambiente Conda.

Criar um Novo IPython Kernel

Execute os comandos a seguir no terminal da sua instância de computação:

# Ensure your Conda environment is active
# conda activate yolov5env

# Install ipykernel if not already present
conda install ipykernel -y

# Create a new kernel linked to your environment
python -m ipykernel install --user --name yolov5env --display-name "Python (yolov5env)"

Após criar o kernel, atualize o seu navegador. Quando você abrir ou criar um arquivo de notebook .ipynb, selecione seu novo kernel ("Python (yolov5env)") no menu suspenso de kernel no canto superior direito.

Executando Comandos em Células de Notebook

  • Células Python: O código em células Python será executado automaticamente usando o kernel yolov5env selecionado.

  • Células Bash: Para executar comandos de shell, use o comando mágico %%bash no início da célula. Lembre-se de ativar seu ambiente Conda dentro de cada célula bash, pois elas não herdam automaticamente o contexto do ambiente do kernel do notebook.

    %%bash
    source activate yolov5env # Activate environment within the cell
    
    # Example: Run validation using the activated environment
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640

Parabéns! Você configurou e executou com sucesso o Ultralytics YOLOv5 no AzureML. Para uma exploração mais aprofundada, considere conferir outras Integrações Ultralytics ou a documentação detalhada do YOLOv5. Você também pode achar a documentação do AzureML útil para cenários avançados como treinamento distribuído ou implantação de modelo como um endpoint.

Comentários