Entenda como exportar para o formato TF SavedModel a partir do YOLO11
A implantação de modelos de aprendizado de máquina pode ser desafiadora. No entanto, usar um formato de modelo eficiente e flexível pode facilitar seu trabalho. TF SavedModel é uma estrutura de aprendizado de máquina de código aberto usada pelo TensorFlow para carregar modelos de aprendizado de máquina de forma consistente. É como uma mala para modelos TensorFlow, tornando-os fáceis de transportar e usar em diferentes dispositivos e sistemas.
Aprender como exportar para TF SavedModel a partir de modelos Ultralytics YOLO11 pode ajudá-lo a implementar modelos facilmente em diferentes plataformas e ambientes. Neste guia, vamos explicar como converter seus modelos para o formato TF SavedModel, simplificando o processo de execução de inferências com seus modelos em diferentes dispositivos.
Por que você deve exportar para TF SavedModel?
O formato TensorFlow SavedModel faz parte do ecossistema TensorFlow desenvolvido pela Google, como mostrado abaixo. Ele é projetado para salvar e serializar modelos TensorFlow de forma integrada. Ele encapsula os detalhes completos dos modelos, como a arquitetura, os pesos e até mesmo as informações de compilação. Isso torna simples compartilhar, implantar e continuar o treinamento em diferentes ambientes.
O TF SavedModel tem uma vantagem fundamental: sua compatibilidade. Ele funciona bem com TensorFlow Serving, TensorFlow Lite e TensorFlow.js. Essa compatibilidade facilita o compartilhamento e a implantação de modelos em várias plataformas, incluindo aplicativos web e móveis. O formato TF SavedModel é útil tanto para pesquisa quanto para produção. Ele fornece uma maneira unificada de gerenciar seus modelos, garantindo que eles estejam prontos para qualquer aplicação.
Principais Características dos SavedModels TF
Aqui estão os principais recursos que tornam o TF SavedModel uma ótima opção para desenvolvedores de IA:
-
Portabilidade: TF SavedModel oferece um formato de serialização independente de linguagem, recuperável e hermético. Eles permitem que sistemas e ferramentas de nível superior produzam, consumam e transformem modelos TensorFlow. Os SavedModels podem ser facilmente compartilhados e implementados em diferentes plataformas e ambientes.
-
Facilidade de Implantação: O TF SavedModel agrupa o gráfico computacional, os parâmetros treinados e os metadados necessários em um único pacote. Eles podem ser facilmente carregados e usados para inferência sem exigir o código original que construiu o modelo. Isso torna a implantação de modelos TensorFlow direta e eficiente em vários ambientes de produção.
-
Gestão de Ativos: O TF SavedModel suporta a inclusão de ativos externos, como vocabulários, embeddings ou tabelas de pesquisa. Esses ativos são armazenados junto com a definição do grafo 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 Implementação com TF SavedModel
Antes de nos aprofundarmos no processo de exportação de modelos YOLO11 para o formato TF SavedModel, vamos explorar alguns cenários de implementação típicos onde este formato é usado.
O TF SavedModel oferece uma variedade de opções para implementar seus modelos de machine learning:
-
TensorFlow Serving: TensorFlow Serving é um sistema de serviço flexível e de alto desempenho, projetado para ambientes de produção. Ele suporta nativamente TF SavedModels, facilitando a implantação e o serviço de seus modelos em plataformas de nuvem, servidores locais ou dispositivos de borda.
-
Plataformas de Nuvem: Os principais fornecedores de nuvem, como a Google Cloud Platform (GCP), a Amazon Web Services (AWS) e a Microsoft Azure, oferecem serviços para implementar e executar modelos TensorFlow, incluindo TF SavedModels. Esses serviços fornecem infraestrutura escalável e gerenciada, permitindo que você implemente e dimensione seus modelos facilmente.
-
Dispositivos Móveis e Embutidos: TensorFlow Lite, uma solução leve para executar modelos de machine learning em dispositivos móveis, embutidos e IoT, suporta a conversão de TF SavedModels para o formato TensorFlow Lite. Isso permite que você implemente seus modelos em uma ampla gama de dispositivos, de smartphones e tablets a microcontroladores e dispositivos de borda.
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt
) é um runtime de alto desempenho para executar TensorFlow gráficos. Ele fornece APIs de nível inferior para carregar e executar TF SavedModels em ambientes C++. O TensorFlow Runtime oferece melhor desempenho em comparação com o runtime TensorFlow padrão. É adequado para cenários de implementação que exigem inferência de baixa latência e integração estreita com bases de código C++ existentes.
Exportando Modelos YOLO11 para TF SavedModel
Ao exportar modelos YOLO11 para o formato TF SavedModel, você aumenta sua adaptabilidade e facilidade de implantaçã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 ao processo de instalação, consulte nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLO11, se você encontrar alguma dificuldade, consulte nosso guia de problemas comuns para obter soluções e dicas.
Utilização
Todos os modelos Ultralytics YOLO11 são projetados para suportar a exportação, facilitando a integração em seu fluxo de trabalho de implantação preferido. Você pode visualizar a lista completa de formatos de exportação e opções de configuração suportados para escolher a melhor configuração para sua aplicação.
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 | Padrão | Descrição |
---|---|---|---|
format |
str |
'saved_model' |
Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implementação. |
imgsz |
int ou tuple |
640 |
Tamanho de imagem desejado para a entrada do modelo. Pode ser um inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas. |
keras |
bool |
False |
Ativa a exportação para o formato Keras, proporcionando compatibilidade com o serviço e as APIs do TensorFlow. |
int8 |
bool |
False |
Ativa a quantização INT8, comprimindo ainda mais o modelo e acelerando a inferência com perda mínima de precisão, principalmente para dispositivos de borda. |
nms |
bool |
False |
Adiciona a Supressão Não Máxima (NMS), essencial para um pós-processamento de detecção preciso e eficiente. |
batch |
int |
1 |
Especifica o tamanho do lote de inferência do modelo de exportação ou o número máximo de imagens que o modelo exportado processará simultaneamente em predict modo. |
device |
str |
None |
Especifica o dispositivo para exportar: CPU (device=cpu ), MPS para Apple silicon (device=mps ). |
Para mais detalhes sobre o processo de exportação, visite a página de documentação da Ultralytics sobre exportação.
Implantação de Modelos TF SavedModel YOLO11 Exportados
Agora que você exportou seu modelo YOLO11 para o formato TF SavedModel, o próximo passo é implementá-lo. A primeira etapa primária e recomendada para executar um modelo TF SavedModel é usar o YOLO("yolo11n_saved_model/")
método, como mostrado anteriormente no trecho de código de uso.
No entanto, para obter instruções detalhadas sobre como implantar seus modelos TF SavedModel, consulte os seguintes recursos:
-
TensorFlow Serving: Aqui está a documentação do desenvolvedor sobre como implantar seus modelos TF SavedModel usando o TensorFlow Serving.
-
Executar um SavedModel do TensorFlow no Node.js: Uma publicação no blog do TensorFlow sobre como executar um SavedModel do TensorFlow no Node.js diretamente, sem conversão.
-
Implementação na Nuvem: Uma publicação de blogue do 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 a flexibilidade de otimizar, implantar e dimensionar seus modelos YOLO11 em uma ampla variedade de plataformas.
Para obter mais detalhes sobre o uso, visite a documentação oficial do TF SavedModel.
Para obter mais informações sobre como integrar o Ultralytics YOLO11 com outras plataformas e frameworks, não se esqueça de consultar a nossa página do 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 exportar um modelo Ultralytics YOLO para o formato TensorFlow SavedModel?
Exportar um modelo Ultralytics YOLO para o formato TensorFlow SavedModel é simples. Você pode usar Python ou CLI para realizar isso:
Exportando 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ção de Exportação da Ultralytics para obter mais detalhes.
Por que devo usar o formato TensorFlow SavedModel?
O formato TensorFlow SavedModel oferece várias vantagens para a implantação de modelos:
- Portabilidade: Ele fornece um formato neutro em relação à linguagem, facilitando o compartilhamento 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 implementar 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 o compartilhamento direto e a continuação do treinamento.
Para mais benefícios e opções de implantação, confira as opções de implantação do modelo Ultralytics YOLO.
Quais são os cenários de implementação típicos para TF SavedModel?
O TF SavedModel pode ser implementado em vários ambientes, incluindo:
- TensorFlow Serving: Ideal para ambientes de produção que exigem fornecimento de modelos 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 escalável de modelos.
- Dispositivos Móveis e Embutidos: Usar TensorFlow Lite para converter TF SavedModels permite a implementação em dispositivos móveis, dispositivos IoT e microcontroladores.
- Tempo de Execução do TensorFlow: Para ambientes C++ que necessitam de inferência de baixa latência com melhor desempenho.
Para opções de implantação detalhadas, visite os guias oficiais sobre como implantar modelos TensorFlow.
Como posso instalar os pacotes necessários para exportar modelos YOLO11?
Para exportar modelos YOLO11, você precisa instalar o ultralytics
pacote. Execute o seguinte comando no seu terminal:
pip install ultralytics
Para obter instruções de instalação mais detalhadas e as melhores práticas, consulte o nosso guia de instalação da Ultralytics. Se encontrar algum problema, consulte o nosso guia de problemas comuns.
Quais são as principais características do formato TensorFlow SavedModel?
O formato TF SavedModel é benéfico para desenvolvedores de IA devido às seguintes características:
- Portabilidade: Permite o compartilhamento e a implementação em vários ambientes sem esforço.
- Facilidade de Implantação: Encapsula o gráfico computacional, parâmetros treinados e metadados em um único pacote, o que simplifica o carregamento e a inferência.
- Gerenciamento de Ativos: Suporta ativos externos, como vocabulários, garantindo que estejam disponíveis quando o modelo for carregado.
Para obter mais detalhes, explore a documentação oficial do TensorFlow.