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=coco8.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="coco8.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.


Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (4), ouphi (1)

Coment√°rios