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 por 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 TensorFlow modelos, 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 Tempo de execução (tfrt) é um tempo de execução de alto desempenho para executar TensorFlow gráficos. Ele fornece APIs de nível inferior para carregamento e execução TF SavedModels em ambientes C++. TensorFlow O tempo de execução oferece melhor desempenho em comparação com o padrão TensorFlow tempo de execução. É adequado para cenários de implantação que exigem inferência de baixa latência e forte integração 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.

FAQ

Como é que exporto um modelo Ultralytics YOLO para o formato TensorFlow SavedModel ?

A exportação de um modelo Ultralytics YOLO para o formato TensorFlow SavedModel é simples. Para isso, podes utilizar Python ou CLI :

Exportar YOLOv8 para TF SavedModel

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 for inference
tf_savedmodel_model = YOLO("./yolov8n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export the YOLOv8 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'

Consulta a documentaçãoUltralytics Export para obteres mais detalhes.

Por que razão devo utilizar o formato TensorFlow SavedModel ?

O formato TensorFlow SavedModel oferece várias vantagens para a implementação do modelo:

  • Portabilidade: Fornece um formato neutro em termos de linguagem, facilitando a partilha e a implementação de modelos em diferentes ambientes.
  • Compatibilidade: Integra-se perfeitamente com ferramentas como TensorFlow Serving, TensorFlow Lite e TensorFlow.js, que são essenciais para a implantação de modelos em várias plataformas, incluindo aplicativos da Web e móveis.
  • Encapsulamento completo: Codifica a arquitetura do modelo, os pesos e as informações de compilação, permitindo uma partilha direta e a continuação do treino.

Para mais vantagens e opções de implementação, consulta as opções de implementação do modeloUltralytics YOLO .

Quais são os cenários de implementação típicos para TF SavedModel ?

TF SavedModel pode ser implementado em vários ambientes, incluindo:

  • TensorFlow Servir: Ideal para ambientes de produção que requerem um serviço de modelo escalável e de alto desempenho.
  • Plataformas de nuvem: Suporta os principais serviços de nuvem, como Google Cloud Platform (GCP), Amazon Web Services (AWS) e Microsoft Azure para implantação de modelos escaláveis.
  • Dispositivos móveis e incorporados: Usando TensorFlow Lite para converter TF SavedModels permite a implantação em dispositivos móveis, dispositivos IoT e microcontroladores.
  • TensorFlow Tempo de execução: Para ambientes C++ que necessitam de inferência de baixa latência com melhor desempenho.

Para opções de implementação detalhadas, visita os guias oficiais sobre a implementação dos modelos TensorFlow .

Como posso instalar os pacotes necessários para exportar os modelos YOLOv8 ?

Para exportar os modelos YOLOv8 , tens de instalar o ultralytics pacote. Executa o seguinte comando no teu terminal:

pip install ultralytics

Para obter instruções de instalação mais detalhadas e melhores práticas, consulta o nosso guia de instalaçãoUltralytics . Se tiveres algum problema, consulta o nosso guia de problemas comuns.

Quais são as principais características do formato TensorFlow SavedModel ?

TF SavedModel O formato é vantajoso para os programadores de IA devido às seguintes características:

  • Portabilidade: Permite a partilha e a implementação em vários ambientes sem esforço.
  • Facilidade de implementação: Encapsula o gráfico computacional, os parâmetros treinados e os metadados em um único pacote, o que simplifica o carregamento e a inferência.
  • Gestão de activos: Suporta activos externos, como vocabulários, garantindo que estão disponíveis quando o modelo é carregado.

Para mais informações, consulta a documentação oficial TensorFlow .



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

Comentários