Como Exportar para TF GraphDef do YOLO11 para Implantação
Ao implementar modelos de visão computacional de ponta, como o YOLO11, em diferentes ambientes, você pode encontrar problemas de compatibilidade. O TensorFlow GraphDef do Google, ou TF GraphDef, oferece uma solução, fornecendo uma representação serializada e independente de plataforma do seu modelo. Usando o formato de modelo TF GraphDef, você pode implementar seu modelo YOLO11 em ambientes onde o ecossistema TensorFlow completo pode não estar disponível, como dispositivos móveis ou hardware especializado.
Neste guia, orientaremos você passo a passo sobre como exportar seus modelos Ultralytics YOLO11 para o formato de modelo TF GraphDef. Ao converter seu modelo, você pode otimizar a implantação e usar os recursos de visão computacional do YOLO11 em uma gama mais ampla de aplicações e plataformas.
Por que você deve exportar para TF GraphDef?
TF GraphDef é um componente poderoso do ecossistema TensorFlow que foi desenvolvido pela Google. Ele pode ser usado para otimizar e implantar modelos como o YOLO11. Exportar para TF GraphDef permite mover modelos da pesquisa para aplicações no mundo real. Ele permite que os modelos sejam executados em ambientes sem o framework TensorFlow completo.
O formato GraphDef representa o modelo como um grafo de computação serializado. Isso permite várias técnicas de otimização, como folding constante, quantização e transformações de grafo. Essas otimizações garantem execução eficiente, uso reduzido de memória e velocidades de inferência mais rápidas.
Os modelos GraphDef podem usar aceleradores de hardware, como GPUs, TPUs e chips de IA, desbloqueando ganhos de desempenho significativos para o pipeline de inferência YOLO11. O formato TF GraphDef cria um pacote autónomo com o modelo e as suas dependências, simplificando a implementação e a integração em diversos sistemas.
Principais Características dos Modelos TF GraphDef
TF GraphDef oferece recursos distintos para otimizar a implantação de modelos e a otimização.
Aqui está uma olhada em suas principais características:
-
Serialização de Modelo: O TF GraphDef fornece uma maneira de serializar e armazenar modelos TensorFlow em um formato independente de plataforma. Essa representação serializada permite que você carregue e execute seus modelos sem o código-fonte original em python, facilitando a implantação.
-
Otimização de Grafos: TF GraphDef permite a otimização de grafos computacionais. Essas otimizações podem aumentar o desempenho, simplificando o fluxo de execução, reduzindo redundâncias e adaptando as operações para se adequarem ao hardware específico.
-
Flexibilidade de Implantação: Os modelos exportados para o formato GraphDef podem ser usados em vários ambientes, incluindo dispositivos com recursos limitados, navegadores da web e sistemas com hardware especializado. Isso abre possibilidades para uma implantação mais ampla de seus modelos TensorFlow.
-
Foco na Produção: GraphDef foi projetado para implementação em produção. Ele oferece suporte à execução eficiente, recursos de serialização e otimizações que se alinham com casos de uso do mundo real.
Opções de Implementação com TF GraphDef
Antes de nos aprofundarmos no processo de exportação de modelos YOLO11 para TF GraphDef, vamos dar uma olhada em algumas situações de implementação típicas onde este formato é usado.
Veja como você pode implementar com TF GraphDef de forma eficiente em várias plataformas.
-
TensorFlow Serving: Esta estrutura foi projetada para implantar modelos TensorFlow em ambientes de produção. O TensorFlow Serving oferece gerenciamento de modelos, versionamento e a infraestrutura para fornecimento eficiente de modelos em escala. É uma maneira perfeita de integrar seus modelos baseados em GraphDef em serviços ou APIs da web de produção.
-
Dispositivos Móveis e Embutidos: Com ferramentas como TensorFlow Lite, você pode converter modelos TF GraphDef em formatos otimizados para smartphones, tablets e vários dispositivos embutidos. Seus modelos podem então ser usados para inferência no dispositivo, onde a execução é feita localmente, muitas vezes proporcionando ganhos de desempenho e capacidades offline.
-
Navegadores Web: O TensorFlow.js permite a implementação de modelos TF GraphDef diretamente em navegadores web. Ele abre caminho para aplicações de detecção de objetos em tempo real executadas no lado do cliente, usando as capacidades do YOLO11 através de JavaScript.
-
Hardware Especializado: A natureza independente de plataforma do TF GraphDef permite que ele tenha como alvo hardware personalizado, como aceleradores e TPUs (Unidades de Processamento de Tensor). Esses dispositivos podem fornecer vantagens de desempenho para modelos computacionalmente intensivos.
Exportando Modelos YOLO11 para TF GraphDef
Você pode converter seu modelo de detecção de objetos YOLO11 para o formato TF GraphDef, que é compatível com vários sistemas, para melhorar seu desempenho em todas as plataformas.
Instalação
Para instalar o pacote necessário, execute:
Instalação
# Install the required package for YOLO11
pip install ultralytics
Para obter instruções detalhadas e melhores práticas relacionadas ao processo de instalação, consulte nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLO11, se você encontrar alguma dificuldade, consulte nosso guia de problemas comuns para obter soluções e dicas.
Utilização
Todos os modelos Ultralytics YOLO11 são projetados para suportar a exportação, facilitando a integração em seu fluxo de trabalho de implantação preferido. Você pode visualizar a lista completa de formatos de exportação e opções de configuração suportados para escolher a melhor configuração para sua aplicação.
Utilização
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo11n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model=yolo11n.pt format=pb # creates 'yolo11n.pb'
# Run inference with the exported model
yolo predict model='yolo11n.pb' source='https://ultralytics.com/images/bus.jpg'
Argumentos de Exportação
Argumento | Tipo | Padrão | Descrição |
---|---|---|---|
format |
str |
'pb' |
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 inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas. |
batch |
int |
1 |
Especifica o tamanho do lote de inferência do modelo de exportação ou o número máximo de imagens que o modelo exportado processará simultaneamente em predict modo. |
device |
str |
None |
Especifica o dispositivo para exportar: 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.
Implantação de Modelos TF GraphDef YOLO11 Exportados
Depois de exportar seu modelo YOLO11 para o formato TF GraphDef, a próxima etapa é a implementação. A primeira etapa principal e recomendada para executar um modelo TF GraphDef é usar o método YOLO("model.pb"), conforme mostrado anteriormente no trecho de código de uso.
No entanto, para obter mais informações sobre como implementar seus modelos TF GraphDef, consulte os seguintes recursos:
-
TensorFlow Serving: Um guia sobre TensorFlow Serving que ensina como implantar e servir modelos de machine learning de forma eficiente em ambientes de produção.
-
TensorFlow Lite: Esta página descreve como converter modelos de machine learning em um formato otimizado para inferência no dispositivo com TensorFlow Lite.
-
TensorFlow.js: Um guia sobre conversão de modelos que ensina como converter modelos TensorFlow ou Keras em formato TensorFlow.js para uso em aplicações web.
Resumo
Neste guia, exploramos como exportar modelos Ultralytics YOLO11 para o formato TF GraphDef. Ao fazer isso, você pode implantar de forma flexível seus modelos YOLO11 otimizados em diferentes ambientes.
Para obter mais detalhes sobre o uso, visite a documentação oficial do TF GraphDef.
Para obter mais informações sobre como integrar o Ultralytics YOLO11 com outras plataformas e frameworks, não se esqueça de consultar nossa página de guia de integração. Ela tem ótimos recursos e insights para ajudá-lo a aproveitar ao máximo o YOLO11 em seus projetos.
FAQ
Como exporto um modelo YOLO11 para o formato TF GraphDef?
Os modelos Ultralytics YOLO11 podem ser exportados para o formato TensorFlow GraphDef (TF GraphDef) de forma integrada. Este formato oferece uma representação serializada e independente de plataforma do modelo, ideal para implantação em diversos ambientes, como dispositivos móveis e web. Para exportar um modelo YOLO11 para TF GraphDef, siga estes passos:
Utilização
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo11n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model="yolo11n.pt" format="pb" # creates 'yolo11n.pb'
# Run inference with the exported model
yolo predict model="yolo11n.pb" source="https://ultralytics.com/images/bus.jpg"
Para obter mais informações sobre diferentes opções de exportação, visite a documentação Ultralytics sobre exportação de modelos.
Quais são os benefícios de usar o TF GraphDef para a implantação de modelos YOLO11?
Exportar modelos YOLO11 para o formato TF GraphDef oferece várias vantagens, incluindo:
- Independência de Plataforma: O TF GraphDef fornece um formato independente de plataforma, permitindo que os modelos sejam implementados em vários ambientes, incluindo navegadores móveis e da web.
- Otimizações: O formato permite várias otimizações, como constant folding, quantização e transformações de grafo, que melhoram a eficiência da execução e reduzem o uso de memória.
- Aceleração de Hardware: Modelos no formato TF GraphDef podem aproveitar aceleradores de hardware como GPUs, TPUs e chips de IA para ganhos de desempenho.
Leia mais sobre os benefícios na seção TF GraphDef da nossa documentação.
Por que devo usar Ultralytics YOLO11 em vez de outros modelos de detecção de objetos?
O Ultralytics YOLO11 oferece inúmeras vantagens em comparação com outros modelos, como YOLOv5 e YOLOv7. Alguns dos principais benefícios incluem:
- Desempenho de Última Geração: YOLO11 oferece velocidade e precisão excepcionais para detecção de objetos, segmentação e classificação em tempo real.
- Facilidade de Uso: Apresenta uma API amigável para treinamento, validação, previsão e exportação de modelos, tornando-o acessível tanto para iniciantes quanto para especialistas.
- Ampla Compatibilidade: Suporta múltiplos formatos de exportação, incluindo ONNX, TensorRT, CoreML e TensorFlow, para opções de implementação versáteis.
Explore mais detalhes em nossa introdução ao YOLO11.
Como posso implantar um modelo YOLO11 em hardware especializado usando TF GraphDef?
Depois que um modelo YOLO11 é exportado para o formato TF GraphDef, você pode implementá-lo em várias plataformas de hardware especializadas. Os cenários de implementação típicos incluem:
- TensorFlow Serving: Use o TensorFlow Serving para implantação de modelo escalável em ambientes de produção. Ele oferece suporte ao gerenciamento de modelos e ao fornecimento eficiente.
- Dispositivos Móveis: Converta modelos TF GraphDef para TensorFlow Lite, otimizados para dispositivos móveis e embarcados, permitindo a inferência no dispositivo.
- Navegadores Web: Implante modelos usando TensorFlow.js para inferência no lado do cliente em aplicações web.
- Aceleradores de IA: Aproveite TPUs e chips de IA personalizados para inferência acelerada.
Verifique a seção de opções de implantação para obter informações detalhadas.
Onde posso encontrar soluções para problemas comuns ao exportar modelos YOLO11?
Para solucionar problemas comuns com a exportação de modelos YOLO11, a Ultralytics fornece guias e recursos abrangentes. Se você encontrar problemas durante a instalação ou exportação do modelo, consulte:
- Guia de Problemas Comuns: Oferece soluções para problemas enfrentados frequentemente.
- Guia de Instalação: Instruções passo a passo para configurar os pacotes necessários.
Esses recursos devem ajudá-lo a resolver a maioria dos problemas relacionados à exportação e implantação do modelo YOLO11.