İçeriğe geç

A Guide on YOLO11 Model Export to TFLite for Deployment

TFLite Logo

Deploying computer vision models on edge devices or embedded devices requires a format that can ensure seamless performance.

The TensorFlow Lite or TFLite export format allows you to optimize your Ultralytics YOLO11 models for tasks like object detection and image classification in edge device-based applications. In this guide, we'll walk through the steps for converting your models to the TFLite format, making it easier for your models to perform well on various edge devices.

Neden TFLite'a ihracat yapmalısınız?

Google tarafından Mayıs 2017'de TensorFlow çerçevesinin bir parçası olarak tanıtılan TensorFlow Lite ya da kısaca TFLite, edge computing olarak da bilinen cihaz üzerinde çıkarım için tasarlanmış açık kaynaklı bir derin öğrenme çerçevesidir. Geliştiricilere, eğitilmiş modellerini mobil, gömülü ve IoT cihazlarının yanı sıra geleneksel bilgisayarlarda da çalıştırmak için gerekli araçları sağlar.

TensorFlow Lite, gömülü Linux, Android, iOS ve MCU dahil olmak üzere çok çeşitli platformlarla uyumludur. Modelinizi TFLite'a aktarmak uygulamalarınızı daha hızlı, daha güvenilir ve çevrimdışı çalışabilir hale getirir.

TFLite Modellerinin Temel Özellikleri

TFLite modelleri, geliştiricilerin modellerini mobil, gömülü ve uç cihazlarda çalıştırmalarına yardımcı olarak cihaz üzerinde makine öğrenimini mümkün kılan çok çeşitli temel özellikler sunar:

  • Cihaz Üzerinde Optimizasyon: TFLite, verileri yerel olarak işleyerek gecikmeyi azaltan, kişisel verileri iletmeyerek gizliliği artıran ve yerden tasarruf etmek için model boyutunu en aza indiren cihaz üzerinde ML için optimize eder.

  • Çoklu Platform Desteği: TFLite, Android, iOS, gömülü Linux ve mikrodenetleyicileri destekleyen kapsamlı platform uyumluluğu sunar.

  • Çeşitli Dil Desteği: TFLite, Java, Swift, Objective-C, C++ ve Python dahil olmak üzere çeşitli programlama dilleriyle uyumludur.

  • Yüksek Performans: Donanım hızlandırma ve model optimizasyonu sayesinde üstün performans elde eder.

TFLite'ta Dağıtım Seçenekleri

Before we look at the code for exporting YOLO11 models to the TFLite format, let's understand how TFLite models are normally used.

TFLite, makine öğrenimi modelleri için aşağıdakiler de dahil olmak üzere çeşitli cihaz üzerinde dağıtım seçenekleri sunar:

  • Android ve iOS ile dağıtma: TFLite ile hem Android hem de iOS uygulamaları, nesneleri algılamak ve tanımlamak için kenar tabanlı kamera akışlarını ve sensörleri analiz edebilir. TFLite ayrıca Swift ve Objective-C dillerinde yazılmış yerel iOS kütüphaneleri de sunmaktadır. Aşağıdaki mimari diyagram, TensorFlow Lite kullanarak eğitilmiş bir modeli Android ve iOS platformlarına dağıtma sürecini göstermektedir.

Mimarlık

  • Gömülü Linux ile Uygulama: Raspberry Pi üzerinde Ultralytics Kılavuzunu kullanarak çıkarım yapmak kullanım durumunuz için hız gereksinimlerini karşılamıyorsa, çıkarım sürelerini hızlandırmak için dışa aktarılmış bir TFLite modeli kullanabilirsiniz. Ayrıca, bir Coral Edge TPU cihazı kullanarak performansı daha da artırmak mümkündür.

  • Mikrodenetleyicilerle Dağıtım: TFLite modelleri, yalnızca birkaç kilobayt belleğe sahip mikrodenetleyicilere ve diğer cihazlara da dağıtılabilir. Çekirdek çalışma zamanı bir Arm Cortex M3 üzerinde 16 KB'a sığar ve birçok temel modeli çalıştırabilir. İşletim sistemi desteği, herhangi bir standart C veya C++ kütüphanesi veya dinamik bellek tahsisi gerektirmez.

Export to TFLite: Converting Your YOLO11 Model

Bunları TFLite formatına dönüştürerek cihaz üzerinde model yürütme verimliliğini artırabilir ve performansı optimize edebilirsiniz.

Kurulum

Gerekli paketleri yüklemek için çalıştırın:

Kurulum

# Install the required package for YOLO11
pip install ultralytics

For detailed instructions and best practices related to the installation process, check our Ultralytics Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.

Kullanım

Before diving into the usage instructions, it's important to note that while all Ultralytics YOLO11 models are available for exporting, you can ensure that the model you select supports export functionality here.

Kullanım

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo11n_float32.tflite'

# Load the exported TFLite model
tflite_model = YOLO("yolo11n_float32.tflite")

# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TFLite format
yolo export model=yolo11n.pt format=tflite  # creates 'yolo11n_float32.tflite'

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

Dışa aktarma işlemi hakkında daha fazla bilgi için, dışa aktarma ile ilgiliUltralytics dokümantasyon sayfasını ziyaret edin.

Deploying Exported YOLO11 TFLite Models

After successfully exporting your Ultralytics YOLO11 models to TFLite format, you can now deploy them. The primary and recommended first step for running a TFLite model is to utilize the YOLO("model.tflite") method, as outlined in the previous usage code snippet. However, for in-depth instructions on deploying your TFLite models in various other settings, take a look at the following resources:

  • Android: A quick start guide for integrating TensorFlow Lite into Android applications, providing easy-to-follow steps for setting up and running machine learning models.

  • iOS: Geliştiriciler için TensorFlow Lite modellerini iOS uygulamalarına entegre etme ve dağıtma konusunda adım adım talimatlar ve kaynaklar sunan bu ayrıntılı kılavuza göz atın.

  • Uçtan Uca Örnekler: Bu sayfa, geliştiricilerin mobil ve uç cihazlardaki makine öğrenimi projelerinde TensorFlow Lite uygulamasına yardımcı olmak için tasarlanmış pratik uygulamaları ve öğreticileri sergileyen çeşitli TensorFlow Lite örneklerine genel bir bakış sağlar.

Özet

In this guide, we focused on how to export to TFLite format. By converting your Ultralytics YOLO11 models to TFLite model format, you can improve the efficiency and speed of YOLO11 models, making them more effective and suitable for edge computing environments.

Kullanım hakkında daha fazla bilgi için TFLite resmi belgelerini ziyaret edin.

Also, if you're curious about other Ultralytics YOLO11 integrations, make sure to check out our integration guide page. You'll find tons of helpful info and insights waiting for you there.

SSS

How do I export a YOLO11 model to TFLite format?

To export a YOLO11 model to TFLite format, you can use the Ultralytics library. First, install the required package using:

pip install ultralytics

Ardından, modelinizi dışa aktarmak için aşağıdaki kod parçacığını kullanın:

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo11n_float32.tflite'

CLI kullanıcıları için bunu şu şekilde gerçekleştirebilirsiniz:

yolo export model=yolo11n.pt format=tflite  # creates 'yolo11n_float32.tflite'

Daha fazla ayrıntı için Ultralytics ihracat kılavuzunu ziyaret edin.

What are the benefits of using TensorFlow Lite for YOLO11 model deployment?

TensorFlow Lite (TFLite) is an open-source deep learning framework designed for on-device inference, making it ideal for deploying YOLO11 models on mobile, embedded, and IoT devices. Key benefits include:

  • Cihaz üzerinde optimizasyon: Verileri yerel olarak işleyerek gecikmeyi en aza indirin ve gizliliği artırın.
  • Platform uyumluluğu: Android , iOS, gömülü Linux ve MCU'yu destekler.
  • Performans: Model hızını ve verimliliğini optimize etmek için donanım hızlandırmasını kullanır.

Daha fazla bilgi edinmek için TFLite kılavuzuna göz atın.

Is it possible to run YOLO11 TFLite models on Raspberry Pi?

Yes, you can run YOLO11 TFLite models on Raspberry Pi to improve inference speeds. First, export your model to TFLite format as explained here. Then, use a tool like TensorFlow Lite Interpreter to execute the model on your Raspberry Pi.

Daha fazla optimizasyon için Coral Edge TPU kullanmayı düşünebilirsiniz. Ayrıntılı adımlar için Raspberry Pi dağıtım kılavuzumuza bakın.

Can I use TFLite models on microcontrollers for YOLO11 predictions?

Yes, TFLite supports deployment on microcontrollers with limited resources. TFLite's core runtime requires only 16 KB of memory on an Arm Cortex M3 and can run basic YOLO11 models. This makes it suitable for deployment on devices with minimal computational power and memory.

Başlamak için Mikrodenetleyiciler için TFLite Micro kılavuzunu ziyaret edin.

What platforms are compatible with TFLite exported YOLO11 models?

TensorFlow Lite provides extensive platform compatibility, allowing you to deploy YOLO11 models on a wide range of devices, including:

  • Android ve iOS: TFLite Android ve iOS kütüphaneleri aracılığıyla yerel destek.
  • Gömülü Linux: Raspberry Pi gibi tek kartlı bilgisayarlar için idealdir.
  • Mikrodenetleyiciler: Kısıtlı kaynaklara sahip MCU'lar için uygundur.

Dağıtım seçenekleri hakkında daha fazla bilgi için ayrıntılı dağıtım kılavuzumuza bakın.

How do I troubleshoot common issues during YOLO11 model export to TFLite?

If you encounter errors while exporting YOLO11 models to TFLite, common solutions include:

  • Paket uyumluluğunu kontrol edin: Ultralytics ve TensorFlow adreslerinin uyumlu sürümlerini kullandığınızdan emin olun. Kurulum kılavuzumuza bakın.
  • Model support: Verify that the specific YOLO11 model supports TFLite export by checking here.

Ek sorun giderme ipuçları için Yaygın Sorunlar kılavuzumuzu ziyaret edin.


📅 Created 7 months ago ✏️ Updated 12 days ago

Yorumlar