İçeriğe geç

Dağıtım için TFLite'a YOLOv8 Model Aktarımı Kılavuzu

TFLite Logo

Bilgisayarla görme modellerinin uç cihazlara veya gömülü cihazlara dağıtılması, sorunsuz performans sağlayabilecek bir format gerektirir.

TensorFlow Lite veya TFLite dışa aktarma formatı, aşağıdakileri optimize etmenize olanak tanır Ultralytics YOLOv8 Edge cihaz tabanlı uygulamalarda nesne algılama ve görüntü sınıflandırma gibi görevler için modeller. Bu kılavuzda, modellerinizi TFLite formatına dönüştürme adımlarını inceleyerek modellerinizin çeşitli uç cihazlarda iyi performans göstermesini kolaylaştıracağız.

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

Dışa aktarma koduna bakmadan önce YOLOv8 modelleri TFLite formatına, TFLite modellerinin normalde nasıl kullanıldığını anlayalım.

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.

TFLite'a Aktarma: YOLOv8 Modelinizi Dönüştürme

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 YOLOv8
pip install ultralytics

Kurulum süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza göz atın. YOLOv8 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Ortak Sorunlar kılavuz umuza başvurun.

Kullanım

Kullanım talimatlarına geçmeden önce, tüm Ultralytics YOLOv8 modellerinin dışa aktarılabildiğini, ancak seçtiğiniz modelin dışa aktarma işlevini desteklediğinden burada emin olabileceğinizi belirtmek önemlidir.

Kullanım

from ultralytics import YOLO

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

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

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

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

# Run inference with the exported model
yolo predict model='yolov8n_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.

Dışa Aktarılan YOLOv8 TFLite Modellerini Dağıtma

Ultralytics YOLOv8 modellerinizi TFLite formatına başarıyla aktardıktan sonra artık bunları dağıtabilirsiniz. Bir TFLite modelini çalıştırmak için birincil ve önerilen ilk adım, önceki kullanım kod parçasında belirtildiği gibi YOLO("model.tflite") yöntemini kullanmaktır. Ancak, TFLite modellerinizi diğer çeşitli ortamlarda dağıtmaya ilişkin ayrıntılı talimatlar için aşağıdaki kaynaklara göz atın:

  • Android: TensorFlow Lite'ı Android uygulamalarına entegre etmek için hızlı başlangıç kılavuzu, makine öğrenimi modellerini kurmak ve çalıştırmak için takip edilmesi kolay adımlar sağlar.

  • 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

Bu kılavuzda, TFLite formatına nasıl aktarılacağına odaklandık. Ultralytics YOLOv8 modellerinizi TFLite model formatına dönüştürerek YOLOv8 modellerinin verimliliğini ve hızını artırabilir, onları daha etkili ve uç bilişim ortamları için uygun hale getirebilirsiniz.

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

Ayrıca, diğer Ultralytics YOLOv8 entegrasyonlarını merak ediyorsanız, entegrasyon kılavuzu sayfamıza göz attığınızdan emin olun. Orada sizi bekleyen tonlarca yararlı bilgi ve içgörü bulacaksınız.

SSS

Bir YOLOv8 modelini TFLite formatına nasıl aktarabilirim?

Bir YOLOv8 modelini TFLite formatına aktarmak için Ultralytics kütüphanesini kullanabilirsiniz. İlk olarak, gerekli paketi kullanarak yükleyin:

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 YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

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

YOLOv8 model dağıtımı için TensorFlow Lite kullanmanın faydaları nelerdir?

TensorFlow Lite (TFLite), cihaz üzerinde çıkarım yapmak için tasarlanmış açık kaynaklı bir derin öğrenme çerçevesidir ve YOLOv8 modellerini mobil, gömülü ve IoT cihazlarına dağıtmak için idealdir. Temel faydaları şunlardır:

  • 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.

Raspberry Pi üzerinde YOLOv8 TFLite modellerini çalıştırmak mümkün mü?

Evet, çıkarım hızlarını artırmak için Raspberry Pi üzerinde YOLOv8 TFLite modellerini çalıştırabilirsiniz. İlk olarak, modelinizi burada açıklandığı gibi TFLite formatına aktarın. Ardından, modeli Raspberry Pi'nizde çalıştırmak için TensorFlow Lite Interpreter gibi bir araç kullanın.

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.

TFLite modellerini YOLOv8 tahminleri için mikrodenetleyiciler üzerinde kullanabilir miyim?

Evet, TFLite sınırlı kaynaklara sahip mikrodenetleyicilerde dağıtımı destekler. TFLite'ın çekirdek çalışma zamanı, Arm Cortex M3 üzerinde yalnızca 16 KB bellek gerektirir ve temel YOLOv8 modellerini çalıştırabilir. Bu da onu minimum hesaplama gücü ve belleğe sahip cihazlara yerleştirmek için uygun hale getirir.

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

TFLite'ın ihraç ettiği YOLOv8 modelleri hangi platformlarla uyumludur?

TensorFlow Lite, YOLOv8 modellerini aşağıdakiler de dahil olmak üzere çok çeşitli cihazlara dağıtmanıza olanak tanıyan kapsamlı platform uyumluluğu sağlar:

  • 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.

YOLOv8 modelinin TFLite'a aktarımı sırasında sık karşılaşılan sorunları nasıl giderebilirim?

YOLOv8 modellerini TFLite'a aktarırken hatalarla karşılaşırsanız, genel çözümler şunları içerir:

  • Paket uyumluluğunu kontrol edin: Ultralytics ve TensorFlow adreslerinin uyumlu sürümlerini kullandığınızdan emin olun. Kurulum kılavuzumuza bakın.
  • Model desteği: Belirli YOLOv8 modelinin TFLite dışa aktarımını desteklediğini buradan kontrol ederek doğrulayın.

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



Oluşturma 2024-03-01, Güncelleme 2024-07-05
Yazarlar: glenn-jocher (6), abirami-vina (1)

Yorumlar