Ultralytics YOLO27:
Get Started

Ultralytics YOLOv5 🚀 no AzureML: guia de início rápido#

Bem-vindo ao guia de início rápido de YOLOv5 da Ultralytics para Microsoft Azure Machine Learning (AzureML)! Este guia explica como configurar YOLOv5 numa instância de computação do AzureML, desde a criação de um ambiente virtual até ao treino e à execução de inferências com o modelo.

O que é o Azure?#

Azure é a abrangente plataforma de computação em nuvem da Microsoft. Oferece uma vasta gama de serviços, incluindo capacidade de computação, bases de dados, ferramentas de análise, funcionalidades de aprendizagem automática e soluções de rede. O Azure permite que as organizações criem, implementem e gerem aplicações e serviços através dos centros de dados geridos 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 especializado na nuvem concebido para desenvolver, treinar e implementar modelos de aprendizagem automática. Proporciona um ambiente colaborativo com ferramentas adequadas a cientistas de dados e programadores de todos os níveis de experiência. As principais funcionalidades incluem aprendizagem automática automatizada (AutoML), uma interface de arrastar e largar para criar modelos e um poderoso SDK de Python para um controlo mais detalhado do ciclo de vida de ML. O AzureML simplifica a integração da modelação preditiva nas aplicações.

Pré-requisitos#

Para seguir este guia, precisas de uma subscrição do Azure ativa e de acesso a uma área de trabalho do AzureML. Se ainda não tiveres uma área de trabalho configurada, consulta a documentação oficial do Azure para criares uma.

Criar uma instância de computação#

Uma instância de computação no AzureML fornece uma estação de trabalho gerida na nuvem para cientistas de dados.

  1. Acede à tua área de trabalho do AzureML.
  2. No painel à esquerda, seleciona Compute.
  3. Acede ao separador Compute instances e clica em New.
  4. Configura a instância selecionando os recursos de CPU ou GPU adequados às tuas necessidades de treino ou inferência.
Azure ML create compute instance interface

Abre um terminal#

Quando a instância de computação estiver em execução, podes aceder diretamente ao respetivo terminal a partir do AzureML Studio.

  1. Acede à secção Notebooks no painel à esquerda.
  2. Encontra a tua instância de computação no menu pendente na parte superior.
  3. Clica na opção Terminal abaixo do explorador de ficheiros para abrir uma interface de linha de comandos para a tua instância.

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

Configurar e executar YOLOv5#

Agora, vamos configurar o ambiente e executar Ultralytics YOLOv5.

1. Criar um ambiente virtual#

É uma boa prática usar um ambiente virtual para gerir as dependências. Vamos usar o Conda, que vem pré-instalado nas instâncias de computação do AzureML. Para obteres instruções detalhadas de configuração do Conda, consulta o Guia de início rápido do Conda da Ultralytics.

Cria um ambiente Conda (por exemplo, yolov5env) com uma versão específica do Python e ativa-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

2. Clonar o repositório YOLOv5#

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

git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5                                       # Navigate into the directory

3. Instalar as dependências#

Instala os pacotes Python necessários listados no ficheiro requirements.txt. Também instalamos ONNX para permitir a exportação de modelos.

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

4. Executar tarefas com YOLOv5#

Com a configuração concluída, já podes treinar, validar, executar inferências e exportar o teu modelo YOLOv5.

  • Treina o modelo com um conjunto de dados como COCO128. Consulta o tutorial Treinar com dados personalizados para mais informações.

    # 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
  • Valida o desempenho do modelo treinado usando métricas como Precisão, Revocação e mAP. Executa python val.py --help para ver todas as opções.

    # Validate the yolov5s model on the COCO128 validation set
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640
  • Executa inferências em novas imagens ou vídeos. Consulta o Guia de início rápido do YOLOv5 para veres as fontes de inferência compatíveis.

    # Run inference with yolov5s on sample images
    python detect.py --weights yolov5s.pt --source data/images --img 640
  • Exporta o modelo para diferentes formatos, como ONNX, TensorRT ou CoreML, para o implementar. Consulta o tutorial Exportação de modelos e a página Integração com ONNX.

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

Usar um Notebook#

Se preferires uma experiência interativa, podes executar estes comandos num Notebook do AzureML. Terás de criar um kernel IPython personalizado associado ao teu ambiente Conda.

Criar um novo kernel IPython#

Executa os seguintes comandos no terminal da 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)"

Depois de criares o kernel, atualiza o navegador. Quando abrires ou criares um ficheiro de Notebook .ipynb, seleciona o novo kernel ("Python (yolov5env)") no menu pendente de kernels, no canto superior direito.

Executar comandos em células do Notebook#

  • Células Python: o código nas células Python é executado automaticamente com o kernel yolov5env selecionado.

  • Células Bash: para executar comandos da shell, usa o comando mágico %%bash no início da célula. Não te esqueças de ativar o teu ambiente Conda em cada célula Bash, uma vez que as células 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! Configuraste e executaste Ultralytics YOLOv5 no AzureML com sucesso. Para continuares a explorar, consulta outras integrações da Ultralytics ou a documentação detalhada do YOLOv5. A documentação do AzureML também pode ser útil em cenários avançados, como o treino distribuído ou a implementação de modelos como ponto final.

Perguntas frequentes#

  • Uma instância de CPU é suficiente para inferências e testes curtos com COCO128, mas o treino propriamente dito requer uma VM com GPU. Seleciona uma máquina virtual com GPU ao criares a instância de computação e confirma que o PyTorch a deteta com python -c "import torch; print(torch.cuda.is_available())".

  • As células Bash não herdam o ambiente do kernel do Notebook. Inicia cada célula %%bash com source activate yolov5env ou executa células Python com o kernel Python (yolov5env) que criaste.

  • Os ficheiros na partilha de ficheiros da área de trabalho montada em ~/cloudfiles são preservados entre paragens e ficam visíveis noutras instâncias de computação. Tudo o que estiver noutro local do disco da instância é mantido enquanto a instância existir, mas perde-se se a instancia for eliminada.

  • Sim. pip install ultralytics permite treinar e validar YOLO26, bem como exportá-lo, com a CLI yolo no mesmo ambiente Conda. Consulta o Guia de início rápido do AzureML para veres o tutorial com o pacote.

Comentários