Salta para o conteúdo

YOLOv8 🚀 no AzureML

O que é o Azure?

O Azure é a plataforma de computação em nuvem da Microsoft, projetada para ajudar as organizações a mover suas cargas de trabalho para a nuvem a partir de centros de dados locais. Com todo o espetro de serviços de nuvem, incluindo os de computação, bases de dados, análise, aprendizagem automática e rede, os utilizadores podem escolher entre estes serviços para desenvolver e dimensionar novas aplicações, ou executar aplicações existentes, na nuvem pública.

O que é a Aprendizagem Automática do Azure (AzureML)?

O Azure Machine Learning, normalmente designado por AzureML, é um serviço de cloud totalmente gerido que permite aos cientistas de dados e aos programadores incorporar eficientemente a análise preditiva nas suas aplicações, ajudando as organizações a utilizar conjuntos de dados maciços e a trazer todos os benefícios da cloud para o machine learning. O AzureML oferece uma variedade de serviços e capacidades destinadas a tornar a aprendizagem automática acessível, fácil de utilizar e escalável. Fornece capacidades como a aprendizagem automática, a formação de modelos de arrastar e largar, bem como um SDK Python robusto para que os programadores possam tirar o máximo partido dos seus modelos de aprendizagem automática.

Como é que o AzureML beneficia os utilizadores do YOLO ?

Para os utilizadores do YOLO (You Only Look Once), o AzureML fornece uma plataforma robusta, escalável e eficiente para treinar e implementar modelos de aprendizagem automática. Quer pretenda executar protótipos rápidos ou aumentar a escala para lidar com dados mais extensos, o ambiente flexível e fácil de utilizar do AzureML oferece várias ferramentas e serviços para satisfazer as suas necessidades. Pode tirar partido do AzureML para:

  • Gere facilmente grandes conjuntos de dados e recursos computacionais para formação.
  • Utiliza ferramentas incorporadas para pré-processamento de dados, seleção de características e formação de modelos.
  • Colabora de forma mais eficiente com capacidades para MLOps (Operações de Aprendizagem Automática), incluindo, mas não se limitando a, monitorização, auditoria e controlo de versões de modelos e dados.

Nas secções seguintes, encontrará um guia de início rápido que descreve como executar modelos de deteção de objectos YOLOv8 utilizando o AzureML, a partir de um terminal de computação ou de um bloco de notas.

Pré-requisitos

Antes de começar, certifica-te de que tens acesso a um espaço de trabalho AzureML. Se não tiveres um, podes criar um novo espaço de trabalho AzureML seguindo a documentação oficial do Azure. Este espaço de trabalho funciona como um local centralizado para gerir todos os recursos do AzureML.

Cria uma instância de computação

No teu espaço de trabalho AzureML, selecciona Computação > Instâncias de computação > Novo, selecciona a instância com os recursos de que precisas.

Cria uma Instância de Computação do Azure

Início rápido a partir do terminal

Liga o teu computador e abre um Terminal:

Terminal aberto

Cria o virtualenv

Cria o teu virtualenv conda e instala o pip nele:

conda create --name yolov8env -y
conda activate yolov8env
conda install pip -y

Instala as dependências necessárias:

cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

Executa as tarefas de YOLOv8

Prevê:

yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

Treina um modelo de deteção para 10 épocas com uma taxa de aprendizagem inicial de 0,01:

yolo train data=coco128.yaml model=yolov8n.pt epochs=10 lr0=0.01

Podes encontrar mais instruções para utilizar o Ultralytics CLI aqui.

Início rápido a partir de um bloco de notas

Cria um novo kernel IPython

Abre o Terminal de computação.

Terminal aberto

A partir do teu terminal de computação, tens de criar um novo ipykernel que será utilizado pelo teu notebook para gerir as tuas dependências:

conda create --name yolov8env -y
conda activate yolov8env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolov8env --display-name "yolov8env"

Fecha o terminal e cria um novo bloco de notas. A partir do teu bloco de notas, podes selecionar o novo kernel.

Em seguida, podes abrir uma célula do Notebook e instalar as dependências necessárias:

%%bash
source activate yolov8env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

Nota que temos de utilizar o source activate yolov8env para todas as células %%bash, para te certificares de que a célula %%bash usa o ambiente que queremos.

Executa algumas previsões utilizando o Ultralytics CLI:

%%bash
source activate yolov8env
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

Ou com a interfaceUltralytics Python , por exemplo, para treinar o modelo:

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load an official YOLOv8n model

# Use the model
model.train(data="coco128.yaml", epochs=3)  # train the model
metrics = model.val()  # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image
path = model.export(format="onnx")  # export the model to ONNX format

Podes usar a interface Ultralytics CLI ou Python para executar tarefas YOLOv8 , como descrito na secção do terminal acima.

Ao seguir estes passos, deves conseguir pôr o YOLOv8 a funcionar rapidamente no AzureML para testes rápidos. Para utilizações mais avançadas, podes consultar a documentação completa do AzureML associada no início deste guia.

Explora mais com o AzureML

Este guia serve como uma introdução para que possas começar a trabalhar com YOLOv8 no AzureML. No entanto, apenas arranha a superfície do que o AzureML pode oferecer. Para aprofundar e desbloquear todo o potencial do AzureML para os seus projectos de aprendizagem automática, considera explorar os seguintes recursos:

  • Criar um Ativo de Dados: Aprende a configurar e a gerir eficazmente os teus activos de dados no ambiente AzureML.
  • Inicia um trabalho do AzureML: Obtém uma compreensão abrangente de como iniciar os teus trabalhos de formação de aprendizagem automática no AzureML.
  • Registar um modelo: Familiariza-te com as práticas de gestão de modelos, incluindo o registo, o controlo de versões e a implementação.
  • Treina YOLOv8 com o AzureML Python SDK: Explora um guia passo-a-passo sobre a utilização do AzureML Python SDK para treinar os teus modelos YOLOv8 .
  • Treina YOLOv8 com o AzureML CLI: Descobre como utilizar a interface de linha de comandos para formação e gestão simplificadas de modelos YOLOv8 no AzureML.


Criado em 2023-11-12, Atualizado em 2023-11-16
Autores: glenn-jocher (2), ouphi (1)

Comentários