Entenda como exportar para o formato TF SavedModel a partir do YOLO26
Implantar modelos de machine learning pode ser um desafio. No entanto, usar um formato de modelo eficiente e flexível pode facilitar o seu trabalho. O TF SavedModel é uma estrutura de machine learning de código aberto usada pelo TensorFlow para carregar modelos de machine learning de maneira consistente. É como uma mala para modelos do TensorFlow, tornando-os fáceis de transportar e usar em diferentes dispositivos e sistemas.
Aprender a exportar modelos do Ultralytics YOLO26 para o TF SavedModel pode te ajudar a implantar modelos facilmente em diferentes plataformas e ambientes. Neste guia, mostraremos 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ê 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 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 oferece uma maneira unificada de gerenciar seus modelos, garantindo que estejam prontos para qualquer aplicação.
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 oferece um formato de serialização neutro em relação à linguagem, recuperável e hermético. 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 a necessidade do código original que criou o modelo. Isso torna a implantação de modelos do TensorFlow simples e eficiente em vários ambientes de produção.
-
Gerenciamento de Ativos: O TF SavedModel oferece suporte à 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 Implantação com o TF SavedModel
Antes de mergulharmos no processo de exportação de modelos YOLO26 para o formato TF SavedModel, vamos explorar alguns cenários típicos de implantação 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 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 o serviç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 do TensorFlow, incluindo TF SavedModels. Esses serviços fornecem infraestrutura escalável e gerenciada, permitindo que você implante e dimensione seus modelos facilmente.
-
Dispositivos Móveis e Embarcados: O TensorFlow Lite, uma solução leve para executar modelos de machine learning em dispositivos móveis, embarcados e IoT, suporta a conversão de TF SavedModels para o formato TensorFlow Lite. Isso permite que você implante seus modelos em uma ampla gama de dispositivos, de smartphones e tablets a microcontroladores e dispositivos de borda.
-
TensorFlow Runtime: O TensorFlow Runtime (
tfrt) é um runtime de alto desempenho para executar grafos do TensorFlow. 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 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.
Exportando Modelos YOLO26 para o 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 práticas recomendadas relacionadas ao processo de instalação, consulte nosso guia de instalação da Ultralytics. Ao instalar os pacotes necessários para o YOLO26, se você encontrar alguma dificuldade, consulte 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 imediata, facilitando a sua integração no teu fluxo de trabalho de implementação preferido. Podes ver a lista completa de formatos de exportação suportados e opções de configuração para escolheres a melhor configuração para a tua aplicação.
from ultralytics import YOLO
# Load the 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 model
tf_savedmodel_model = YOLO("./yolo26n_saved_model")
# Run inference
results = tf_savedmodel_model("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 | Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions. |
keras | bool | False | Habilita a exportação para o formato Keras, proporcionando compatibilidade com o TensorFlow Serving e APIs. |
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 Supressão Não Máxima (NMS), essencial para o pós-processamento de detecçã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 processará simultaneamente no modo predict. |
data | str | 'coco8.yaml' | Caminho para o arquivo de configuração do dataset (padrão: coco8.yaml), essencial para a quantização. |
fraction | float | 1.0 | Especifica a fração do dataset a ser usada para calibração de quantização INT8. Permite calibrar em um subconjunto do dataset completo, útil para experimentos ou quando os recursos são limitados. Se não for especificado com INT8 ativado, o dataset completo será usado. |
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, visite a página de documentação da Ultralytics sobre exportação.
Implantando Modelos YOLO26 TF SavedModel Exportados
Agora que você exportou seu 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/"), como mostrado anteriormente no trecho de código de uso.
No entanto, para obter instruções detalhadas sobre a implantação de seus modelos TF SavedModel, dê uma olhada nos seguintes recursos:
-
TensorFlow Serving: Aqui está a documentação para desenvolvedores sobre como implantar seus 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.
-
Implantação 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 o TF SavedModel, você ganha a flexibilidade para otimizar, implantar e escalar seus modelos YOLO26 em uma ampla gama de plataformas.
Para obter mais detalhes sobre o uso, visite a documentação oficial do TF SavedModel.
Para mais informações sobre a integração do Ultralytics YOLO26 com outras plataformas e frameworks, não se esqueça de conferir nossa página do guia de integração. Ela está repleta de ótimos recursos para ajudar você a aproveitar ao máximo o YOLO26 em seus projetos.
FAQ
Como exporto 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 isso:
from ultralytics import YOLO
# Load the 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 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 oferece um formato neutro em relação à linguagem, facilitando o compartilhamento e a implantaçã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 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 e a continuação do treinamento de forma direta.
Para obter mais benefícios e opções de implantação, confira as opções de implantação de modelo Ultralytics YOLO.
Quais são os cenários típicos de implantação para o TF SavedModel?
O TF SavedModel pode ser implantado em vários ambientes, incluindo:
- TensorFlow Serving: Ideal para ambientes de produção que exigem um serviço de modelo escalável e de alto desempenho.
- Plataformas de Nuvem: Oferece suporte aos 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 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 obter opções detalhadas de implantação, visite os guias oficiais sobre como implantar modelos TensorFlow.
Como posso instalar os pacotes necessários para exportar modelos YOLO26?
Para exportar modelos YOLO26, você precisa instalar o pacote ultralytics. Execute o seguinte comando em seu terminal:
pip install ultralyticsPara obter instruções de instalação mais detalhadas e práticas recomendadas, consulte nosso guia de Instalação da Ultralytics. Se encontrar algum problema, consulte nosso guia de Problemas Comuns.
Quais são os principais recursos do formato TensorFlow SavedModel?
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, parâmetros treinados e metadados em um único pacote, o que simplifica o carregamento e a inferência.
- Gerenciamento de Ativos: Oferece suporte a 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.