Otimizar YOLO11 Inferências com Neural Magic's DeepSparse Engine
Ao implementar modelos de deteção de objectos como o Ultralytics YOLO11 em vários hardwares, você pode se deparar com problemas únicos, como otimização. É aqui que entra a integração do YOLO11 com o DeepSparse Engine do Neural Magic. Transforma a forma como os modelos YOLO11 são executados e permite um desempenho de nível GPU diretamente em CPUs.
Este guia mostra como implantar o YOLO11 usando o DeepSparse do Neural Magic, como executar inferências e também como avaliar o desempenho para garantir que ele seja otimizado.
Neural Magic's DeepSparse
Neural MagicO DeepSparse da Microsoft é um 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, poda 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 de Neural Magic com YOLO11
Antes de mergulhar em como implantar YOLOV8 usando DeepSparse, vamos entender os benefícios de usar DeepSparse. Algumas das principais vantagens incluem:
- Velocidade de inferência melhorada: Atinge até 525 FPS (no YOLO11n), acelerando significativamente as capacidades de inferência do YOLO11 em comparação com os métodos tradicionais.
- Eficiência optimizada do modelo: Utiliza a poda e a 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 um desempenho semelhante ao do 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 uma fácil integração do YOLO11 em aplicações, incluindo funcionalidades de anotação de imagens e vídeos.
-
Suporte para vários tipos de modelos: Compatível com modelos YOLO11 padrão e otimizados para esparsidade, adicionando flexibilidade de implantação.
-
Solução económica e escalável: Reduz as despesas operacionais e oferece uma implementação escalável de modelos avançados de deteção de objectos.
Como é que a tecnologia DeepSparse da Neural Magic funciona?
Neural Magicé inspirada na eficiência do cérebro humano na computação de redes neurais. Adopta dois princípios-chave do cérebro, como se segue:
-
Esparsidade: O processo de esparsificação envolve a poda de informações redundantes das redes de aprendizagem profunda, conduzindo a modelos mais pequenos e mais 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 Tensor Columns. Essas colunas são executadas em profundidade, cabendo inteiramente no cache do CPU. Essa abordagem imita a eficiência do cérebro, minimizando a movimentação de dados e maximizando o uso do cache do CPU.
Para mais informações sobre o funcionamento da tecnologia DeepSparse do Neural Magic, consulte a publicação no blogue.
Criando uma versão esparsa de YOLO11 treinada em um conjunto de dados personalizado
O SparseZoo, um repositório de modelos de código aberto criado por Neural Magic, oferece uma coleção de pontos de controlo de modelos YOLO11 pré-esparsos. Com o SparseML, perfeitamente integrado em Ultralytics, os utilizadores podem afinar sem esforço estes pontos de controlo esparsos nos seus conjuntos de dados específicos, utilizando uma interface de linha de comandos simples.
Consulte a documentação SparseML YOLO11 deNeural Magic para obter mais detalhes.
Utilização: Implantação de YOLOV8 usando DeepSparse
A implementação do YOLO11 com o DeepSparse do Neural Magic envolve alguns passos simples. Antes de mergulhar nas instruções de uso, certifique-se de verificar a gama de modelosYOLO11 oferecidos por Ultralytics. Isso o ajudará a escolher o modelo mais apropriado para os requisitos do seu projeto. Eis como pode começar.
Passo 1: Instalação
Para instalar os pacotes necessários, execute:
Passo 2: Exportar YOLO11 para o formato ONNX
O DeepSparse Engine requer modelos YOLO11 no formato ONNX . Exportar seu modelo para esse formato é essencial para a compatibilidade com o DeepSparse. Use o seguinte comando para exportar YOLO11 modelos:
Modelo de exportação
Este comando guardará o yolo11n.onnx
para o seu disco.
Etapa 3: Implantação e execução de inferências
Com o seu modelo YOLO11 no formato ONNX , pode implementar e executar inferências utilizando o DeepSparse. Isso pode ser feito facilmente com seu intuitivo Python API:
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)
Etapa 4: Avaliação comparativa do desempenho
É importante verificar se o seu YOLO11 modelo tem um desempenho ideal no DeepSparse. Você pode comparar o desempenho do seu modelo para analisar a taxa de transferência e a latência:
Avaliação comparativa
Passo 5: Caraterísticas adicionais
O DeepSparse fornece funcionalidades adicionais para a integração prática de YOLO11 em aplicações, como a anotação de imagens e a avaliação de conjuntos de dados.
Caraterísticas adicionais
A execução do comando de anotação processa a imagem especificada, detectando objectos e guardando a imagem anotada com caixas delimitadoras e classificações. A imagem anotada será armazenada em uma pasta de resultados de anotação. Isto ajuda a fornecer uma representação visual das capacidades de deteção do modelo.
Depois de executar o comando eval, você receberá métricas de saída detalhadas, como precisão, recuperação e mAP (precisão média média). Isso fornece uma visão abrangente do desempenho do seu modelo no conjunto de dados. Esta funcionalidade é particularmente útil para afinar e otimizar os seus modelos YOLO11 para casos de utilização específicos, garantindo uma elevada precisão e eficiência.
Resumo
Este guia explorou a integração de Ultralytics' YOLO11 com Neural Magic's DeepSparse Engine. Destacou como esta integração melhora o desempenho de YOLO11 em plataformas CPU , oferecendo eficiência de nível GPU e técnicas avançadas de esparsidade de redes neurais.
Para informações mais detalhadas e utilização avançada, visite Neural Magic's DeepSparse documentation. Além disso, confira a documentação de Neural Magic sobre a integração com YOLO11 aqui e assista a uma ótima sessão sobre isso aqui.
Além disso, para uma compreensão mais alargada das várias integrações de YOLO11 , visite a página do guia de integração deUltralytics , onde pode descobrir uma série de outras possibilidades de integração interessantes.
FAQ
O que é o motor DeepSparse do Neural Magic e como é que optimiza o desempenho do YOLO11 ?
Neural MagicO DeepSparse Engine da Microsoft é um tempo de execução de inferência projetado para otimizar a execução de redes neurais em CPUs por meio de técnicas avançadas, como esparsidade, poda e quantização. Ao integrar o DeepSparse com YOLO11, é possível obter um desempenho semelhante ao de 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 secção DeepSparse deNeural Magic.
Como posso instalar os pacotes necessários para implantar o YOLO11 usando o DeepSparse do Neural Magic?
A instalação dos pacotes necessários para implantar o YOLO11 com o DeepSparse do Neural Magic é simples. Você pode instalá-los facilmente usando o CLI. Aqui está o comando que você precisa executar:
Depois de instalado, siga as etapas fornecidas na seção Instalação para configurar seu ambiente e começar a usar o DeepSparse com YOLO11.
Como faço para converter os modelos YOLO11 para o formato ONNX para uso com o DeepSparse?
Para converter os modelos YOLO11 para o formato ONNX , que é necessário para compatibilidade com DeepSparse, pode utilizar o seguinte comando CLI :
Este comando exportará o seu modelo YOLO11 (yolo11n.pt
) para um formato (yolo11n.onnx
) que podem ser utilizados pelo DeepSparse Engine. Mais informações sobre a exportação de modelos podem ser encontradas no Secção Exportação de modelos.
Como faço para avaliar o desempenho do YOLO11 no DeepSparse Engine?
Benchmarking YOLO11 desempenho no DeepSparse ajuda a analisar a taxa de transferência e a latência para garantir que seu modelo seja otimizado. Você pode usar o seguinte comando CLI para executar um benchmark:
deepsparse.benchmark model_path="path/to/yolo11n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"
Esse comando fornecerá métricas vitais de desempenho. Para obter mais detalhes, consulte a secção Desempenho de avaliação comparativa.
Por que razão devo utilizar o DeepSparse de Neural Magic com YOLO11 para tarefas de deteção de objectos?
A integração de Neural Magic's DeepSparse com YOLO11 oferece vários benefícios:
- Velocidade de inferência melhorada: Atinge até 525 FPS, acelerando significativamente as capacidades do YOLO11.
- Eficiência optimizada 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 padrão: Oferece um desempenho semelhante ao de GPU em hardware CPU económico.
- Integração simplificada: Ferramentas fáceis de utilizar para uma fácil implementação e integração.
- Flexibilidade: Suporta modelos YOLO11 padrão e optimizados em termos de dispersão.
- Rentável: Reduz as despesas operacionais através da utilização eficiente dos recursos.
Para um mergulho mais profundo nestas vantagens, visite a secção Benefícios da integração do DeepSparse de Neural Magic com YOLO11 .