YOLO26 Modelinin Dağıtım için TFLite'a Dışa Aktarılmasına İlişkin Bir Kılavuz

Bilgisayarla görme modellerini uç cihazlarda veya gömülü cihazlarda dağıtmak, sorunsuz performans sağlayabilen bir format gerektirir.
TensorFlow Lite veya TFLite dışa aktarım formatı, Ultralytics YOLO26 modellerinizi uç cihaz tabanlı uygulamalarda nesne algılama ve görüntü sınıflandırma gibi görevler için optimize etmenizi sağlar. 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 Aktarmalı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, cihaz üzerinde çıkarım veya diğer adıyla uç bilişim 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 yürütmek için gerekli araçları sağlar.
TensorFlow Lite, gömülü Linux, Android, iOS ve mikrodenetleyiciler (MCU'lar) 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 sağlayan çok çeşitli temel özellikler sunar:
Cihaz İçi 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 içi ML için optimizasyon yapar.
Çoklu Platform Desteği: TFLite, Android, iOS, gömülü Linux ve mikro denetleyicileri destekleyerek 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'da Dağıtım Seçenekleri
YOLO26 modellerini TFLite formatına dışa aktarma koduna bakmadan önce, TFLite modellerinin normalde nasıl kullanıldığını anlayalım.
TFLite, makine öğrenimi modelleri için çeşitli cihaz üzerinde dağıtım seçenekleri sunar:
- Android ve iOS ile Dağıtım: TFLite'a sahip 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 ile yazılmış yerel iOS kitaplıkları sunar. Aşağıdaki mimari diyagramı, eğitilmiş bir modelin TensorFlow Lite kullanılarak Android ve iOS platformlarına dağıtılma sürecini göstermektedir.

Gömülü Linux ile Uygulama: Ultralytics Rehberi kullanılarak bir Raspberry Pi üzerinde çıkarımlar çalıştırmak, 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. Ek olarak, 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 yalnızca 16 KB'a sığar ve birçok temel modeli çalıştırabilir. İşletim sistemi desteği, herhangi bir standart C veya C++ kitaplığı ya da dinamik bellek ayırma gerektirmez.
TFLite'a Dışa Aktarma: YOLO26 Modelinizi Dönüştürme
Modellerinizi TFLite biçimine dönüştürerek cihaz üzerinde model yürütme verimliliğini artırabilir ve performansı optimize edebilirsiniz.
Kurulum
Gerekli paketleri kurmak için şunu çalıştırın:
Kurulum
# Install the required package for YOLO26
pip install ultralytics
Kurulum süreciyle ilgili detaylı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum rehberimize göz atın. YOLO26 için gerekli paketleri kurarken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Sık Karşılaşılan Sorunlar rehberimize başvurun.
Kullanım
Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı gibi dışa aktarımı destekleyecek şekilde tasarlanmıştır, bu da onları tercih ettiğiniz dağıtım iş akışına entegre etmeyi kolaylaştırır. Uygulamanız için en iyi kurulumu seçmek üzere desteklenen dışa aktarma formatlarının ve yapılandırma seçeneklerinin tam listesini görüntüleyebilirsiniz.
Kullanım
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo26n_float32.tflite'
# Load the exported TFLite model
tflite_model = YOLO("yolo26n_float32.tflite")
# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to TFLite format
yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'
# Run inference with the exported model
yolo predict model='yolo26n_float32.tflite' source='https://ultralytics.com/images/bus.jpg'
Dışa Aktarma Argümanları
| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'tflite' | Çeşitli dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan modelin hedef formatı. |
imgsz | int veya tuple | 640 | Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı veya bir demet olabilir (height, width) belirli boyutlar için. |
half | bool | False | FP16 (yarı duyarlıklı) nicelemeyi etkinleştirir, model boyutunu küçültür ve desteklenen donanımda çıkarımı potansiyel olarak hızlandırır. |
int8 | bool | False | INT8 nicelemesini etkinleştirir, modeli daha da sıkıştırır ve öncelikle uç cihazlar için minimum doğruluk kaybıyla çıkarımı hızlandırır. |
nms | bool | False | Doğru ve verimli detect etme işlem sonrası için gerekli olan Non-Maximum Suppression'ı (NMS) ekler. |
batch | int | 1 | Dışa aktarma modeli toplu çıkarım boyutunu veya dışa aktarılan modelin aynı anda işleyeceği maksimum görüntü sayısını belirtir. predict modu. |
data | str | 'coco8.yaml' | Şuraya giden yol: veri kümesi yapılandırma dosyası (varsayılan: coco8.yaml), niceleme için önemlidir. |
fraction | float | 1.0 | Veri kümesinin INT8 niceleme kalibrasyonu için kullanılacak kısmını belirtir. Tam veri kümesinin bir alt kümesi üzerinde kalibrasyon yapılmasına olanak tanır, bu da deneyler için veya kaynaklar sınırlı olduğunda kullanışlıdır. INT8 etkinleştirilmişse belirtilmezse, tam veri kümesi kullanılır. |
device | str | None | Dışa aktarma için cihazı belirtir: CPU (device=cpu), Apple silikon için MPS (device=mps). |
Dışa aktarma süreci hakkında daha fazla bilgi için Ultralytics'in dışa aktarma hakkındaki dokümantasyon sayfasını ziyaret edin.
Dışa Aktarılan YOLO26 TFLite Modellerini Dağıtma
Ultralytics YOLO26 modellerinizi TFLite formatına başarıyla dışa aktardıktan sonra, artık onları dağıtabilirsiniz. Bir TFLite modelini çalıştırmak için birincil ve önerilen ilk adım şunları kullanmaktır: YOLO("model.tflite") method'unu kullanın, önceki kullanım kodu örneğinde belirtildiği gibi. Ancak, TFLite modellerinizi çeşitli diğer ortamlarda dağıtma hakkında 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ı bir başlangıç kılavuzu; makine öğrenimi modellerini kurmak ve çalıştırmak için kolayca takip edilebilen adımlar sunar.
iOS: TensorFlow Lite modellerini iOS uygulamalarına entegre etme ve dağıtma konusunda geliştiriciler için 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'ı uygulamalarına yardımcı olmak için tasarlanmış pratik uygulamaları ve öğreticileri sergileyen çeşitli TensorFlow Lite örneklerine genel bir bakış sunar.
Özet
Bu kılavuzda, TFLite formatına nasıl dışa aktarılacağına odaklandık. Ultralytics YOLO26 modellerinizi TFLite model formatına dönüştürerek, YOLO26 modellerinin verimliliğini ve hızını artırabilir, böylece onları uç bilişim ortamları için daha etkili ve uygun hale getirebilirsiniz.
Kullanım hakkında daha fazla bilgi için TFLite resmi belgelerini ziyaret edin.
Ayrıca, diğer Ultralytics YOLO26 entegrasyonlarını merak ediyorsanız, entegrasyon kılavuzu sayfamızı inceleyin. Orada birçok faydalı bilgi ve içgörü bulacaksınız.
SSS
Bir YOLO26 modelini TFLite formatına nasıl dışa aktarırım?
Bir YOLO26 modelini TFLite formatına dışa aktarmak için Ultralytics kütüphanesini kullanabilirsiniz. Öncelikle, gerekli paketi şunları kullanarak kurun:
pip install ultralytics
Ardından, modelinizi dışa aktarmak için aşağıdaki kod parçasını kullanın:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo26n_float32.tflite'
CLI kullanıcıları için, bunu şu şekilde elde edebilirsiniz:
yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'
Daha fazla ayrıntı için Ultralytics dışa aktarma kılavuzunu ziyaret edin.
YOLO26 model dağıtımı için TensorFlow Lite kullanmanın faydaları nelerdir?
TensorFlow Lite (TFLite), cihaz üzerinde çıkarım için tasarlanmış açık kaynaklı bir derin öğrenme çerçevesidir ve bu da onu mobil, gömülü ve IoT cihazlarda YOLO26 modellerini dağıtmak için ideal kılar. Başlıca 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: Modelin 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.
YOLO26 TFLite modellerini Raspberry Pi üzerinde çalıştırmak mümkün müdür?
Evet, çıkarım hızlarını artırmak için YOLO26 TFLite modellerini Raspberry Pi üzerinde çalıştırabilirsiniz. Öncelikle, modelinizi yukarıda açıklandığı gibi TFLite formatına dışa aktarın. Ardından, modelinizi 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 ve Edge TPU entegrasyon kılavuzuna bakın.
YOLO26 tahminleri için mikrodenetleyicilerde TFLite modellerini kullanabilir miyim?
Evet, TFLite sınırlı kaynaklara sahip mikrodenetleyicilerde dağıtımı destekler. TFLite'ın çekirdek çalışma zamanı, bir Arm Cortex M3 üzerinde yalnızca 16 KB bellek gerektirir ve temel YOLO26 modellerini çalıştırabilir. Bu da onu minimum hesaplama gücü ve belleğe sahip cihazlarda dağıtım için uygun hale getirir.
Başlamak için, Mikrodenetleyiciler için TFLite Micro kılavuzunu ziyaret edin.
TFLite dışa aktarılan YOLO26 modelleri hangi platformlarla uyumludur?
TensorFlow Lite, geniş platform uyumluluğu sağlayarak YOLO26 modellerini geniş bir cihaz yelpazesinde dağıtmanıza olanak tanır, bunlar arasında:
- 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.
YOLO26 modelinin TFLite'a dışa aktarımı sırasında karşılaşılan yaygın sorunlar nasıl giderilir?
YOLO26 modellerini TFLite'a dışa aktarırken hata ile karşılaşırsanız, yaygın çözümler şunlardır:
- Paket uyumluluğunu kontrol edin: Ultralytics ve TensorFlow'un uyumlu sürümlerini kullandığınızdan emin olun. Kurulum kılavuzumuza bakın.
- Model desteği: Belirli YOLO26 modelinin TFLite dışa aktarımını desteklediğini, Ultralytics dışa aktarım belgeleme sayfasını kontrol ederek doğrulayın.
- Kuvantizasyon sorunları: INT8 nicelemesini kullanırken, veri kümesi yolunuzun içinde doğru bir şekilde belirtildiğinden emin olun
dataparametresi.
Ek sorun giderme ipuçları için Genel Sorunlar kılavuzumuzu ziyaret edin.