Otimizando inferências do YOLO26 com o motor DeepSparse da Neural Magic#
Ao implantar modelos de object detection como o Ultralytics YOLO26 em vários hardwares, podes deparar-te com problemas únicos, como a otimização. É aqui que entra a integração do YOLO26 com o DeepSparse Engine da Neural Magic. Ele transforma a forma como os modelos YOLO26 são executados e permite um desempenho ao nível de GPU diretamente em CPUs.
Este guia mostra-te como implementar o YOLO26 usando o DeepSparse da Neural Magic, como executar inferências e também como realizar benchmarks de desempenho para garantir que ele esteja 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 informações adicionais, consulta o aviso publicado no Readme do repositório GitHub sparsify.
DeepSparse da Neural Magic#
DeepSparse da Neural Magic é um tempo de execução de inferência concebido para otimizar a execução de redes neuronais em CPUs. Aplica técnicas avançadas como esparsidade, poda (pruning) e quantização para reduzir drasticamente as exigências computacionais, mantendo a precisão. O DeepSparse oferece uma solução ágil para a execução eficiente e escalável de neural network em vários dispositivos.
Benefícios de integrar o DeepSparse da Neural Magic com o YOLO26#
Antes de mergulhar em como implementar o YOLO26 usando o DeepSparse, vamos entender os benefícios de usar o DeepSparse. Algumas vantagens principais incluem:
- Velocidade de inferência aprimorada: Alcança até 525 FPS (no YOLO11n), acelerando significativamente as capacidades de inferência do YOLO em comparação com métodos tradicionais.
- Eficiência de Modelo Otimizada: Utiliza poda e quantização para melhorar a eficiência do YOLO26, reduzindo o tamanho do modelo e os requisitos computacionais, mantendo ao mesmo tempo a accuracy.
-
Alto desempenho em CPUs padrão: Oferece um desempenho semelhante ao de uma GPU em CPUs, proporcionando uma opção mais acessível e econômica para diversas aplicações.
-
Integração e implementação simplificadas: Oferece ferramentas fáceis de usar para uma integração simples do YOLO26 em aplicações, incluindo recursos de anotação de imagem e vídeo.
-
Suporte para diversos tipos de modelos: Compatível com modelos YOLO26 padrão e otimizados por esparsidade, adicionando flexibilidade à implementação.
-
Solução econômica e escalável: Reduz despesas operacionais e oferece uma implementaçã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 é inspirada na eficiência do cérebro humano na computação de redes neurais. Ela adota dois princípios fundamentais do cérebro conforme abaixo:
-
Esparsidade: O processo de esparsificação envolve a poda de informações redundantes em redes de deep learning, resultando em modelos mais pequenos e rápidos sem comprometer a precisão. Esta técnica reduz significativamente o tamanho da rede e as necessidades computacionais.
-
Localidade de referência: O DeepSparse utiliza um método de execução único, dividindo a rede em Colunas de Tensores (Tensor Columns). Estas colunas são executadas em profundidade, cabendo inteiramente dentro do cache da CPU. Esta abordagem imita a eficiência do cérebro, minimizando o movimento de dados e maximizando o uso do cache da CPU.
Criando uma versão esparsa do YOLO26 treinada em um conjunto de dados personalizado#
SparseZoo, um repositório de modelos open-source da Neural Magic, oferece uma coleção de pontos de controlo de modelos YOLO26 pré-esparsificados. Com o SparseML, integrado de forma fluida com o Ultralytics, podes afinar (fine-tune) sem esforço estes pontos de controlo esparsos nos teus conjuntos de dados específicos utilizando uma interface de linha de comandos simples.
Consulta a documentação do SparseML YOLO26 da Neural Magic para mais detalhes.
Uso: Implementando o YOLO26 usando o DeepSparse#
A implantação do YOLO26 com o DeepSparse da Neural Magic envolve alguns passos simples. Antes de mergulhares nas instruções de utilização, certifica-te de que consultas a gama de modelos YOLO26 oferecidos 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 instalar os pacotes necessários, execute:
# Install the required packages
pip install deepsparse[yolov8]Passo 2: Exportando 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 seguinte comando para exportar modelos YOLO26:
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Este comando guardará o modelo yolo26n.onnx no teu disco.
Passo 3: Implementando e executando inferências#
Com o teu modelo YOLO26 no formato ONNX, podes implementar e executar inferências usando o DeepSparse. Isto pode ser feito facilmente com a sua API Python intuitiva:
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: Benchmarking de desempenho#
É importante verificar se o teu modelo YOLO26 está a ter um desempenho ótimo no DeepSparse. Podes fazer um benchmark do desempenho do teu modelo para analisar o débito (throughput) e a latência:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Passo 5: Recursos adicionais#
O DeepSparse fornece recursos adicionais para a integração prática do YOLO26 em aplicações, como anotação de imagem e 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"Executar o comando annotate processa a imagem especificada, detectando objetos e salvando 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 detecção do modelo.
Após executar o comando de avaliação, receberás métricas de saída detalhadas, tais como precision, recall e mAP (precisão média). Isto fornece uma visão abrangente do desempenho do teu modelo no conjunto de dados e é particularmente útil para o ajuste fino e otimização dos teus modelos YOLO26 para casos de uso específicos, garantindo alta precisão e eficiência.
Resumo#
Este guia explorou a integração do YOLO26 da Ultralytics com o motor DeepSparse da Neural Magic. Destacou como esta integração melhora o desempenho do YOLO26 em plataformas de CPU, oferecendo eficiência de nível de GPU e técnicas avançadas de esparsidade de redes neurais.
Para informações mais detalhadas e uso avançado, visita a documentação do DeepSparse da Neural Magic. Podes também explorar o guia de integração do YOLO26 e ver uma sessão de demonstração no YouTube.
Além disso, para uma compreensão mais ampla de várias integrações do YOLO26, visita a página do guia de integração do Ultralytics, onde podes descobrir uma gama de outras possibilidades de integração empolgantes.
FAQ#
O DeepSparse Engine da Neural Magic é um motor 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 o DeepSparse com o YOLO26, podes alcançar um desempenho semelhante ao de uma GPU em CPUs standard, 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.
Instalar os 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]Uma vez instalado, segue os passos fornecidos na secção de Instalação para configurar o teu ambiente e começar a usar o DeepSparse com o YOLO26.
Para converter modelos YOLO26 para o formato ONNX, que é necessário para a compatibilidade com o DeepSparse, podes usar o seguinte comando CLI:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Este comando irá 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 de Exportação de Modelos.Fazer o benchmark do desempenho do YOLO26 no DeepSparse ajuda-te a analisar a taxa de transferência e a latência para garantir que o teu modelo esteja otimizado. Podes usar o seguinte comando CLI para executar um benchmark:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Este comando fornecer-te-á métricas de desempenho vitais. Para mais detalhes, consulta a secção Benchmarking Performance.
Integrar o DeepSparse da Neural Magic com o YOLO26 oferece diversos benefícios:
- Velocidade de inferência aprimorada: Alcança até 525 FPS (no YOLO11n), demonstrando as capacidades de otimização do DeepSparse.
- Eficiência do modelo otimizada: Usa 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 padrão: Oferece desempenho semelhante ao de uma GPU em hardware de CPU econômico.
- Integração simplificada: Ferramentas fáceis de usar para implementação e integração simples.
- Flexibilidade: Suporta modelos YOLO26 padrão e otimizados por esparsidade.
- Econômico: Reduz despesas operacionais através do uso eficiente de recursos.
Para uma análise mais profunda destas vantagens, visita a secção Benefícios de Integrar o DeepSparse da Neural Magic com o YOLO26.