Ultralytics YOLO27:

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.

TensorFlow SavedModel export format structure

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.

TarefaYOLOv8YOLO11YOLO26
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:

Instalação
# Install the required package for YOLO26
pip install ultralytics

Para 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.

Exportaçã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'
Previsão
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")
Validar
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#

ArgumentoTipoPredefiniçãoDescrição
formatstr'saved_model'Formato de destino do modelo exportado, que define a compatibilidade com vários ambientes de implementação.
imgszint ou tuple640Tamanho 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.
kerasboolFalsePermite exportar para o formato Keras, proporcionando compatibilidade com o serviço e as APIs do TensorFlow.
quantizeint ou strNonePrecisã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.
opsetintNoneEspecifica a versão do opset ONNX para o grafo ONNX intermédio. Se não for definida, utiliza a versão mais recente suportada.
nmsbool, opcionalNoneSeleciona a saída em bruto (None, predefinição), a NMS embutida (True) ou a cabeça sem NMS (False).
batchint1Especifica 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.
datastrNoneCaminho 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.
fractionfloat, int ou list1.0Subconjunto 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.
devicestrNoneEspecifica 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 SavedModel
    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'
    
    # 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 ultralytics

    Para 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.

Comentários