Compreender como exportar para o formato TF SavedModel de YOLO11
A implementação de modelos de aprendizagem automática pode ser um desafio. No entanto, a utilização de um formato de modelo eficiente e flexível pode facilitar o seu trabalho. TF SavedModel é uma estrutura de aprendizagem automática de código aberto utilizada por TensorFlow para carregar modelos de aprendizagem automática de forma consistente. É como uma mala para os modelos TensorFlow , tornando-os fáceis de transportar e utilizar em diferentes dispositivos e sistemas.
Aprender a exportar para TF SavedModel de Ultralytics YOLO11 pode ajudá-lo a implantar modelos facilmente em diferentes plataformas e ambientes. Neste guia, explicaremos como converter seus modelos para o formato TF SavedModel , simplificando o processo de execução de inferências com seus modelos em diferentes dispositivos.
Porque é que deve exportar para TF SavedModel ?
O formato TensorFlow SavedModel faz parte do ecossistema TensorFlow desenvolvido por Google , como indicado abaixo. Foi concebido para guardar e serializar modelos TensorFlow sem problemas. Encapsula os detalhes completos 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 da formação em diferentes ambientes.
O TF SavedModel tem uma vantagem fundamental: a sua compatibilidade. Funciona bem com o TensorFlow Serving, TensorFlow Lite e 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 a investigação como para a produção. Ele fornece uma maneira unificada de gerenciar seus modelos, garantindo que eles estejam prontos para qualquer aplicativo.
Principais caraterísticas do TF SavedModels
Eis as principais caraterísticas que tornam o TF SavedModel uma óptima opção para os programadores de IA:
-
Portabilidade: TF SavedModel fornece um formato de serialização hermético, recuperável e neutro em termos de linguagem. Permitem 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: TF SavedModel agrupa o gráfico computacional, os parâmetros treinados e os metadados necessários num único pacote. Estes podem ser facilmente carregados e utilizados para inferência sem necessidade do código original que construiu o modelo. Isto torna a implementação dos modelos TensorFlow simples e eficiente em vários ambientes de produção.
-
Gestão de activos: TF SavedModel suporta a inclusão de activos externos, tais como vocabulários, embeddings ou tabelas de pesquisa. Estes activos são armazenados juntamente com a definição do gráfico e as variáveis, garantindo que estão disponíveis quando o modelo é carregado. Este 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 nos debruçarmos sobre o processo de exportação de modelos YOLO11 para o formato TF SavedModel , vamos explorar alguns cenários de implementação típicos em que este formato é utilizado.
TF SavedModel fornece uma gama de opções para implementar os seus modelos de aprendizagem automática:
-
TensorFlow Serving: 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 a veiculaçã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 TensorFlow , incluindo TF SavedModels. Estes serviços fornecem infra-estruturas escaláveis e geridas, permitindo-lhe implementar e escalar os seus modelos facilmente.
-
Dispositivos móveis e incorporados: TensorFlow Lite, uma solução leve para executar modelos de aprendizado de máquina em dispositivos móveis, incorporados e IoT, suporta a conversão de TF SavedModels para o formato TensorFlow Lite. Isto permite-lhe implementar os seus modelos numa vasta gama de dispositivos, desde smartphones e tablets a microcontroladores e dispositivos de ponta.
-
TensorFlow Tempo de execução: TensorFlow Tempo de execução (
tfrt
) é um tempo de execução de alto desempenho para executar TensorFlow gráficos. Fornece APIs de nível inferior para carregar e executar TF SavedModels em ambientes C++. TensorFlow O tempo de execução oferece melhor desempenho em comparação com o tempo de execução padrão TensorFlow . É adequado para cenários de implantação que requerem inferência de baixa latência e forte integração com bases de código C++ existentes.
Exportação de modelos YOLO11 para TF SavedModel
Ao exportar os modelos YOLO11 para o formato TF SavedModel , aumenta a sua adaptabilidade e facilidade de implementação em várias plataformas.
Instalação
Para instalar o pacote necessário, execute:
Para obter instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulte o nosso guia de instalaçãoUltralytics . Ao instalar os pacotes necessários para YOLO11, se encontrar alguma dificuldade, consulte o nosso guia de Problemas comuns para obter soluções e dicas.
Utilização
Antes de se debruçar sobre as instruções de utilização, é importante notar que, embora todos os modelos deUltralytics YOLO11 estejam disponíveis para exportação, pode certificar-se de que o modelo selecionado suporta a funcionalidade de exportação aqui.
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")
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 |
Tamanho de imagem pretendido 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 |
Permite a exportação para o formato Keras, proporcionando compatibilidade com o serviço e as APIs TensorFlow . |
int8 |
bool |
False |
Ativa a quantização INT8, comprimindo ainda mais o modelo e acelerando a inferência com uma perda mínima de precisão, principalmente para dispositivos de borda. |
nms |
bool |
False |
Adiciona Supressão Não Máxima (NMS), essencial para um pós-processamento de deteçã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 irá processar em simultâneo em predict modo. |
Para mais informações sobre o processo de exportação, visite a página de documentaçãoUltralytics sobre exportação.
Implantação de modelos exportados YOLO11 TF SavedModel
Agora que exportou o seu modelo YOLO11 para o formato TF SavedModel , o próximo passo é implementá-lo. O primeiro passo primário e recomendado para executar um modelo TF SavedModel é utilizar a função YOLO("yolo11n_saved_model/")
como mostrado anteriormente no trecho de código de uso.
No entanto, para obter instruções detalhadas sobre a implementação dos seus modelos TF SavedModel , consulte os seguintes recursos:
-
TensorFlow Serviço: Aqui está a documentação do programador sobre como implementar os seus modelos TF SavedModel utilizando TensorFlow Serving.
-
Executar um TensorFlow SavedModel em Node.js: Uma publicação no blogue TensorFlow sobre a execução de um TensorFlow SavedModel no Node.js diretamente sem conversão.
-
Implementação na nuvem: Uma publicação no blogue 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 flexibilidade para otimizar, implantar e dimensionar seus modelos YOLO11 em uma ampla variedade de plataformas.
Para mais informações sobre a utilização, visite a documentação oficialTF SavedModel .
Para obter mais informações sobre a integração do Ultralytics YOLO11 com outras plataformas e estruturas, não se esqueça de conferir nossa página de 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 é que exporto um modelo Ultralytics YOLO para o formato TensorFlow SavedModel ?
A exportação de um modelo Ultralytics YOLO para o formato TensorFlow SavedModel é simples. Para o efeito, pode utilizar Python ou CLI :
Exportar 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")
Consulte a documentaçãoUltralytics Export para obter mais detalhes.
Por que razão devo utilizar o formato TensorFlow SavedModel ?
O formato TensorFlow SavedModel oferece várias vantagens para a implementação do modelo:
- Portabilidade: Fornece um formato neutro em termos de linguagem, facilitando a partilha 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 a implementação de 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 direta e a continuação do treino.
Para obter mais vantagens e opções de implementação, consulte as opções de implementação do modeloUltralytics YOLO .
Quais são os cenários típicos de implantação para TF SavedModel ?
TF SavedModel pode ser implantado em vários ambientes, incluindo:
- TensorFlow Servindo: Ideal para ambientes de produção que requerem um 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 de modelo escalável.
- Dispositivos móveis e incorporados: O uso do TensorFlow Lite para converter TF SavedModels permite a implantação em dispositivos móveis, dispositivos IoT e microcontroladores.
- TensorFlow Tempo de execução: Para ambientes C++ que necessitam de inferência de baixa latência com melhor desempenho.
Para opções de implementação detalhadas, visite os guias oficiais sobre a implementação dos modelos TensorFlow .
Como posso instalar os pacotes necessários para exportar os modelos YOLO11 ?
Para exportar modelos YOLO11 , é necessário instalar o ultralytics
pacote. Execute o seguinte comando no seu terminal:
Para obter instruções de instalação mais detalhadas e melhores práticas, consulte o nosso guia de instalaçãoUltralytics . Se encontrar algum problema, consulte o nosso guia de problemas comuns.
Quais são as principais caraterísticas do formato TensorFlow SavedModel ?
TF SavedModel é vantajoso para os programadores de IA devido às seguintes caraterísticas:
- Portabilidade: Permite a partilha e a implementação em vários ambientes sem esforço.
- Facilidade de implementação: Encapsula o gráfico computacional, os parâmetros treinados e os metadados num único pacote, o que simplifica o carregamento e a inferência.
- Gestão de activos: Suporta activos externos como vocabulários, assegurando que estão disponíveis quando o modelo é carregado.
Para mais informações, consulte a documentação oficial TensorFlow .