Entenda como exportar para o formato TF SavedModel a partir do YOLO26#
Implantar modelos de machine learning pode ser desafiador. No entanto, usar um formato de modelo eficiente e flexível pode facilitar o teu trabalho. O TF SavedModel é um framework de aprendizado de máquina de código aberto usado pelo TensorFlow para carregar modelos de aprendizado de máquina de forma consistente. Ele é como uma mala para modelos do TensorFlow, tornando-os fáceis de transportar e usar em diferentes dispositivos e sistemas.
Aprender como exportar para o formato TF SavedModel a partir de modelos do Ultralytics YOLO26 pode ajudar-te a implantar modelos facilmente em diferentes plataformas e ambientes. Neste guia, vamos ver 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 você deveria exportar para o TF SavedModel?#
O formato TensorFlow SavedModel faz parte do ecossistema TensorFlow desenvolvido pelo Google, conforme mostrado abaixo. Ele foi projetado para salvar e serializar modelos do TensorFlow de forma integrada. Ele encapsula todos os detalhes dos modelos, como arquitetura, pesos e até mesmo informações de compilação. Isso torna simples compartilhar, implantar e continuar o treinamento em diferentes ambientes.
O TF SavedModel tem uma vantagem fundamental: a sua compatibilidade. Ele funciona bem com o TensorFlow Serving, LiteRT (anteriormente TensorFlow Lite) e o TensorFlow.js. Essa compatibilidade torna mais fácil compartilhar e implantar 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 os teus modelos, garantindo que estejam prontos para qualquer aplicativo.
Principais recursos dos TF SavedModels#
Aqui estão os principais recursos que tornam o TF SavedModel uma ótima opção para desenvolvedores de IA:
-
Portabilidade: O TF SavedModel fornece um formato de serialização hermético, recuperável e independente de linguagem. Eles permitem que sistemas e ferramentas de nível superior produzam, consumam e transformem modelos do TensorFlow. Os SavedModels podem ser facilmente compartilhados e implantados em diferentes plataformas e ambientes.
-
Facilidade de implantação: O TF SavedModel agrupa o grafo 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 do TensorFlow direta e eficiente em vários ambientes de produção.
-
Gerenciamento de Ativos: O TF SavedModel suporta a inclusão de ativos externos, como vocabulários, embeddings ou tabelas de consulta. 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 implantação com TF SavedModel#
Antes de mergulharmos no processo de exportar modelos YOLO26 para o formato TF SavedModel, vamos explorar alguns cenários de implantação típicos onde esse formato é usado.
O TF SavedModel oferece uma variedade de opções para implantar seus modelos de machine learning:
-
TensorFlow Serving: O TensorFlow Serving é um sistema de atendimento flexível e de alto desempenho projetado para ambientes de produção. Ele suporta nativamente TF SavedModels, facilitando a implantação e o atendimento dos teus modelos em plataformas de nuvem, servidores locais ou dispositivos de borda.
-
Plataformas de Nuvem: Grandes provedores de nuvem como o Google Cloud Platform (GCP), Amazon Web Services (AWS) e Microsoft Azure oferecem serviços para implantar e executar modelos do TensorFlow, incluindo TF SavedModels. Esses serviços fornecem infraestrutura escalável e gerenciada, permitindo que implantues e escales os teus modelos facilmente.
-
Dispositivos Móveis e Embarcados: O LiteRT (anteriormente TensorFlow Lite), uma solução leve para executar modelos de aprendizado de máquina em dispositivos móveis, embarcados e de IoT, suporta a conversão de TF SavedModels para o formato LiteRT. Isso permite que implantues os teus modelos em uma ampla gama de dispositivos, desde smartphones e tablets até microcontroladores e dispositivos de borda.
-
TensorFlow Runtime: O TensorFlow Runtime (
tfrt) é um tempo de execução de alto desempenho para executar grafos do TensorFlow. Ele fornece APIs de baixo nível para carregar e executar TF SavedModels em ambientes C++. O TensorFlow Runtime oferece melhor desempenho em comparação com o tempo de execução padrão do TensorFlow. Ele é adequado para cenários de implantação que exigem inferência de baixa latência e integração estreita com bases de código C++ existentes.
Tarefas Suportadas#
A exportação para TF SavedModel suporta todas as sete tarefas do Ultralytics. A segmentação semântica e a estimativa de profundidade estão disponíveis apenas com o YOLO26, a única família que inclui essas cabeças.
| Tarefa | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detectar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ✅ |
| Semântica | ❌ | ❌ | ✅ |
| Profundidade | ❌ | ❌ | ✅ |
| Classificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exportando modelos YOLO26 para TF SavedModel#
Ao exportar modelos YOLO26 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:
# Install the required package for YOLO26
pip install ultralyticsPara instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulta o nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLO26, se encontrares alguma dificuldade, consulta o nosso guia de problemas comuns para obter soluções e dicas.
Uso#
Todos os modelos Ultralytics YOLO26 são projetados para suportar exportação nativamente, facilitando a integração deles no teu fluxo de trabalho de implantação preferido. Podes ver a lista completa de formatos de exportação suportados e opções de configuração para escolher a melhor configuração para a tua aplicação.
O formato TF SavedModel suporta os modos Export, Predict e Validate. Exporte o teu modelo e, em seguida, carregue o modelo exportado para executar a inferência ou validar a precisão dele.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo26n_saved_model'from ultralytics import YOLO
# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")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 implementação. |
imgsz | int ou tuple | 640 | Tamanho de imagem desejado 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 | Habilita a exportação para o formato Keras, fornecendo compatibilidade com o TensorFlow serving e APIs. |
quantize | int ou str | None | Precisão de quantização: 8 (INT8/PTQ; precisa de calibração data/fraction) ou 32/não definido (FP32). FP16 não é suportado para exportação SavedModel. Substitui a flag obsoleta int8. |
opset | int | None | Especifica a versão do opset ONNX para o grafo ONNX intermediário. Se não for definida, utiliza a versão mais recente suportada. |
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 de inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado processará concorrentemente no modo predict. |
data | str | None | Caminho para o YAML do dataset, essencial para a quantização; a classificação, por sua vez, requer um diretório de dataset ou um nome de dataset incorporado. Se omitido com quantize=8, o Ultralytics seleciona o dataset de calibração padrão para a tarefa do modelo. |
fraction | float, int ou list | 1.0 | Subconjunto de calibração como uma proporção, contagem de imagens ou proporções/contagens de [train, val, test]. Listas de dois itens deixam test cheio, enquanto 0 o pula. |
device | str | None | Especifica o dispositivo para exportação: CPU (device=cpu), MPS para Apple silicon (device=mps). |
Para mais detalhes sobre o processo de exportação, visita a página de documentação do Ultralytics sobre exportação.
Implantando modelos YOLO26 TF SavedModel exportados#
Agora que exportaste o teu modelo YOLO26 para o formato TF SavedModel, o próximo passo é implantá-lo. O primeiro passo principal e recomendado para executar um modelo TF SavedModel é usar o método YOLO("yolo26n_saved_model/"), conforme mostrado anteriormente no trecho de código de uso.
No entanto, para obter instruções detalhadas sobre como implantar seus modelos TF SavedModel, dê uma olhada nos seguintes recursos:
-
TensorFlow Serving: Aqui está a documentação do desenvolvedor sobre como implantar os teus modelos TF SavedModel usando o TensorFlow Serving.
-
Executar um TensorFlow SavedModel no Node.js: Uma postagem no blog do TensorFlow sobre como executar um TensorFlow SavedModel no Node.js diretamente, sem conversão.
-
Implantando na Nuvem: Uma postagem no blog do TensorFlow sobre como implantar um modelo TensorFlow SavedModel na Cloud AI Platform.
Resumo#
Neste guia, exploramos como exportar modelos Ultralytics YOLO26 para o formato TF SavedModel. Ao exportar para TF SavedModel, você obtém a flexibilidade para otimizar, implantar e dimensionar seus modelos YOLO26 em uma ampla gama de plataformas.
Para mais detalhes sobre o uso, visite a documentação oficial do TF SavedModel.
Para mais informações sobre como integrar o Ultralytics YOLO26 com outras plataformas e frameworks, não te esqueças de conferir a nossa página do guia de integração. Ela está repleta de ótimos recursos para ajudar-te a aproveitar ao máximo o YOLO26 nos teus projetos.
FAQ#
Exportar um modelo Ultralytics YOLO para o formato TensorFlow SavedModel é simples. Você pode usar Python ou CLI para realizar isso:
Exportando YOLO26 para TF SavedModelfrom ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export the model to TF SavedModel format model.export(format="saved_model") # creates '/yolo26n_saved_model' # Load the exported TF SavedModel for inference tf_savedmodel_model = YOLO("./yolo26n_saved_model") results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")Consulte a documentação de exportação do Ultralytics para mais detalhes.
O formato TensorFlow SavedModel oferece várias vantagens para a implantação de modelos:
- Portabilidade: Fornece um formato independente de linguagem, facilitando o compartilhamento e a implantação de modelos em diferentes ambientes.
- Compatibilidade: Integra-se perfeitamente com ferramentas como TensorFlow Serving, LiteRT e TensorFlow.js, que são essenciais para implantar modelos em várias plataformas, incluindo aplicativos 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 de modelos do Ultralytics YOLO.
O TF SavedModel pode ser implantado em vários ambientes, incluindo:
- TensorFlow Serving: Ideal para ambientes de produção que exigem 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 escalável de modelos.
- Dispositivos Móveis e Embarcados: Usar o LiteRT (anteriormente TensorFlow Lite) para converter TF SavedModels permite a implantação em dispositivos móveis, dispositivos IoT e microcontroladores.
- TensorFlow Runtime: Para ambientes C++ que precisam de inferência de baixa latência com melhor desempenho.
Para opções detalhadas de implantação, visite os guias oficiais sobre como implantar modelos do TensorFlow.
Para exportar modelos YOLO26, precisas de instalar o pacote
ultralytics. Execute o seguinte comando no teu terminal:pip install ultralyticsPara instruções de instalação mais detalhadas e práticas recomendadas, consulte o nosso guia de instalação do Ultralytics. Se encontrares algum problema, consulte o nosso guia de problemas comuns.
O formato TF SavedModel é benéfico para desenvolvedores de IA devido aos seguintes recursos:
- Portabilidade: Permite o compartilhamento e a implantação em vários ambientes sem esforço.
- Facilidade de implantação: Encapsula o grafo computacional, os parâmetros treinados e os 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 mais detalhes, explore a documentação oficial do TensorFlow.