Otimizando inferências YOLO26 com o mecanismo DeepSparse da Neural Magic#
Ao implantar modelos de detecção de objetos, como o Ultralytics YOLO26, em diferentes hardwares, você pode encontrar desafios específicos de otimização. É aí que entra a integração do YOLO26 com o mecanismo DeepSparse da Neural Magic. Ela transforma a maneira como os modelos YOLO26 são executados e permite alcançar diretamente em CPUs um desempenho semelhante ao de GPUs.
Este guia mostra como implantar YOLO26 com DeepSparse da Neural Magic, executar inferências e avaliar o desempenho para garantir que ele esteja otimizado.
A Neural Magic foi adquirida pela Red Hat em janeiro de 2025 e está descontinuando as versões comunitárias das bibliotecas deepsparse, sparseml, sparsezoo e sparsify. Para obter mais informações, consulte 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 projetado para otimizar a execução de redes neurais em CPUs. Ele aplica técnicas avançadas, como esparsidade, poda e quantização, para reduzir significativamente as demandas computacionais sem comprometer a precisão. O DeepSparse oferece uma solução ágil para a execução eficiente e escalável de redes neurais em diversos dispositivos.
Vantagens da integração do DeepSparse da Neural Magic com YOLO26#
Antes de explicar como implantar YOLO26 usando DeepSparse, vamos entender as vantagens dessa ferramenta. Entre os principais benefícios estão:
- Maior velocidade de inferência: alcança até 525 FPS (com YOLOv8n), acelerando significativamente a capacidade de inferência do YOLO em comparação com os métodos tradicionais.
- Eficiência otimizada do modelo: usa poda e quantização para aumentar a eficiência do YOLO26, reduzindo o tamanho do modelo e os requisitos computacionais sem comprometer a precisão.
-
Alto desempenho em CPUs padrão: oferece desempenho semelhante ao de GPUs em CPUs, proporcionando uma opção mais acessível e econômica para diversas aplicações.
-
Integração e implantação simplificadas: oferece ferramentas intuitivas para integrar facilmente YOLO26 a aplicativos, incluindo recursos de anotação de imagens e vídeos.
-
Suporte a vários tipos de modelos: compatível com modelos YOLO padrão e otimizados para esparsidade, oferecendo mais flexibilidade de implantação.
-
Solução econômica e escalável: reduz os custos operacionais e permite a implantação escalável de modelos avançados de detecção de objetos.
Como funciona a tecnologia DeepSparse da Neural Magic?#
A tecnologia DeepSparse da Neural Magic se inspira na eficiência do cérebro humano ao realizar cálculos em redes neurais. Ela adota dois princípios fundamentais do cérebro:
-
Esparsidade: o processo de esparsificação elimina informações redundantes de redes de deep learning, gerando modelos menores e mais rápidos sem comprometer a precisão. Essa técnica reduz significativamente o tamanho da rede e suas necessidades computacionais.
-
Localidade de referência: o DeepSparse usa um método de execução exclusivo, dividindo a rede em colunas de tensores. Essas colunas são executadas em profundidade e cabem inteiramente no cache da CPU. Essa abordagem imita a eficiência do cérebro, minimizando a movimentação de dados e maximizando o uso do cache da CPU.
Criar uma versão esparsa do YOLO26 treinada em um conjunto de dados personalizado#
O SparseZoo, um repositório de modelos de código aberto da Neural Magic, oferece uma coleção de checkpoints YOLOv8 pré-esparsificados. Com o SparseML, integrado perfeitamente à Ultralytics, os usuários podem ajustar esses checkpoints esparsos em seus conjuntos de dados específicos com facilidade, usando uma interface de linha de comando simples.
Confira a documentação do SparseML YOLOv8 da Neural Magic para obter mais detalhes.
Uso: implantar YOLO26 com DeepSparse#
A implantação do YOLO26 com o DeepSparse da Neural Magic envolve algumas etapas simples. Antes de começar a seguir as instruções de uso, confira a variedade de modelos YOLO26 oferecidos pela Ultralytics. Isso ajudará você a escolher o modelo mais adequado aos requisitos do seu projeto. Veja como começar.
Etapa 1: instalação#
Para instalar os pacotes necessários, executa:
# Install the required packages
pip install deepsparse[yolov8]Etapa 2: exportar YOLO26 para o formato ONNX#
O mecanismo DeepSparse requer modelos YOLO26 no formato ONNX. Exportar seu modelo para esse formato é essencial para garantir a compatibilidade com o DeepSparse. Use o seguinte comando para exportar modelos YOLO26:
# Export YOLO26 model to ONNX format
yolo detect export model=yolo26n.pt format=onnx opset=13Esse comando salvará o modelo yolo26n.onnx no seu disco.
Etapa 3: Implantação e execução de inferências#
Com o teu modelo YOLO26 no formato ONNX, podes implantá-lo e executar inferências usando DeepSparse. Isso pode ser feito facilmente com a API Python intuitiva da ferramenta:
from deepsparse import Pipeline
# Especifica o caminho para o teu modelo YOLO26 ONNX
model_path = "path/to/yolo26n.onnx"
# Configura o Pipeline DeepSparse
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Executa o modelo nas tuas imagens
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)Etapa 4: Avaliação de desempenho#
É importante verificar se o teu modelo YOLO26 está a funcionar de forma ideal no DeepSparse. Podes avaliar o desempenho do modelo para analisar o throughput e a latência:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Etapa 5: Funcionalidades adicionais#
O DeepSparse oferece funcionalidades adicionais para integrar YOLO26 em aplicações práticas, 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 executar o comando eval, receberás métricas detalhadas, como precisão, revocação e mAP (precisão média). Isto oferece 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 uso 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 CPU, oferecendo eficiência ao nível de GPU e técnicas avançadas de esparsidade de redes neuronais.
Para obter informações mais detalhadas e conhecer funcionalidades avançadas, visita o repositório DeepSparse da Neural Magic. Também podes explorar o guia de integração do YOLOv8 e ver uma sessão explicativa no YouTube.
Além disso, para compreender melhor as várias integrações do YOLO26, visita a página do guia de integração 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 integrar DeepSparse com YOLO26, podes alcançar um desempenho semelhante ao de GPU em CPUs convencionais, melhorando significativamente a velocidade de inferência, a eficiência do modelo e o desempenho geral, mantendo a precisão. Para mais detalhes, consulta a secção DeepSparse da Neural Magic.
A instalação dos pacotes necessários para implantar YOLO26 com o DeepSparse da Neural Magic é simples. Podes instalá-los facilmente usando a CLI. Este é o comando que tens de executar:
pip install deepsparse[yolov8]Depois de instalar, segue os passos indicados na secção de instalação para configurar o teu ambiente e começar a usar DeepSparse com YOLO26.
Para converter modelos YOLO26 para o formato ONNX, necessário para serem compatíveis com 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 de modelos.Avaliar o desempenho do YOLO26 no DeepSparse ajuda-te a analisar o throughput e a latência para garantir que o modelo está otimizado. Podes usar o seguinte comando da CLI para executar uma avaliação de desempenho:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Este comando fornecerá métricas de desempenho essenciais. Para mais detalhes, consulta a secção Avaliação de desempenho.
Integrar o DeepSparse da Neural Magic com YOLO26 oferece várias vantagens:
- Maior velocidade de inferência: alcança até 525 FPS (com YOLOv8n), demonstrando os recursos 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 convencionais: oferece desempenho semelhante ao de GPU em hardware CPU económico.
- Integração simplificada: ferramentas fáceis de usar para uma implantação e integração simples.
- Flexibilidade: suporta modelos YOLO convencionais e otimizados para esparsidade.
- Económico: reduz os custos operacionais através da utilização eficiente dos recursos.
Para uma análise mais aprofundada destas vantagens, visita a secção sobre as vantagens de integrar o DeepSparse da Neural Magic com YOLO26.