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 os seus modelos Ultralytics YOLOv8 para o formato PaddlePaddle , pode aproveitar os pontos fortes de PaddlePaddlena otimização do desempenho. PaddlePaddle dá prioridade à execução eficiente de modelos e à utilização reduzida de memória. Como resultado, os teus modelos YOLOv8 podem potencialmente alcançar um desempenho ainda melhor, fornecendo resultados de topo 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.



Criado em 2024-03-11, Atualizado em 2024-04-02
Autores: Burhan-Q (1), abirami-vina (2)

Comentários