İç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 veya 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ırmaları 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

YOLOv8 modellerini TFLite formatına aktarma koduna bakmadan önce, 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 uç 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 şemada, TensorFlow Lite kullanılarak eğitilmiş bir modelin Android ve iOS platformlarına dağıtılması süreci gösterilmektedir.

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 etmesi kolay adımlar sağlar.

  • iOS: Geliştiriciler için adım adım talimatlar ve kaynaklar sunan TensorFlow Lite modellerini iOS uygulamalarına entegre etme ve dağıtma konusundaki 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'ın 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.



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

Yorumlar