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.
Início rápido a partir do terminal
Liga o teu computador e abre um Terminal:
Cria o virtualenv
Cria o teu virtualenv conda e instala o pip nele:
Instala as dependências necessárias:
Executa as tarefas de YOLOv8
Prevê:
Treina um modelo de deteção para 10 épocas com uma taxa de aprendizagem inicial de 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.
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:
-
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.
-
Configura o ambiente: Inicia a tua instância de computação, abre um terminal e cria um ambiente conda:
-
Executa YOLOv8 Tasks: Utiliza o Ultralytics CLI para treinar o teu modelo:
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.
-
Python Interface: Útil para tarefas mais complexas que requerem codificação personalizada e integração nos blocos de notas.
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.