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-05-18
Autores: glenn-jocher (1), Burhan-Q (1), abirami-vina (2)

Coment√°rios