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. Google O TensorFlow GraphDef , 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 , 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 por 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 do mundo real. 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 seu YOLOv8 modelo para o TF GraphDef formato, a prĆ³xima etapa Ć© a implantaĆ§Ć£o. O primeiro passo principal e recomendado para executar um TF GraphDef modelo Ć© usar o YOLO ("model.pb"), conforme 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.

FAQ

Como Ć© que exporto um modelo YOLOv8 para o formato TF GraphDef ?

Ultralytics YOLOv8 Os modelos podem ser exportados para o formato TensorFlow GraphDef (TF GraphDef ) sem problemas. Esse formato fornece uma representaĆ§Ć£o serializada e independente de plataforma do modelo, ideal para implantaĆ§Ć£o em ambientes variados, como mĆ³vel e Web. Para exportar um modelo YOLOv8 para TF GraphDef , siga estas etapas:

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 mais informaƧƵes sobre as diferentes opƧƵes de exportaĆ§Ć£o, consulta a documentaĆ§Ć£oUltralytics sobre exportaĆ§Ć£o de modelos.

Quais sĆ£o as vantagens de utilizar TF GraphDef para a implementaĆ§Ć£o do modelo YOLOv8 ?

A exportaĆ§Ć£o de modelos YOLOv8 para o formato TF GraphDef oferece vĆ”rias vantagens, incluindo:

  1. IndependĆŖncia da plataforma: TF GraphDef fornece um formato independente da plataforma, permitindo que os modelos sejam implantados em vĆ”rios ambientes, incluindo navegadores mĆ³veis e da Web.
  2. OptimizaƧƵes: O formato permite vĆ”rias optimizaƧƵes, como a dobragem de constantes, a quantizaĆ§Ć£o e as transformaƧƵes de grĆ”ficos, que melhoram a eficiĆŖncia da execuĆ§Ć£o e reduzem a utilizaĆ§Ć£o de memĆ³ria.
  3. AceleraĆ§Ć£o de hardware: Modelos no formato TF GraphDef podem aproveitar aceleradores de hardware como GPUs, TPUs e chips de IA para obter ganhos de desempenho.

LĆŖ mais sobre as vantagens na secĆ§Ć£oTF GraphDef da nossa documentaĆ§Ć£o.

Por que razĆ£o devo utilizar Ultralytics YOLOv8 em vez de outros modelos de deteĆ§Ć£o de objectos?

Ultralytics YOLOv8 oferece inĆŗmeras vantagens em comparaĆ§Ć£o com outros modelos como YOLOv5 e YOLOv7. Algumas das principais vantagens incluem:

  1. Desempenho topo de gama: YOLOv8 proporciona uma velocidade e precisĆ£o excepcionais para a deteĆ§Ć£o, segmentaĆ§Ć£o e classificaĆ§Ć£o de objectos em tempo real.
  2. Facilidade de utilizaĆ§Ć£o: Apresenta uma API de fĆ”cil utilizaĆ§Ć£o para formaĆ§Ć£o, validaĆ§Ć£o, previsĆ£o e exportaĆ§Ć£o de modelos, tornando-a acessĆ­vel tanto para principiantes como para especialistas.
  3. Ampla compatibilidade: Suporta vĆ”rios formatos de exportaĆ§Ć£o, incluindo ONNX, TensorRT, CoreML, e TensorFlow, para opƧƵes de implementaĆ§Ć£o versĆ”teis.

Explora mais detalhes na nossa introduĆ§Ć£o a YOLOv8.

Como posso implementar um modelo YOLOv8 num hardware especializado utilizando TF GraphDef ?

Depois de exportar um modelo YOLOv8 para o formato TF GraphDef , pode implementĆ”-lo em vĆ”rias plataformas de hardware especializadas. Os cenĆ”rios tĆ­picos de implantaĆ§Ć£o incluem:

  • TensorFlow Servir: Utiliza o TensorFlow Serving para a implementaĆ§Ć£o de modelos escalĆ”veis em ambientes de produĆ§Ć£o. Suporta a gestĆ£o de modelos e o serviƧo eficiente.
  • Dispositivos mĆ³veis: Converte os modelos TF GraphDef para TensorFlow Lite, optimizados para dispositivos mĆ³veis e incorporados, permitindo a inferĆŖncia no dispositivo.
  • Navegadores Web: Implementa modelos utilizando TensorFlow.js para inferĆŖncia do lado do cliente em aplicaƧƵes Web.
  • Aceleradores de IA: Aproveita TPUs e chips de IA personalizados para inferĆŖncia acelerada.

Consulta a secĆ§Ć£o de opƧƵes de implementaĆ§Ć£o para obteres informaƧƵes detalhadas.

Onde posso encontrar soluƧƵes para problemas comuns durante a exportaĆ§Ć£o de modelos YOLOv8 ?

Para solucionar problemas comuns com a exportaĆ§Ć£o de modelos YOLOv8 , Ultralytics fornece guias e recursos abrangentes. Se tiveres problemas durante a instalaĆ§Ć£o ou exportaĆ§Ć£o de modelos, consulta:

Estes recursos devem ajudar-te a resolver a maioria dos problemas relacionados com a exportaĆ§Ć£o e implementaĆ§Ć£o do modelo YOLOv8 .



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

ComentƔrios