Compreende como exportar para o formato TF SavedModel a partir do YOLO26#
A implementação de modelos de aprendizagem automática pode ser desafiante. No entanto, usar um formato de modelo eficiente e flexível pode facilitar o teu trabalho. O TF SavedModel é uma framework de aprendizagem automática de código aberto usada pelo TensorFlow para carregar modelos de aprendizagem automática de forma consistente. É como uma mala para modelos TensorFlow, tornando-os fáceis de transportar e usar em diferentes dispositivos e sistemas.
Aprender a exportar modelos Ultralytics YOLO26 para TF SavedModel 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 executar inferências com os teus modelos em diferentes dispositivos.
Por que deves exportar para TF SavedModel?#
O formato TensorFlow SavedModel faz parte do ecossistema TensorFlow desenvolvido pela Google, como mostrado abaixo. Foi concebido para guardar e serializar modelos TensorFlow de forma simples. Encapsula todos os detalhes 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 do treino em diferentes ambientes.
O TF SavedModel tem uma vantagem importante: a compatibilidade. Funciona bem com o TensorFlow Serving, o LiteRT (anteriormente TensorFlow Lite) e o 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 investigação como para produção. Fornece uma forma unificada de gerir os teus modelos, garantindo que estão prontos para qualquer aplicação.
Principais funcionalidades dos TF SavedModels#
Estas são as principais funcionalidades que tornam o TF SavedModel uma excelente opção para programadores de IA:
-
Portabilidade: o TF SavedModel fornece um formato de serialização independente da linguagem, recuperável e hermético. 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: o TF SavedModel agrupa o grafo computacional, os parâmetros treinados e os metadados necessários num único pacote. Pode ser facilmente carregado e usado para inferência sem exigir o código original que criou o modelo. Isto torna a implementação de modelos TensorFlow simples e eficiente em vários ambientes de produção.
-
Gestão de recursos: o TF SavedModel suporta a inclusão de recursos externos, como vocabulários, embeddings ou tabelas de pesquisa. Estes recursos são armazenados juntamente com a definição do grafo e as variáveis, garantindo que estão disponíveis quando o modelo é carregado. Esta funcionalidade simplifica a gestão e a distribuição de modelos que dependem de recursos externos.
Opções de implementação com o TF SavedModel#
Antes de explicarmos o processo de exportação de modelos YOLO26 para o formato TF SavedModel, vamos explorar alguns cenários típicos de implementação em que este formato é usado.
O TF SavedModel fornece várias opções para implementares os teus modelos de aprendizagem automática:
-
TensorFlow Serving: o TensorFlow Serving é um sistema flexível e de alto desempenho para servir modelos, concebido para ambientes de produção. Suporta nativamente TF SavedModels, facilitando a implementação e disponibilização dos teus modelos em plataformas de cloud, servidores locais ou dispositivos de edge.
-
Plataformas de cloud: os principais fornecedores de cloud, 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. Estes serviços fornecem uma infraestrutura escalável e gerida, permitindo-te implementar e escalar os teus modelos facilmente.
-
Dispositivos móveis e incorporados: o LiteRT (anteriormente TensorFlow Lite), uma solução leve para executar modelos de aprendizagem automática em dispositivos móveis, incorporados e IoT, suporta a conversão de TF SavedModels para o formato LiteRT. Isto permite-te implementar os teus modelos numa vasta gama de dispositivos, desde smartphones e tablets até microcontroladores e dispositivos de edge.
-
TensorFlow Runtime: o TensorFlow Runtime (
tfrt) é um runtime de alto desempenho para executar grafos TensorFlow. Fornece APIs de nível inferior para carregar e executar TF SavedModels em ambientes C++. O TensorFlow Runtime oferece um desempenho superior ao 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.
Tarefas suportadas#
A exportação para TF SavedModel suporta todas as sete tarefas da 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 |
|---|---|---|---|
| Detetar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ✅ |
| Semântica | ❌ | ❌ | ✅ |
| Profundidade | ❌ | ❌ | ✅ |
| Classificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exportar modelos YOLO26 para TF SavedModel#
Ao exportares modelos YOLO26 para o formato TF SavedModel, melhoras a sua adaptabilidade e facilidade de implementação em várias plataformas.
Instalação#
Para instalar o pacote necessário, executa:
# Install the required package for YOLO26
pip install ultralyticsPara obter instruções detalhadas e boas práticas relacionadas com o processo de instalação, consulte o nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para YOLO26, se encontrar alguma dificuldade, consulte o nosso guia de problemas comuns para obter soluções e dicas.
Utilização#
Todos os modelos Ultralytics YOLO26 foram concebidos para suportar a exportação imediatamente, facilitando a sua integração no teu fluxo de trabalho de implementação preferido. Podes consultar a lista completa de formatos de exportação e opções de configuração compatíveis para escolher a melhor configuração para a tua aplicação.
O formato TF SavedModel suporta os modos Exportar, Prever e Validar. Exporta o teu modelo e, em seguida, carrega o modelo exportado para executar inferências ou validar a sua precisão.
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 do modelo exportado, que define a compatibilidade com vários ambientes de implementaçã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 um tuplo (height, width) para dimensões específicas. |
keras | bool | False | Permite exportar para o formato Keras, proporcionando compatibilidade com o serviço e as APIs do TensorFlow. |
quantize | int ou str | None | Precisão da quantização: 8 (INT8/PTQ; requer calibração data/fraction) ou 32/não definido (FP32). FP16 não é suportado na exportação para SavedModel. Substitui o sinalizador obsoleto int8. |
opset | int | None | Especifica a versão do opset ONNX para o grafo ONNX intermédio. Se não for definida, utiliza a versão mais recente suportada. |
nms | bool, opcional | None | Seleciona a saída em bruto (None, predefinição), a NMS embutida (True) ou a cabeça sem NMS (False). |
batch | int | 1 | Especifica o tamanho do lote de inferência do modelo exportado ou o número máximo de imagens que o modelo exportado processará em simultâneo no modo predict. |
data | str | None | Caminho para o YAML do dataset, essencial para a quantização; a classificação, por sua vez, aceita um diretório de dataset ou o nome de um dataset integrado. Se for omitido com quantize=8, a Ultralytics seleciona o dataset de calibração predefinido para a tarefa do modelo. |
fraction | float, int ou list | 1.0 | Subconjunto de calibração como proporção, contagem de imagens ou proporções/contagens de [train, val, test]. Listas de dois itens deixam test completo, enquanto 0 o ignora. |
device | str | None | Especifica o dispositivo para a exportação: CPU (device=cpu), MPS para Apple silicon (device=mps). |
Para obter mais detalhes sobre o processo de exportação, visita a página da documentação da Ultralytics sobre exportação.
Implementar modelos YOLO26 TF SavedModel exportados#
Agora que exportaste o teu modelo YOLO26 para o formato TF SavedModel, o passo seguinte é implementá-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 excerto de código de utilização.
No entanto, para obteres instruções detalhadas sobre a implementação dos teus modelos TF SavedModel, consulta os seguintes recursos:
-
TensorFlow Serving: aqui encontras a documentação para programadores sobre como implementar os teus modelos TF SavedModel usando o TensorFlow Serving.
-
Executar um TensorFlow SavedModel no Node.js: uma publicação no blogue do TensorFlow sobre como executar diretamente um TensorFlow SavedModel no Node.js, sem conversão.
-
Implementar na cloud: uma publicação no blogue do TensorFlow sobre como implementar um modelo TensorFlow SavedModel na Cloud AI Platform.
Resumo#
Neste guia, explorámos como exportar modelos Ultralytics YOLO26 para o formato TF SavedModel. Ao exportares para TF SavedModel, obténs a flexibilidade para otimizar, implementar e escalar os teus modelos YOLO26 numa vasta gama de plataformas.
Para obteres mais detalhes sobre a utilização, visita a documentação oficial do TF SavedModel.
Para obter mais informações sobre a integração do Ultralytics YOLO26 com outras plataformas e frameworks, não te esqueças de consultar a nossa página do guia de integrações. Ela reúne excelentes recursos para te ajudar a tirar o máximo partido do YOLO26 nos teus projetos.
Perguntas frequentes#
Exportar um modelo Ultralytics YOLO para o formato TensorFlow SavedModel é simples. Podes usar Python ou a CLI para o fazer:
Exportar 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")Consulta a documentação de exportação da Ultralytics para obteres mais detalhes.
O formato TensorFlow SavedModel oferece várias vantagens para a implementação de modelos:
- Portabilidade: fornece um formato independente da linguagem, facilitando a partilha e a implementação de modelos em diferentes ambientes.
- Compatibilidade: integra-se perfeitamente com ferramentas como o TensorFlow Serving, o LiteRT e o TensorFlow.js, 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 uma partilha simples e a continuação do treino.
Para conheceres mais benefícios e opções de implementação, consulta as opções de implementação de modelos YOLO da Ultralytics.
O TF SavedModel pode ser implementado em vários ambientes, incluindo:
- TensorFlow Serving: ideal para ambientes de produção que exigem disponibilização de modelos escalável e de alto desempenho.
- Plataformas de cloud: suporta os principais serviços de cloud, como a Google Cloud Platform (GCP), a Amazon Web Services (AWS) e a Microsoft Azure, para uma implementação de modelos escalável.
- Dispositivos móveis e incorporados: usar o LiteRT (anteriormente TensorFlow Lite) para converter TF SavedModels permite a implementação em dispositivos móveis, dispositivos IoT e microcontroladores.
- TensorFlow Runtime: para ambientes C++ que necessitam de inferência de baixa latência com melhor desempenho.
Para obteres opções de implementação detalhadas, visita os guias oficiais sobre implementação de modelos TensorFlow.
Para exportares modelos YOLO26, tens de instalar o pacote
ultralytics. Executa o seguinte comando no teu terminal:pip install ultralyticsPara obteres instruções de instalação mais detalhadas e boas práticas, consulta o nosso guia de instalação da Ultralytics. Se encontrares algum problema, consulta o nosso guia de problemas comuns.
O formato TF SavedModel é vantajoso para programadores de IA devido às seguintes funcionalidades:
- Portabilidade: permite partilhar e implementar modelos facilmente em vários ambientes.
- Facilidade de implementação: encapsula o grafo computacional, os parâmetros treinados e os metadados num único pacote, simplificando o carregamento e a inferência.
- Gestão de recursos: suporta recursos externos, como vocabulários, garantindo que estão disponíveis quando o modelo é carregado.
Para obteres mais detalhes, consulta a documentação oficial do TensorFlow.