Salta para o conte√ļdo

Compreende como exportar para o formato TF SavedModel de YOLOv8

A implementa√ß√£o de modelos de aprendizagem autom√°tica pode ser um desafio. No entanto, a utiliza√ß√£o de um formato de modelo eficiente e flex√≠vel pode facilitar o teu trabalho. TF SavedModel √© uma estrutura de aprendizagem autom√°tica de c√≥digo aberto utilizada por TensorFlow para carregar modelos de aprendizagem autom√°tica de forma consistente. √Č como uma mala para os modelos TensorFlow , tornando-os f√°ceis de transportar e utilizar em diferentes dispositivos e sistemas.

Aprender a exportar para TF SavedModel de Ultralytics YOLOv8 pode ajudar-te a implementar modelos facilmente em diferentes plataformas e ambientes. Neste guia, vamos explicar como converter os teus modelos para o formato TF SavedModel , simplificando o processo de execução de inferências com os teus modelos em diferentes dispositivos.

Por que raz√£o deves exportar para TF SavedModel ?

O formato TensorFlow SavedModel faz parte do ecossistema TensorFlow desenvolvido pela Google, como indicado abaixo. Foi concebido para guardar e serializar modelos TensorFlow sem problemas. Encapsula os detalhes completos dos modelos, como a arquitetura, os pesos e at√© as informa√ß√Ķes de compila√ß√£o. Isto facilita a partilha, a implementa√ß√£o e a continua√ß√£o da forma√ß√£o em diferentes ambientes.

TF SavedModel

O TF SavedModel tem uma vantagem fundamental: a sua compatibilidade. Funciona bem com TensorFlow Serving, TensorFlow Lite e TensorFlow.js. Esta compatibilidade facilita a partilha e a implementa√ß√£o de modelos em v√°rias plataformas, incluindo aplica√ß√Ķes Web e m√≥veis. O formato TF SavedModel √© √ļtil tanto para pesquisa quanto para produ√ß√£o. Fornece uma forma unificada de gerir os seus modelos, garantindo que est√£o prontos para qualquer aplica√ß√£o.

Principais características de TF SavedModels

Eis as principais características que tornam o TF SavedModel uma excelente opção para os programadores de IA:

  • Portabilidade: TF SavedModel fornece um formato de serializa√ß√£o herm√©tico, recuper√°vel e neutro em termos de linguagem. Permite que sistemas e ferramentas de n√≠vel superior produzam, consumam e transformem modelos TensorFlow . Os SavedModels podem ser facilmente partilhados e implementados em diferentes plataformas e ambientes.

  • Facilidade de implementa√ß√£o: TF SavedModel agrupa o gr√°fico computacional, os par√Ęmetros treinados e os metadados necess√°rios num √ļnico pacote. Estes podem ser facilmente carregados e utilizados para infer√™ncia sem ser necess√°rio o c√≥digo original que construiu o modelo. Isto torna a implementa√ß√£o dos modelos TensorFlow simples e eficiente em v√°rios ambientes de produ√ß√£o.

  • Gest√£o de activos: TF SavedModel suporta a inclus√£o de activos externos, tais como vocabul√°rios, embeddings ou tabelas de pesquisa. Esses ativos s√£o armazenados junto com a defini√ß√£o do gr√°fico e as vari√°veis, garantindo que estejam dispon√≠veis quando o modelo for carregado. Esse recurso simplifica o gerenciamento e a distribui√ß√£o de modelos que dependem de recursos externos.

Op√ß√Ķes de implanta√ß√£o com TF SavedModel

Antes de nos debruçarmos sobre o processo de exportação de modelos YOLOv8 para o formato TF SavedModel , vamos explorar alguns cenários de implementação típicos em que este formato é utilizado.

TF SavedModel fornece uma gama de op√ß√Ķes para implementar os teus modelos de aprendizagem autom√°tica:

  • TensorFlow Servir: TensorFlow O Serving √© um sistema de servi√ßo flex√≠vel e de alto desempenho projetado para ambientes de produ√ß√£o. Suporta nativamente TF SavedModels, facilitando a implanta√ß√£o e o fornecimento de seus modelos em plataformas de nuvem, servidores locais ou dispositivos de borda.

  • Plataformas de nuvem: Os principais provedores de nuvem, como Google Cloud Platform (GCP), Amazon Web Services (AWS) e Microsoft Azure, oferecem servi√ßos para implantar e executar modelos TensorFlow , incluindo TF SavedModels. Estes servi√ßos fornecem uma infraestrutura escal√°vel e gerida, permitindo-te implementar e escalar os teus modelos facilmente.

  • Dispositivos m√≥veis e incorporados: TensorFlow Lite, uma solu√ß√£o leve para executar modelos de aprendizado de m√°quina em dispositivos m√≥veis, incorporados e IoT, suporta a convers√£o de TF SavedModels para o formato TensorFlow Lite. Isto permite-te implementar os teus modelos numa vasta gama de dispositivos, desde smartphones e tablets a microcontroladores e dispositivos de ponta.

  • TensorFlow Tempo de execu√ß√£o: TensorFlow O tempo de execu√ß√£o (tfrt) √© um tempo de execu√ß√£o de alto desempenho para a execu√ß√£o de gr√°ficos TensorFlow . Fornece APIs de n√≠vel inferior para carregar e executar TF SavedModels em ambientes C++. TensorFlow O tempo de execu√ß√£o oferece melhor desempenho em compara√ß√£o com o tempo de execu√ß√£o padr√£o do TensorFlow . √Č adequado para cen√°rios de implanta√ß√£o que requerem infer√™ncia de baixa lat√™ncia e integra√ß√£o estreita com bases de c√≥digo C++ existentes.

Exportação de modelos YOLOv8 para TF SavedModel

Ao exportar os modelos YOLOv8 para o formato TF SavedModel , melhora a sua adaptabilidade e facilidade de implementação em várias plataformas.

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 TF SavedModel format
model.export(format="saved_model")  # creates '/yolov8n_saved_model'

# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolov8n_saved_model")

# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF SavedModel format
yolo export model=yolov8n.pt format=saved_model  # creates '/yolov8n_saved_model'

# Run inference with the exported model
yolo predict model='./yolov8n_saved_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 TF SavedModel

Agora que exportaste o modelo YOLOv8 para o formato TF SavedModel , a próxima etapa é implantá-lo. A primeira etapa principal e recomendada para executar um modelo TF GraphDef é usar o método YOLO("./yolov8n_saved_model"), como mostrado anteriormente no trecho de código de uso.

No entanto, para obter instru√ß√Ķes detalhadas sobre a implementa√ß√£o dos modelos TF SavedModel , consulta os seguintes recursos:

  • TensorFlow Servir: Aqui est√° a documenta√ß√£o do programador sobre como implementar os teus modelos TF SavedModel utilizando TensorFlow Serving.

  • Executa um TensorFlow SavedModel em Node.js: Uma postagem no blog TensorFlow sobre como executar um TensorFlow SavedModel no Node.js diretamente sem convers√£o.

  • Implementa√ß√£o na nuvem: Uma publica√ß√£o no blogue TensorFlow sobre a implementa√ß√£o de um modelo TensorFlow SavedModel na Cloud AI Platform.

Resumo

Neste guia, exploramos como exportar modelos Ultralytics YOLOv8 para o formato TF SavedModel . Ao exportar para TF SavedModel , ganha a flexibilidade de otimizar, implantar e dimensionar seus modelos YOLOv8 em uma ampla variedade de plataformas.

Para mais informa√ß√Ķes sobre a utiliza√ß√£o, visita a documenta√ß√£o oficialTF SavedModel .

Para obter mais informa√ß√Ķes sobre a integra√ß√£o do Ultralytics YOLOv8 com outras plataformas e estruturas, n√£o te esque√ßas de consultar a nossa p√°gina de guia de integra√ß√£o. Ela est√° repleta de √≥timos recursos para ajud√°-lo a aproveitar ao m√°ximo o YOLOv8 em seus projetos.



Criado em 2024-03-23, Atualizado em 2024-05-18
Autores: glenn-jocher (1), Burhan-Q (1), abirami-vina (1)

Coment√°rios