Salta para o conteúdo

Como exportar para o formato PaddlePaddle a partir de modelos YOLOv8

Fazer a ponte entre o desenvolvimento e a implantação de modelos de visão computacional em cenários do mundo real com condições variáveis pode ser difícil. PaddlePaddle facilita esse processo com seu foco em flexibilidade, desempenho e sua capacidade de processamento paralelo em ambientes distribuídos. Isto significa que podes utilizar os teus modelos de visão computacional YOLOv8 numa grande variedade de dispositivos e plataformas, desde smartphones a servidores baseados na nuvem.

A capacidade de exportar para o formato de modelo PaddlePaddle permite-te otimizar os teus modelos para utilização na estrutura . Ultralytics YOLOv8 modelos para utilização no quadro PaddlePaddle . O PaddlePaddle é conhecido por facilitar as implementações industriais e é uma boa escolha para a implementação de aplicações de visão por computador em ambientes reais em vários domínios.

Por que razão deves exportar para PaddlePaddle?

PaddlePaddle Logótipo

Desenvolvido pela Baidu, PaddlePaddle(PArallel Distributed Deep LEarning) é a primeira plataforma de aprendizagem profunda de código aberto da China. Ao contrário de algumas estruturas criadas principalmente para a investigação, o PaddlePaddle dá prioridade à facilidade de utilização e à integração harmoniosa em todos os sectores.

Oferece ferramentas e recursos semelhantes a estruturas populares como TensorFlow e PyTorch, tornando-o acessível a programadores de todos os níveis de experiência. Desde a agricultura e as fábricas até às empresas de serviços, a grande comunidade de programadores do PaddlePaddle, com mais de 4,77 milhões de pessoas, está a ajudar a criar e a implementar aplicações de IA.

Ao exportar seu Ultralytics YOLOv8 modelos para PaddlePaddle formato, você pode acessar PaddlePaddle pontos fortes da empresa na otimização de desempenho. PaddlePaddle prioriza a execução eficiente do modelo e o uso reduzido de memória. Como resultado, seu YOLOv8 os modelos podem potencialmente alcançar um desempenho ainda melhor, fornecendo resultados de primeira linha em cenários práticos.

Principais características dos modelos PaddlePaddle

PaddlePaddle oferecem uma gama de características chave que contribuem para a sua flexibilidade, desempenho e escalabilidade em diversos cenários de implementação:

  • Gráfico dinâmico para estático: PaddlePaddle suporta compilação dinâmica para estática, em que os modelos podem ser traduzidos para um gráfico computacional estático. Isso permite otimizações que reduzem a sobrecarga de tempo de execução e aumentam o desempenho da inferência.

  • Fusão de operadores: PaddlePaddle O sistema de fusão de operadores, tal como o TensorRT, utiliza a fusão de operadores para simplificar a computação e reduzir as despesas gerais. A estrutura minimiza as transferências de memória e as etapas computacionais ao fundir operações compatíveis, resultando numa inferência mais rápida.

  • Quantização: PaddlePaddle suporta técnicas de quantização, incluindo quantização pós-treinamento e treinamento com reconhecimento de quantização. Estas técnicas permitem a utilização de representações de dados de menor precisão, aumentando efetivamente o desempenho e reduzindo o tamanho do modelo.

Opções de implantação em PaddlePaddle

Antes de nos debruçarmos sobre o código de exportação dos modelos YOLOv8 para PaddlePaddle, vamos analisar os diferentes cenários de implementação em que os modelos PaddlePaddle são excelentes.

PaddlePaddle fornece uma gama de opções, cada uma oferecendo um equilíbrio distinto entre facilidade de utilização, flexibilidade e desempenho:

  • Paddle Serving: Esta estrutura simplifica a implantação de modelos PaddlePaddle como APIs RESTful de alto desempenho. O Paddle Serving é ideal para ambientes de produção, fornecendo recursos como versão de modelo, teste A/B on-line e escalabilidade para lidar com grandes volumes de solicitações.

  • API de Inferência Paddle: A API de inferência de pás oferece controle de baixo nível sobre a execução do modelo. Esta opção é adequada para cenários em que é necessário integrar o modelo a uma aplicação personalizada ou otimizar o desempenho para um hardware específico.

  • Paddle Lite: O Paddle Lite foi projetado para implantação em dispositivos móveis e incorporados onde os recursos são limitados. Otimiza modelos para tamanhos menores e inferência mais rápida em CPUs ARM, GPUs e outros hardwares especializados.

  • Paddle.js: O Paddle.js permite-te implementar modelos PaddlePaddle diretamente nos navegadores Web. O Paddle.js pode carregar um modelo pré-treinado ou transformar um modelo do paddle-hub com ferramentas de transformação de modelo fornecidas pelo Paddle.js. Pode ser executado em navegadores que suportam WebGL/WebGPU/WebAssembly.

Exportar para PaddlePaddle: Converter o teu modelo YOLOv8

A conversão dos modelos YOLOv8 para o formato PaddlePaddle pode melhorar a flexibilidade de execução e otimizar o desempenho para vários cenários de implementação.

Instalação

Para instalar o pacote necessário, executa:

Instalação

# Install the required package for YOLOv8
pip install ultralytics

Para obter instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulta o nosso guia de instalaçãoUltralytics . Durante a instalação dos pacotes necessários para YOLOv8, se tiveres alguma dificuldade, consulta o nosso guia de Problemas comuns para obteres soluções e sugestões.

Utilização

Antes de seguir as instruções de utilização, é importante notar que, embora todos os modelosUltralytics YOLOv8 estejam disponíveis para exportação, podes garantir que o modelo que seleccionaste suporta a funcionalidade de exportação aqui.

Utilização

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolov8n_paddle_model' source='https://ultralytics.com/images/bus.jpg'

Para obter mais detalhes sobre as opções de exportação suportadas, visita a página de documentaçãoUltralytics sobre opções de implementação.

Implantação de modelos exportados YOLOv8 PaddlePaddle

Depois de exportar com êxito seus modelos Ultralytics YOLOv8 para o formato PaddlePaddle , agora é possível implantá-los. A primeira etapa principal e recomendada para executar um modelo PaddlePaddle é usar o método YOLO("./model_paddle_model"), conforme descrito no trecho de código de uso anterior.

No entanto, para obter instruções detalhadas sobre a implementação dos teus modelos PaddlePaddle em várias outras configurações, consulta os seguintes recursos:

  • Serviço de pás: Aprende a implementar os teus modelos PaddlePaddle como serviços de desempenho utilizando o Paddle Serving.

  • Remar Lite: Explora a forma de otimizar e implementar modelos em dispositivos móveis e incorporados utilizando o Paddle Lite.

  • Remar.js: Descobre como executar modelos PaddlePaddle em navegadores Web para IA do lado do cliente utilizando Paddle.js.

Resumo

Neste guia, exploramos o processo de exportação dos modelos Ultralytics YOLOv8 para o formato PaddlePaddle . Seguindo essas etapas, é possível aproveitar os pontos fortes do PaddlePaddle em diversos cenários de implantação, otimizando seus modelos para diferentes ambientes de hardware e software.

Para mais informações sobre a utilização, visita a documentação oficialPaddlePaddle

Queres explorar mais formas de integrar os teus modelos Ultralytics YOLOv8 ? A nossa página de guia de integração explora várias opções, fornecendo-te recursos e conhecimentos valiosos.

FAQ

Como é que exporto os modelos Ultralytics YOLOv8 para o formato PaddlePaddle ?

A exportação dos modelos Ultralytics YOLOv8 para o formato PaddlePaddle é simples. Podes utilizar a opção export da classe YOLO para efetuar esta exportação. Segue um exemplo usando Python:

Utilização

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolov8n_paddle_model' source='https://ultralytics.com/images/bus.jpg'

Para uma configuração mais detalhada e resolução de problemas, consulta o Ultralytics Installation Guide e o Common Issues Guide.

Quais são as vantagens de utilizar PaddlePaddle para a implementação de modelos?

PaddlePaddle oferece várias vantagens importantes para a implantação de modelos:

  • Otimização do desempenho: PaddlePaddle destaca-se pela execução eficiente do modelo e pela utilização reduzida da memória.
  • Compilação de gráficos dinâmica para estática: Suporta a compilação dinâmica para estática, permitindo optimizações em tempo de execução.
  • Fusão de operadores: Ao fundir operações compatíveis, reduz a sobrecarga computacional.
  • Técnicas de quantização: Suporta tanto o treinamento pós-treinamento quanto o treinamento com reconhecimento de quantização, permitindo representações de dados de menor precisão para melhorar o desempenho.

Pode obter melhores resultados exportando os seus modelos Ultralytics YOLOv8 para PaddlePaddle, assegurando flexibilidade e elevado desempenho em várias aplicações e plataformas de hardware. Sabe mais sobre as funcionalidades do PaddlePaddleaqui.

Por que razão devo escolher PaddlePaddle para implementar os meus modelos YOLOv8 ?

PaddlePaddle, desenvolvido pela Baidu, está optimizado para implementações industriais e comerciais de IA. A sua grande comunidade de programadores e a sua estrutura robusta fornecem ferramentas extensivas semelhantes a TensorFlow e PyTorch. Ao exportar os seus modelos YOLOv8 para PaddlePaddle, tira partido:

  • Desempenho melhorado: Velocidade de execução optimizada e redução do espaço de memória.
  • Flexibilidade: Ampla compatibilidade com vários dispositivos, desde smartphones a servidores em nuvem.
  • Escalabilidade: Capacidades de processamento paralelo eficientes para ambientes distribuídos.

Estas características tornam o PaddlePaddle uma escolha atraente para a implementação de modelos YOLOv8 em ambientes de produção.

Como é que o PaddlePaddle melhora o desempenho do modelo em relação a outras estruturas?

PaddlePaddle utiliza várias técnicas avançadas para otimizar o desempenho do modelo:

  • Gráfico dinâmico para estático: Converte modelos em um gráfico computacional estático para otimizações em tempo de execução.
  • Fusão de operadores: Combina operações compatíveis para minimizar a transferência de memória e aumentar a velocidade de inferência.
  • Quantização: Reduz o tamanho do modelo e aumenta a eficiência usando dados de baixa precisão, mantendo a precisão.

Essas técnicas priorizam a execução eficiente do modelo, tornando o PaddlePaddle uma excelente opção para implantar modelos YOLOv8 de alto desempenho. Para obter mais informações sobre otimização, consulte a documentação oficialPaddlePaddle .

Que opções de implementação oferece o PaddlePaddle para os modelos YOLOv8 ?

PaddlePaddle oferece opções de implementação flexíveis:

  • Serviço de remo: Implementa modelos como APIs RESTful, ideais para produção com recursos como versionamento de modelos e testes A/B online.
  • API de inferência de pás: Dá controlo de baixo nível sobre a execução do modelo para aplicações personalizadas.
  • Paddle Lite: Optimiza os modelos para os recursos limitados dos dispositivos móveis e incorporados.
  • Paddle.js: Permite a implementação de modelos diretamente nos navegadores Web.

Essas opções abrangem uma ampla gama de cenários de implantação, desde a inferência no dispositivo até serviços de nuvem escalonáveis. Explora mais estratégias de implementação na páginaUltralytics Model Deployment Options.



Criado em 2024-03-11, Atualizado em 2024-07-05
Autores: glenn-jocher (5), Burhan-Q (1), abirami-vina (2)

Comentários