Salta para o conteĆŗdo

Como exportar para TF GraphDef a partir de YOLOv8 para implementaĆ§Ć£o

Quando implementas modelos de visĆ£o computacional de ponta, como YOLOv8, em diferentes ambientes, podes deparar-te com problemas de compatibilidade. O Google TensorFlow GraphDef , ou TF GraphDef , oferece uma soluĆ§Ć£o ao fornecer uma representaĆ§Ć£o serializada e independente de plataforma do seu modelo. Utilizando o formato de modelo TF GraphDef , podes implementar o teu modelo YOLOv8 em ambientes onde o ecossistema TensorFlow completo pode nĆ£o estar disponĆ­vel, como dispositivos mĆ³veis ou hardware especializado.

Neste guia, vamos mostrar-te, passo a passo, como exportar os teus Ultralytics YOLOv8 modelos para o formato de modelo TF GraphDef . Ao converter o teu modelo, podes simplificar a implementaĆ§Ć£o e utilizar as capacidades de visĆ£o por computador do YOLOv8 numa gama mais vasta de aplicaƧƵes e plataformas.

TensorFlow GraphDef

Por que razĆ£o deves exportar para TF GraphDef ?

TF GraphDef Ć© um componente poderoso do ecossistema TensorFlow que foi desenvolvido pela Google. Pode ser utilizado para otimizar e implementar modelos como YOLOv8. Exportar para TF GraphDef permite-nos passar os modelos da investigaĆ§Ć£o para aplicaƧƵes reais. Permite que os modelos sejam executados em ambientes sem a estrutura TensorFlow completa.

O formato GraphDef representa o modelo como um grĆ”fico de computaĆ§Ć£o serializado. Isto permite vĆ”rias tĆ©cnicas de otimizaĆ§Ć£o, como a dobragem de constantes, a quantizaĆ§Ć£o e as transformaƧƵes de grĆ”ficos. Estas optimizaƧƵes garantem uma execuĆ§Ć£o eficiente, uma utilizaĆ§Ć£o reduzida da memĆ³ria e velocidades de inferĆŖncia mais rĆ”pidas.

GraphDef podem utilizar aceleradores de hardware, como GPUs, TPUs e chips de IA, desbloqueando ganhos de desempenho significativos para o pipeline de inferĆŖncia YOLOv8 . 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 funcionalidades distintas para simplificar a implementaĆ§Ć£o e otimizaĆ§Ć£o de modelos.

VĆŖ aqui as suas principais caracterĆ­sticas:

  • SerializaĆ§Ć£o de modelos: TF GraphDef fornece uma maneira de serializar e armazenar modelos TensorFlow em um formato independente de plataforma. Essa representaĆ§Ć£o serializada permite carregar e executar seus modelos sem a base de cĆ³digo Python original, facilitando a implantaĆ§Ć£o.

  • OtimizaĆ§Ć£o de grĆ”ficos: TF GraphDef permite a otimizaĆ§Ć£o de grĆ”ficos computacionais. Essas otimizaƧƵes podem aumentar o desempenho, simplificando o fluxo de execuĆ§Ć£o, reduzindo redundĆ¢ncias e adaptando as operaƧƵes para atender a um 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. Isto abre possibilidades para uma implementaĆ§Ć£o mais ampla dos teus modelos TensorFlow .

  • Foco na produĆ§Ć£o: GraphDef foi concebido para a implementaĆ§Ć£o na produĆ§Ć£o. Suporta execuĆ§Ć£o eficiente, recursos de serializaĆ§Ć£o e otimizaƧƵes que se alinham com casos de uso do mundo real.

OpƧƵes de implantaĆ§Ć£o com TF GraphDef

Antes de nos debruƧarmos sobre o processo de exportaĆ§Ć£o dos modelos YOLOv8 para TF GraphDef , vamos analisar algumas situaƧƵes tĆ­picas de implementaĆ§Ć£o em que este formato Ć© utilizado.

Eis como podes implementar com TF GraphDef de forma eficiente em vƔrias plataformas.

  • TensorFlow Servir: Esta estrutura foi concebida para implementar modelos TensorFlow em ambientes de produĆ§Ć£o. TensorFlow O Serving oferece gerenciamento de modelos, controle de versĆ£o e a infraestrutura para o fornecimento eficiente de modelos em escala. Ɖ uma maneira perfeita de integrar seus modelos baseados em GraphDef em serviƧos Web ou APIs de produĆ§Ć£o.

  • Dispositivos mĆ³veis e incorporados: Com ferramentas como TensorFlow Lite, podes converter modelos TF GraphDef em formatos optimizados para smartphones, tablets e vĆ”rios dispositivos incorporados. Os teus modelos podem entĆ£o ser utilizados para inferĆŖncia no dispositivo, onde a execuĆ§Ć£o Ć© feita localmente, proporcionando frequentemente ganhos de desempenho e capacidades offline.

  • Navegadores Web: TensorFlow.js permite a implementaĆ§Ć£o de modelos TF GraphDef diretamente nos navegadores Web. Abre caminho para aplicaƧƵes de deteĆ§Ć£o de objectos em tempo real executadas no lado do cliente, utilizando as capacidades do YOLOv8 atravĆ©s do JavaScript.

  • Hardware especializado: TF A natureza agnĆ³stica da plataforma doGraphDef permite-lhe utilizar hardware personalizado, como aceleradores e TPUs (Tensor Processing Units). Estes dispositivos podem proporcionar vantagens de desempenho para modelos computacionalmente intensivos.

ExportaĆ§Ć£o de modelos YOLOv8 para TF GraphDef

Podes converter o teu modelo de deteĆ§Ć£o de objectos YOLOv8 para o formato TF GraphDef , que Ć© compatĆ­vel com vĆ”rios sistemas, para melhorar o seu desempenho em vĆ”rias plataformas.

InstalaĆ§Ć£o

Para instalar o pacote necessƔrio, executa:

InstalaĆ§Ć£o

# Install the required package for YOLOv8
pip install ultralytics

Para obter instruƧƵes detalhadas e melhores prĆ”ticas relacionadas com o processo de instalaĆ§Ć£o, consulta o nosso guia de instalaĆ§Ć£oUltralytics . Durante a instalaĆ§Ć£o dos pacotes necessĆ”rios para YOLOv8, se tiveres alguma dificuldade, consulta o nosso guia de Problemas comuns para obteres soluƧƵes e sugestƵes.

UtilizaĆ§Ć£o

Antes de seguir as instruƧƵes de utilizaĆ§Ć£o, Ć© importante notar que, embora todos os modelosUltralytics YOLOv8 estejam disponĆ­veis para exportaĆ§Ć£o, podes garantir que o modelo que seleccionaste suporta a funcionalidade de exportaĆ§Ć£o aqui.

UtilizaĆ§Ć£o

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolov8n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolov8n.pb")

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF GraphDef format
yolo export model=yolov8n.pt format=pb  # creates 'yolov8n.pb'

# Run inference with the exported model
yolo predict model='yolov8n.pb' source='https://ultralytics.com/images/bus.jpg'

Para obter mais detalhes sobre as opƧƵes de exportaĆ§Ć£o suportadas, visita a pĆ”gina de documentaĆ§Ć£oUltralytics sobre opƧƵes de implementaĆ§Ć£o.

ImplantaĆ§Ć£o de modelos exportados YOLOv8 TF GraphDef

Depois de exportar o modelo YOLOv8 para o formato TF GraphDef , a prĆ³xima etapa Ć© a implantaĆ§Ć£o. A primeira etapa principal e recomendada para executar um modelo TF GraphDef Ć© usar o mĆ©todo YOLO("model.pb"), como mostrado anteriormente no trecho de cĆ³digo de uso.

No entanto, para obter mais informaƧƵes sobre a implementaĆ§Ć£o dos modelos TF GraphDef , consulta os seguintes recursos:

  • TensorFlow Servir: Um guia sobre TensorFlow Serving que ensina como implementar e servir modelos de aprendizagem automĆ”tica de forma eficiente em ambientes de produĆ§Ć£o.

  • TensorFlow Lite: Esta pĆ”gina descreve como converter modelos de aprendizagem automĆ”tica num formato optimizado 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 para o formato TensorFlow.js para utilizaĆ§Ć£o em aplicaƧƵes Web.

Resumo

Neste guia, exploramos como exportar modelos Ultralytics YOLOv8 para o formato TF GraphDef . Ao fazer isso, podes implementar de forma flexĆ­vel os teus modelos YOLOv8 optimizados em diferentes ambientes.

Para mais informaƧƵes sobre a utilizaĆ§Ć£o, visita a documentaĆ§Ć£o oficialTF GraphDef .

Para obter mais informaƧƵes sobre a integraĆ§Ć£o do Ultralytics YOLOv8 com outras plataformas e estruturas, nĆ£o te esqueƧas de consultar a nossa pĆ”gina do guia de integraĆ§Ć£o. Ela tem Ć³timos recursos e insights para ajudĆ”-lo a aproveitar ao mĆ”ximo o YOLOv8 em seus projetos.



Criado em 2024-03-22, Atualizado em 2024-05-18
Autores: glenn-jocher (1), RizwanMunawar (1), Burhan-Q (1), abirami-vina (1)

ComentƔrios