Otimizando Inferências YOLO11 com o DeepSparse Engine da Neural Magic
Ao implementar modelos de detecção de objetos como o Ultralytics YOLO11 em vários hardwares, você pode se deparar com problemas exclusivos, como a otimização. É aqui que entra a integração do YOLO11 com o DeepSparse Engine da Neural Magic. Ele transforma a forma como os modelos YOLO11 são executados e permite o desempenho em nível de GPU diretamente nas CPUs.
Este guia mostra como implantar o YOLO11 usando o DeepSparse da Neural Magic, como executar inferências e também como avaliar o desempenho para garantir que ele seja otimizado.
Fim da vida útil do SparseML
Neural Magic foi adquirida pela Red Hat em janeiro de 2025, e está descontinuando as versões da comunidade de seus deepsparse
, sparseml
, sparsezoo
, e sparsify
bibliotecas. Para informações adicionais, consulte o aviso publicado no Readme no sparseml
Repositório GitHub.
DeepSparse da Neural Magic
O DeepSparse da Neural Magic é um ambiente de tempo de execução de inferência projetado para otimizar a execução de redes neurais em CPUs. Ele aplica técnicas avançadas como esparsidade, pruning e quantização para reduzir drasticamente as demandas computacionais, mantendo a precisão. O DeepSparse oferece uma solução ágil para a execução eficiente e escalável de redes neurais em vários dispositivos.
Benefícios da Integração do DeepSparse da Neural Magic com o YOLO11
Antes de mergulhar em como implantar o YOLO11 usando DeepSparse, vamos entender os benefícios de usar o DeepSparse. Algumas vantagens principais incluem:
- Velocidade de Inferência Aprimorada: Atinge até 525 FPS (no YOLO11n), acelerando significativamente os recursos de inferência do YOLO11 em comparação com os métodos tradicionais.
- Eficiência Otimizada do Modelo: Utiliza pruning e quantização para melhorar a eficiência do YOLO11, reduzindo o tamanho do modelo e os requisitos computacionais, mantendo a precisão.
-
Alto Desempenho em CPUs Padrão: Oferece 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 Implantação Simplificadas: Oferece ferramentas fáceis de usar para fácil integração do YOLO11 em aplicações, incluindo recursos de anotação de imagem e vídeo.
-
Suporte para Vários Tipos de Modelo: Compatível com modelos YOLO11 padrão e otimizados para esparsidade, adicionando flexibilidade de implantação.
-
Solução Escalável e Económica: Reduz as despesas operacionais e oferece uma implementação escalável de modelos avançados de deteção de objetos.
Como funciona a tecnologia DeepSparse da Neural Magic?
A tecnologia Deep Sparse da Neural Magic é inspirada na eficiência do cérebro humano na computação de redes neurais. Adota dois princípios chave do cérebro, como se segue:
-
Sparsity (Dispersão): O processo de sparsification (dispersão) envolve a remoção de informações redundantes de redes de aprendizado profundo, levando a modelos menores e mais rápidos sem comprometer a precisão. Essa técnica reduz significativamente o tamanho da rede e as necessidades computacionais.
-
Localidade de Referência: DeepSparse usa um método de execução exclusivo, dividindo a rede em Colunas Tensor. Essas colunas são executadas em profundidade, cabendo inteiramente no cache da CPU. Essa 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 YOLO11 Treinado em um Conjunto de Dados Personalizado
SparseZoo, um repositório de modelos de código aberto da Neural Magic, oferece uma coleção de checkpoints de modelos YOLO11 pré-otimizados. Com o SparseML, perfeitamente integrado ao Ultralytics, os usuários podem ajustar facilmente esses checkpoints otimizados em seus conjuntos de dados específicos usando uma interface de linha de comando simples.
Confira a documentação SparseML YOLO11 da Neural Magic para obter mais detalhes.
Uso: Implantando YOLO11 usando DeepSparse
A implementação do YOLO11 com o DeepSparse da Neural Magic envolve alguns passos simples. Antes de mergulhar nas instruções de utilização, certifique-se de verificar a gama de modelos YOLO11 oferecidos pela Ultralytics. Isto irá ajudá-lo a escolher o modelo mais adequado para os requisitos do seu projeto. Veja como pode começar.
Passo 1: Instalação
Para instalar os pacotes necessários, execute:
Instalação
# Install the required packages
pip install deepsparse[yolov8]
Passo 2: Exportando YOLO11 para o formato ONNX
O DeepSparse Engine requer modelos YOLO11 no formato ONNX. Exportar seu modelo para este formato é essencial para a compatibilidade com o DeepSparse. Use o seguinte comando para exportar modelos YOLO11:
Exportação de Modelo
# Export YOLO11 model to ONNX format
yolo task=detect mode=export model=yolo11n.pt format=onnx opset=13
Este comando irá salvar o yolo11n.onnx
modelo para o seu disco.
Passo 3: Implantação e execução de inferências
Com seu modelo YOLO11 no formato ONNX, você pode implantar e executar inferências usando o DeepSparse. Isso pode ser feito facilmente com sua API Python intuitiva:
Implantação e Execução de Inferências
from deepsparse import Pipeline
# Specify the path to your YOLO11 ONNX model
model_path = "path/to/yolo11n.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: Avaliação de Desempenho
É importante verificar se o seu modelo YOLO11 está funcionando de forma ideal no DeepSparse. Você pode realizar um benchmark do desempenho do seu modelo para analisar a taxa de transferência e a latência:
Benchmarking
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo11n.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 YOLO11 em aplicações, como anotação de imagem e avaliação de conjuntos de dados.
Funcionalidades Adicionais
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo11n.onnx"
# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo11n.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 em uma pasta annotation-results. Isso ajuda a fornecer uma representação visual dos recursos de detecção do modelo.
Após executar o comando eval, você receberá métricas de saída detalhadas, como precisão, recall e mAP (precisão média média). Isso fornece uma visão abrangente do desempenho do seu modelo no conjunto de dados. Essa funcionalidade é particularmente útil para ajustar e otimizar seus modelos YOLO11 para casos de uso específicos, garantindo alta precisão e eficiência.
Resumo
Este guia explorou a integração do YOLO11 da Ultralytics com o DeepSparse Engine da Neural Magic. Ele destacou como essa integração aprimora o desempenho do YOLO11 em plataformas de CPU, oferecendo eficiência em nível de GPU e técnicas avançadas de esparsidade de rede neural.
Para informações mais detalhadas e uso avançado, visite a documentação DeepSparse da Neural Magic. Você também pode explorar o guia de integração do YOLO11 e assistir a uma sessão de demonstração no YouTube.
Adicionalmente, para uma compreensão mais ampla das várias integrações do YOLO11, visite a página do guia de integração da Ultralytics, onde você pode descobrir uma variedade de outras possibilidades de integração interessantes.
FAQ
O que é o DeepSparse Engine da Neural Magic e como ele otimiza o desempenho do YOLO11?
O DeepSparse Engine da Neural Magic é um tempo de execução de inferência projetado para otimizar a execução de redes neurais em CPUs através de técnicas avançadas como esparsidade, pruning e quantização. Ao integrar o DeepSparse com o YOLO11, pode alcançar um desempenho semelhante ao da GPU em CPUs padrão, melhorando significativamente a velocidade de inferência, a eficiência do modelo e o desempenho geral, mantendo a precisão. Para mais detalhes, consulte a seção DeepSparse da Neural Magic.
Como posso instalar os pacotes necessários para implantar o YOLO11 usando o DeepSparse da Neural Magic?
A instalação dos pacotes necessários para implementar o YOLO11 com DeepSparse da Neural Magic é simples. Você pode instalá-los facilmente usando a CLI. Aqui está o comando que você precisa executar:
pip install deepsparse[yolov8]
Após a instalação, siga os passos fornecidos na seção de Instalação para configurar seu ambiente e começar a usar o DeepSparse com YOLO11.
Como converto modelos YOLO11 para o formato ONNX para usar com o DeepSparse?
Para converter modelos YOLO11 para o formato ONNX, que é necessário para a compatibilidade com DeepSparse, você pode usar o seguinte comando CLI:
yolo task=detect mode=export model=yolo11n.pt format=onnx opset=13
Este comando irá exportar seu modelo YOLO11 (yolo11n.pt
) para um formato (yolo11n.onnx
) que pode ser utilizado pelo DeepSparse Engine. Mais informações sobre a exportação de modelos podem ser encontradas no Seção de Exportação de Modelo.
Como avalio o desempenho do YOLO11 no DeepSparse Engine?
Realizar benchmarking do desempenho do YOLO11 no DeepSparse ajuda você a analisar a taxa de transferência e a latência para garantir que seu modelo esteja otimizado. Você pode usar o seguinte comando da CLI para executar um benchmark:
deepsparse.benchmark model_path="path/to/yolo11n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"
Este comando fornecerá métricas de desempenho vitais. Para mais detalhes, consulte a seção de Avaliação de Desempenho.
Por que devo usar o DeepSparse da Neural Magic com o YOLO11 para tarefas de detecção de objetos?
Integrar o DeepSparse da Neural Magic com o YOLO11 oferece vários benefícios:
- Velocidade de Inferência Aprimorada: Atinge até 525 FPS, acelerando significativamente os recursos do YOLO11.
- Eficiência Otimizada do Modelo: Utiliza técnicas de esparsidade, pruning 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 GPUs em hardware de CPU econômico.
- Integração Simplificada: Ferramentas fáceis de usar para fácil implantação e integração.
- Flexibilidade: Suporta modelos YOLO11 padrão e otimizados para esparsidade.
- Económico: Reduz as despesas operacionais através da utilização eficiente de recursos.
Para um mergulho mais profundo nessas vantagens, visite a seção Benefícios da Integração do DeepSparse da Neural Magic com YOLO11.