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.
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:
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')
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-04-03
Autores: RizwanMunawar (1), Burhan-Q (1), abirami-vina (1)