Salta para o conteúdo

YOLOv8 🚀 no AzureML

O que é o Azure?

O Azure é a plataforma de computação em nuvem do 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.

FAQ

Como é que executo YOLOv8 no AzureML para treino de modelos?

A execução do YOLOv8 no AzureML para formação de modelos envolve vários passos:

  1. Cria uma instância de computação: A partir do seu espaço de trabalho AzureML, navega para Computação > Instâncias de computação > Novo e selecciona a instância pretendida.

  2. Configura o ambiente: Inicia a tua instância de computação, abre um terminal e cria um ambiente conda:

    conda create --name yolov8env -y
    conda activate yolov8env
    conda install pip -y
    pip install ultralytics onnx>=1.12.0
    
  3. Executa YOLOv8 Tasks: Utiliza o Ultralytics CLI para treinar o teu modelo:

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

Para mais informações, podes consultar as instruções de utilização do Ultralytics CLI .

Quais são as vantagens de utilizar o AzureML para a formação YOLOv8 ?

O AzureML fornece um ecossistema robusto e eficiente para treinar modelos YOLOv8 :

  • Escalabilidade: Escala facilmente os teus recursos de computação à medida que os teus dados e a complexidade do modelo aumentam.
  • Integração de MLOps: Utiliza funcionalidades como o controlo de versões, a monitorização e a auditoria para simplificar as operações de ML.
  • Colaboração: Partilha e gere recursos dentro das equipas, melhorando os fluxos de trabalho colaborativos.

Estas vantagens fazem do AzureML uma plataforma ideal para projectos que vão desde protótipos rápidos a implementações em grande escala. Para mais dicas, consulta o AzureML Jobs.

Como é que resolvo problemas comuns ao executar YOLOv8 no AzureML?

A resolução de problemas comuns com YOLOv8 no AzureML pode envolver os seguintes passos:

  • Questões de dependência: Certifica-te de que todos os pacotes necessários estão instalados. Consulta a página requirements.txt para dependências.
  • Configuração do ambiente: Verifica se o teu ambiente conda está corretamente ativado antes de executares os comandos.
  • Atribuição de recursos: Certifica-te de que as tuas instâncias de computação têm recursos suficientes para lidar com a carga de trabalho de formação.

Para obteres orientações adicionais, consulta a nossa documentação YOLO Common Issues.

Posso utilizar as interfaces Ultralytics CLI e Python no AzureML?

Sim, o AzureML permite-te utilizar tanto a interface Ultralytics CLI como a Python sem problemas:

  • CLI: Ideal para tarefas rápidas e para executar scripts padrão diretamente a partir do terminal.

    yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
    
  • Python Interface: Útil para tarefas mais complexas que requerem codificação personalizada e integração nos blocos de notas.

    from ultralytics import YOLO
    
    model = YOLO("yolov8n.pt")
    model.train(data="coco8.yaml", epochs=3)
    

Consulta os guias de início rápido para obteres instruções mais detalhadas aqui e aqui.

Qual é a vantagem de utilizar Ultralytics YOLOv8 em relação a outros modelos de deteção de objectos?

Ultralytics YOLOv8 oferece várias vantagens únicas sobre os modelos de deteção de objectos concorrentes:

  • Velocidade: Tempos de inferência e treino mais rápidos em comparação com modelos como o Faster R-CNN e o SSD.
  • Precisão: Elevada precisão nas tarefas de deteção com características como a conceção sem âncoras e estratégias de aumento melhoradas.
  • Facilidade de utilização: API intuitiva e CLI para uma configuração rápida, tornando-o acessível tanto a principiantes como a especialistas.

Para saber mais sobre as funcionalidades do YOLOv8, visita a página Ultralytics YOLO para obteres informações detalhadas.



Criado em 2023-11-12, Atualizado em 2024-07-05
Autores: glenn-jocher (5), ouphi (1)

Comentários