Saltar para o conteúdo

Compreender como exportar para o formato TF SavedModel de YOLO11

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 seu 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 YOLO11 pode ajudá-lo a implantar modelos facilmente em diferentes plataformas e ambientes. Neste guia, explicaremos como converter seus modelos para o formato TF SavedModel , simplificando o processo de execução de inferências com seus modelos em diferentes dispositivos.

Porque é que deve 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 o 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 a investigação como para a produção. Ele fornece uma maneira unificada de gerenciar seus modelos, garantindo que eles estejam prontos para qualquer aplicativo.

Principais caraterísticas do TF SavedModels

Eis as principais caraterísticas que tornam o TF SavedModel uma óptima 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. Permitem 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 necessidade do 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. Estes activos são armazenados juntamente com a definição do gráfico e as variáveis, garantindo que estão disponíveis quando o modelo é carregado. Este 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 YOLO11 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 seus modelos de aprendizagem automática:

  • TensorFlow Serving: TensorFlow Serving é um sistema de serviço flexível e de alto desempenho projetado para ambientes de produção. Ele oferece suporte nativo a TF SavedModels, facilitando a implantação e a veiculação 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 infra-estruturas escaláveis e geridas, permitindo-lhe implementar e escalar os seus 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-lhe implementar os seus 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. 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 TensorFlow . É adequado para cenários de implantação que requerem inferência de baixa latência e forte integração com bases de código C++ existentes.

Exportação de modelos YOLO11 para TF SavedModel

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

Instalação

Para instalar o pacote necessário, execute:

Instalação

# Install the required package for YOLO11
pip install ultralytics

Para obter instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulte o nosso guia de instalaçãoUltralytics . Ao instalar os pacotes necessários para YOLO11, se encontrar alguma dificuldade, consulte o nosso guia de Problemas comuns para obter soluções e dicas.

Utilização

Antes de se debruçar sobre as instruções de utilização, é importante notar que, embora todos os modelos deUltralytics YOLO11 estejam disponíveis para exportação, pode certificar-se de que o modelo selecionado suporta a funcionalidade de exportação aqui.

Utilização

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF SavedModel format
model.export(format="saved_model")  # creates '/yolo11n_saved_model'

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

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

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

Argumentos de exportação

Argumento Tipo Predefinição Descrição
format str 'saved_model' Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implantação.
imgsz int ou tuple 640 Tamanho de imagem pretendido para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas.
keras bool False Permite a exportação para o formato Keras, proporcionando compatibilidade com o serviço e as APIs TensorFlow .
int8 bool False Ativa a quantização INT8, comprimindo ainda mais o modelo e acelerando a inferência com uma perda mínima de precisão, principalmente para dispositivos de borda.
nms bool False Adiciona Supressão Não Máxima (NMS), essencial para um pós-processamento de deteção preciso e eficiente.
batch int 1 Especifica o tamanho da inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado irá processar em simultâneo em predict modo.

Para mais informações sobre o processo de exportação, visite a página de documentaçãoUltralytics sobre exportação.

Implantação de modelos exportados YOLO11 TF SavedModel

Agora que exportou o seu modelo YOLO11 para o formato TF SavedModel , o próximo passo é implementá-lo. O primeiro passo primário e recomendado para executar um modelo TF SavedModel é utilizar a função YOLO("yolo11n_saved_model/") como mostrado anteriormente no trecho de código de uso.

No entanto, para obter instruções detalhadas sobre a implementação dos seus modelos TF SavedModel , consulte os seguintes recursos:

  • TensorFlow Serviço: Aqui está a documentação do programador sobre como implementar os seus modelos TF SavedModel utilizando TensorFlow Serving.

  • Executar um TensorFlow SavedModel em Node.js: Uma publicação no blogue TensorFlow sobre a execução de 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 YOLO11 para o formato TF SavedModel . Ao exportar para TF SavedModel , você ganha flexibilidade para otimizar, implantar e dimensionar seus modelos YOLO11 em uma ampla variedade de plataformas.

Para mais informações sobre a utilização, visite a documentação oficialTF SavedModel .

Para obter mais informações sobre a integração do Ultralytics YOLO11 com outras plataformas e estruturas, não se esqueça de conferir nossa página de guia de integração. Ela está repleta de ótimos recursos para ajudá-lo a aproveitar ao máximo o YOLO11 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 o efeito, pode utilizar Python ou CLI :

Exportar YOLO11 para TF SavedModel

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF SavedModel format
model.export(format="saved_model")  # creates '/yolo11n_saved_model'

# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export the YOLO11 model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model # creates '/yolo11n_saved_model'

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

Consulte a documentaçãoUltralytics Export para obter 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 implementação de modelos em várias plataformas, incluindo aplicações 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 obter mais vantagens e opções de implementação, consulte as opções de implementação do modeloUltralytics YOLO .

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

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

  • TensorFlow Servindo: 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 modelo escalável.
  • Dispositivos móveis e incorporados: O uso do 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, visite os guias oficiais sobre a implementação dos modelos TensorFlow .

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

Para exportar modelos YOLO11 , é necessário instalar o ultralytics pacote. Execute o seguinte comando no seu terminal:

pip install ultralytics

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

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

TF SavedModel é vantajoso para os programadores de IA devido às seguintes caraterí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 num único pacote, o que simplifica o carregamento e a inferência.
  • Gestão de activos: Suporta activos externos como vocabulários, assegurando que estão disponíveis quando o modelo é carregado.

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

📅C riado há 1 ano ✏️ Atualizado há 4 dias

Comentários