Otimizar inferências do YOLO26 com o DeepSparse Engine da Neural Magic#
Ao implementar modelos de deteção de objetos, como o Ultralytics YOLO26, em diferentes hardwares, podes deparar-te com desafios específicos, como a otimização. É aqui que entra a integração do YOLO26 com o DeepSparse Engine da Neural Magic. Esta integração transforma a forma como os modelos YOLO26 são executados e permite obter diretamente em CPUs um desempenho ao nível de GPU.
Este guia mostra-te como implementar o YOLO26 usando o DeepSparse da Neural Magic, como executar inferências e também como avaliar o desempenho para garantir que está otimizado.
A Neural Magic foi adquirida pela Red Hat em janeiro de 2025 e está a descontinuar as versões comunitárias das suas bibliotecas deepsparse, sparseml, sparsezoo e sparsify. Para obteres informações adicionais, consulta o aviso publicado no Readme do repositório sparsify no GitHub.
DeepSparse da Neural Magic#
O DeepSparse da Neural Magic é um runtime de inferência concebido para otimizar a execução de redes neuronais em CPUs. Aplica técnicas avançadas, como esparsidade, poda e quantização, para reduzir significativamente as exigências computacionais, mantendo a precisão. O DeepSparse oferece uma solução ágil para a execução eficiente e escalável de redes neuronais em vários dispositivos.
Vantagens de integrar o DeepSparse da Neural Magic com o YOLO26#
Antes de explicarmos como implementar o YOLO26 usando o DeepSparse, vamos compreender as vantagens da utilização do DeepSparse. Algumas das principais vantagens incluem:
- Maior velocidade de inferência: atinge até 525 FPS (no YOLO11n), acelerando significativamente as capacidades de inferência do YOLO em comparação com os métodos tradicionais.
- Eficiência otimizada do modelo: utiliza poda e quantização para melhorar a eficiência do YOLO26, reduzindo o tamanho do modelo e os requisitos computacionais, mantendo a precisão.
-
Alto desempenho em CPUs comuns: oferece um desempenho semelhante ao de GPU em CPUs, proporcionando uma opção mais acessível e económica para várias aplicações.
-
Integração e implementação simplificadas: oferece ferramentas fáceis de utilizar para integrar facilmente o YOLO26 em aplicações, incluindo funcionalidades de anotação de imagens e vídeos.
-
Suporte para vários tipos de modelos: é compatível tanto com modelos YOLO26 padrão como com modelos YOLO26 otimizados para esparsidade, proporcionando flexibilidade na implementação.
-
Solução económica e escalável: reduz as despesas operacionais e permite a implementação escalável de modelos avançados de deteção de objetos.
Como funciona a tecnologia DeepSparse da Neural Magic?#
A tecnologia DeepSparse da Neural Magic inspira-se na eficiência do cérebro humano no processamento de redes neuronais. Adota os dois princípios fundamentais seguintes do cérebro:
-
Esparsidade: o processo de esparsificação envolve a remoção, por poda, de informações redundantes de redes de aprendizagem profunda, resultando em modelos menores e mais rápidos sem comprometer a precisão. Esta técnica reduz significativamente o tamanho e as necessidades computacionais da rede.
-
Localidade de referência: o DeepSparse utiliza um método de execução exclusivo, dividindo a rede em colunas Tensor. Estas colunas são executadas em profundidade, cabendo inteiramente na cache da CPU. Esta abordagem imita a eficiência do cérebro, minimizando a movimentação de dados e maximizando a utilização da cache da CPU.
Criar uma versão esparsa do YOLO26 treinada num conjunto de dados personalizado#
O SparseZoo, um repositório de modelos de código aberto da Neural Magic, disponibiliza uma coleção de checkpoints de modelos YOLO26 previamente esparsificados. Com o SparseML, integrado de forma simples com a Ultralytics, os utilizadores podem ajustar estes checkpoints esparsos nos seus conjuntos de dados específicos através de uma interface de linha de comandos simples.
Consulta a documentação do SparseML YOLO26 da Neural Magic para obteres mais detalhes.
Utilização: implementar o YOLO26 usando o DeepSparse#
A implementação do YOLO26 com o DeepSparse da Neural Magic envolve alguns passos simples. Antes de consultares as instruções de utilização, não te esqueças de verificar o conjunto de modelos YOLO26 disponibilizados pela Ultralytics. Isto ajudar-te-á a escolher o modelo mais adequado aos requisitos do teu projeto. Eis como podes começar.
Passo 1: Instalação#
Para instalares os pacotes necessários, executa:
# Install the required packages
pip install deepsparse[yolov8]Passo 2: Exportar o YOLO26 para o formato ONNX#
O DeepSparse Engine requer modelos YOLO26 no formato ONNX. Exportar o teu modelo para este formato é essencial para a compatibilidade com o DeepSparse. Usa o comando seguinte para exportar modelos YOLO26:
# Export YOLO26 model to ONNX format
yolo detect export model=yolo26n.pt format=onnx opset=13Este comando guardará o modelo yolo26n.onnx no teu disco.
Passo 3: Implementar e executar inferências#
Com o teu modelo YOLO26 no formato ONNX, podes implementá-lo e executar inferências usando o DeepSparse. Isto pode ser feito facilmente com a sua API intuitiva em Python:
from deepsparse import Pipeline
# Specify the path to your YOLO26 ONNX model
model_path = "path/to/yolo26n.onnx"
# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)Passo 4: Avaliar o desempenho#
É importante verificar se o teu modelo YOLO26 está a funcionar de forma ideal no DeepSparse. Podes avaliar o desempenho do teu modelo para analisar o débito e a latência:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Passo 5: Funcionalidades adicionais#
O DeepSparse disponibiliza funcionalidades adicionais para a integração prática do YOLO26 em aplicações, como a anotação de imagens e a avaliação de conjuntos de dados.
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo26n.onnx"
# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo26n.onnx"A execução do comando annotate processa a imagem especificada, deteta objetos e guarda a imagem anotada com caixas delimitadoras e classificações. A imagem anotada será armazenada numa pasta annotation-results. Isto ajuda a fornecer uma representação visual das capacidades de deteção do modelo.
Depois de executares o comando eval, receberás métricas de saída detalhadas, como precisão, revocação e mAP (Precisão média). Isto proporciona uma visão abrangente do desempenho do teu modelo no conjunto de dados e é particularmente útil para ajustar e otimizar os teus modelos YOLO26 para casos de utilização específicos, garantindo elevada precisão e eficiência.
Resumo#
Este guia explorou a integração do YOLO26 da Ultralytics com o DeepSparse Engine da Neural Magic. Destacou como esta integração melhora o desempenho do YOLO26 em plataformas com CPU, oferecendo eficiência ao nível de GPU e técnicas avançadas de esparsidade de redes neuronais.
Para mais informações detalhadas e uso avançado, visita o repositório DeepSparse da Neural Magic. Também podes explorar o guia de integração do YOLO26 e assistir a uma sessão de demonstração no YouTube.
Além disso, para obteres uma compreensão mais ampla das várias integrações do YOLO26, visita a página do guia de integrações da Ultralytics, onde podes descobrir várias outras possibilidades interessantes de integração.
Perguntas frequentes#
O DeepSparse Engine da Neural Magic é um runtime de inferência concebido para otimizar a execução de redes neuronais em CPUs através de técnicas avançadas, como esparsidade, poda e quantização. Ao integrares o DeepSparse com o YOLO26, podes obter um desempenho semelhante ao de GPU em CPUs comuns, melhorando significativamente a velocidade de inferência, a eficiência do modelo e o desempenho geral, mantendo a precisão. Para obteres mais detalhes, consulta a secção sobre o DeepSparse da Neural Magic.
A instalação dos pacotes necessários para implementar o YOLO26 com o DeepSparse da Neural Magic é simples. Podes instalá-los facilmente usando a CLI. Eis o comando que precisas de executar:
pip install deepsparse[yolov8]Depois de instalares os pacotes, segue os passos indicados na secção Instalação para configurares o teu ambiente e começares a usar o DeepSparse com o YOLO26.
Para converter modelos YOLO26 para o formato ONNX, necessário para a compatibilidade com o DeepSparse, podes usar o seguinte comando da CLI:
yolo detect export model=yolo26n.pt format=onnx opset=13Este comando exportará o teu modelo YOLO26 (
yolo26n.pt) para um formato (yolo26n.onnx) que pode ser utilizado pelo DeepSparse Engine. Podes encontrar mais informações sobre a exportação de modelos na secção Exportação do modelo.Avaliar o desempenho do YOLO26 no DeepSparse ajuda-te a analisar o débito e a latência para garantir que o teu modelo está otimizado. Podes usar o seguinte comando da CLI para executar uma avaliação:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Este comando fornecer-te-á métricas essenciais de desempenho. Para obteres mais detalhes, consulta a secção Avaliar o desempenho.
A integração do DeepSparse da Neural Magic com o YOLO26 oferece várias vantagens:
- Maior velocidade de inferência: atinge até 525 FPS (no YOLO11n), demonstrando as capacidades de otimização do DeepSparse.
- Eficiência otimizada do modelo: utiliza técnicas de esparsidade, poda e quantização para reduzir o tamanho do modelo e as necessidades computacionais, mantendo a precisão.
- Alto desempenho em CPUs comuns: oferece um desempenho semelhante ao de GPU em hardware de CPU económico.
- Integração simplificada: ferramentas fáceis de utilizar para uma implementação e integração simples.
- Flexibilidade: suporta modelos YOLO26 padrão e modelos YOLO26 otimizados para esparsidade.
- Económico: reduz as despesas operacionais através da utilização eficiente dos recursos.
Para explorares estas vantagens em maior profundidade, visita a secção Vantagens de integrar o DeepSparse da Neural Magic com o YOLO26.