YOLO26 Modelini Dağıtım İçin TFLite Formatına Aktarma Kılavuzu
Bilgisayarlı görü modellerini uç cihazlarda veya gömülü cihazlarda çalıştırmak, kesintisiz bir performans sağlayacak bir format gerektirir.
TensorFlow Lite veya TFLite dışa aktarma formatı, Ultralytics YOLO26 modellerini uç cihaz tabanlı uygulamalarda nesne algılama ve görüntü sınıflandırma gibi görevler için optimize etmeni sağlar. Bu kılavuzda, modellerini TFLite formatına dönüştürme adımlarını inceleyerek, modellerinin çeşitli uç cihazlarda daha iyi performans göstermesini kolaylaştıracağız.
Neden TFLite Formatına Aktarmalısın?
Google tarafından Mayıs 2017'de TensorFlow çerçevesinin bir parçası olarak tanıtılan TensorFlow Lite veya kısaca TFLite, uç bilişim olarak da bilinen cihaz üzerinde çıkarım (on-device inference) için tasarlanmış açık kaynaklı bir derin öğrenme çerçevesidir. Geliştiricilere, eğittikleri modelleri mobil, gömülü, IoT cihazlarında ve geleneksel bilgisayarlarda çalıştırmaları için gerekli araçları sunar.
TensorFlow Lite; gömülü Linux, Android, iOS ve mikrodenetleyiciler (MCU'lar) dahil olmak üzere çok çeşitli platformlarla uyumludur. Modelini TFLite formatına aktarmak, uygulamalarını 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 bir dizi temel özellik sunar:
-
Cihaz İçi Optimizasyon: TFLite, cihaz içi ML için optimizasyon yaparak verileri yerel olarak işleyip gecikmeyi azaltır, kişisel verileri iletmeyerek gizliliği artırır ve alan tasarrufu için model boyutunu küçültür.
-
Çoklu Platform Desteği: TFLite; Android, iOS, gömülü Linux ve mikrodenetleyicileri destekleyerek kapsamlı bir 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 sağlar.
TFLite'ta Dağıtım Seçenekleri
YOLO26 modellerini TFLite formatına aktarmak için gereken koda bakmadan önce, TFLite modellerinin normalde nasıl kullanıldığını anlayalım.
TFLite, makine öğrenimi modelleri için aşağıdakiler dahil çeşitli cihaz içi dağıtım seçenekleri sunar:
- Android ve iOS ile Dağıtım: TFLite kullanan hem Android hem de iOS uygulamaları, nesneleri algılamak ve tanımlamak için uç tabanlı kamera beslemelerini ve sensörleri analiz edebilir. TFLite ayrıca Swift ve Objective-C dillerinde yazılmış yerel iOS kütüphaneleri de sunar. Aşağıdaki mimari şeması, eğitilmiş bir modelin TensorFlow Lite kullanılarak Android ve iOS platformlarına dağıtılması sürecini göstermektedir.
-
Implementing with Embedded Linux: If running inferences on a Raspberry Pi using the Ultralytics Guide does not meet the speed requirements for your use case, you can use an exported TFLite model to accelerate inference times. Additionally, it's possible to further improve performance by utilizing a Coral Edge TPU device.
-
Mikrodenetleyicilerle Dağıtım: TFLite modelleri, mikrodenetleyicilere ve sadece birkaç kilobayt belleğe sahip diğer cihazlara da dağıtılabilir. Temel çalışma zamanı (runtime), bir Arm Cortex M3 üzerinde sadece 16 KB yer kaplar ve birçok temel modeli çalıştırabilir. İşletim sistemi desteği, herhangi bir standart C veya C++ kütüphanesi ya da dinamik bellek ayırma gerektirmez.
TFLite Formatına Aktarma: YOLO26 Modelini Dönüştürme
Modellerini TFLite formatına dönüştürerek cihaz içi model yürütme verimliliğini artırabilir ve performansı optimize edebilirsin.
Kurulum
Gerekli paketleri yüklemek için şunu çalıştır:
# Install the required package for YOLO26
pip install ultralyticsKurulum süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza göz at. YOLO26 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsan, çözümler ve ipuçları için Yaygın Sorunlar kılavuzumuza danış.
Kullanım
Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı gibi dışa aktarımı destekleyecek şekilde tasarlanmıştır; bu sayede onları tercih ettiğin dağıtım iş akışına kolayca entegre edebilirsin. Uygulaman için en iyi kurulumu seçmek amacıyla desteklenen dışa aktarım formatlarının ve yapılandırma seçeneklerinin tam listesine göz atabilirsin.
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")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 model için hedef format. |
imgsz | int veya tuple | 640 | Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions. |
half | bool | False | FP16 (yarım hassasiyet) nicelemeyi etkinleştirerek model boyutunu küçültür ve desteklenen donanımlarda çıkarım hızını potansiyel olarak artırır. |
int8 | bool | False | INT8 nicelemeyi etkinleştirerek modeli daha da sıkıştırır ve minimum doğruluk kaybıyla, öncelikle uç cihazlar için çıkarımı hızlandırır. |
nms | bool | False | Doğru ve verimli tespit sonrası işleme için gerekli olan Maksimum Olmayan Bastırma (NMS) özelliğini ekler. |
batch | int | 1 | Modelin dışa aktarılan toplu çıkarım boyutunu veya dışa aktarılan modelin predict modunda eşzamanlı olarak işleyeceği maksimum görüntü sayısını belirtir. |
data | str | 'coco8.yaml' | Niceleme (quantization) için gerekli olan dataset yapılandırma dosyasının yolu (varsayılan: coco8.yaml). |
fraction | float | 1.0 | INT8 niceleme kalibrasyonu için kullanılacak veri kümesi oranını belirtir. Tam veri kümesinin bir alt kümesinde kalibrasyon yapmaya olanak tanır; bu, deneyler veya kaynaklar sınırlı olduğunda kullanışlıdır. INT8 etkinken belirtilmezse, veri kümesinin tamamı 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 ayrıntı için dışa aktarma ile ilgili Ultralytics dokümantasyon sayfasını ziyaret et.
Aktarılmış YOLO26 TFLite Modellerinin Dağıtımı
Ultralytics YOLO26 modellerini TFLite formatına başarıyla aktardıktan sonra, artık onları dağıtabilirsin. Bir TFLite modelini çalıştırmak için birincil ve önerilen ilk adım, önceki kullanım kod parçacığında belirtildiği gibi YOLO("model.tflite") yöntemini kullanmaktır. Ancak, TFLite modellerini diğer çeşitli ortamlarda dağıtmaya yönelik derinlemesine talimatlar için aşağıdaki kaynaklara göz at:
-
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 takip etmesi kolay adımlar sunar.
-
iOS: Geliştiricilerin TensorFlow Lite modellerini iOS uygulamalarına entegre etmeleri ve dağıtmaları için hazırlanan, adım adım talimatlar ve kaynaklar sunan bu ayrıntılı kılavuza göz at.
-
Uçtan Uca Örnekler: Bu sayfa, geliştiricilerin TensorFlow Lite'ı mobil ve uç cihazlardaki makine öğrenimi projelerinde uygulamalarına yardımcı olmak için tasarlanmış pratik uygulamaları ve eğitimleri sergileyen çeşitli TensorFlow Lite örneklerine genel bir bakış sunar.
Özet
Bu kılavuzda, TFLite formatına nasıl aktarım yapılacağına odaklandık. Ultralytics YOLO26 modellerini TFLite model formatına dönüştürerek, YOLO26 modellerinin verimliliğini ve hızını artırabilir, onları uç bilişim ortamları için daha etkili ve uygun hale getirebilirsin.
Kullanım hakkında daha fazla ayrıntı için TFLite resmi belgelerini ziyaret et.
Ayrıca, diğer Ultralytics YOLO26 entegrasyonlarını merak ediyorsan entegrasyon kılavuzu sayfamıza göz at. Orada çok sayıda faydalı bilgi ve içgörü bulacaksın.
SSS
Bir YOLO26 modelini TFLite formatına nasıl aktarırım?
Bir YOLO26 modelini TFLite formatına aktarmak için Ultralytics kütüphanesini kullanabilirsin. Öncelikle, gerekli paketi şu komutla yükle:
pip install ultralyticsArdından, modelini aktarmak için şu kod parçacığını kullan:
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 komutla yapabilirsin:
yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'Daha fazla ayrıntı için Ultralytics dışa aktarma kılavuzunu ziyaret et.
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 YOLO26 modellerini mobil, gömülü ve IoT cihazlarında dağıtmak için ideal kılar. Temel faydaları şunlardır:
- Cihaz İçi Optimizasyon: Verileri yerel olarak işleyerek gecikmeyi en aza indirir ve gizliliği artırır.
- 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ırmadan yararlanır.
Daha fazla bilgi edinmek için TFLite kılavuzuna göz at.
YOLO26 TFLite modellerini Raspberry Pi üzerinde çalıştırmak mümkün mü?
Evet, çıkarım hızlarını artırmak için YOLO26 TFLite modellerini Raspberry Pi üzerinde çalıştırabilirsin. Öncelikle modelini yukarıda açıklandığı gibi TFLite formatına aktar. Ardından, modeli Raspberry Pi üzerinde yürütmek için TensorFlow Lite Interpreter gibi bir araç kullan.
Daha fazla optimizasyon için Coral Edge TPU kullanmayı düşünebilirsin. Ayrıntılı adımlar için Raspberry Pi dağıtım kılavuzumuza ve Edge TPU entegrasyon kılavuzuna başvur.
YOLO26 tahminleri için mikrodenetleyicilerde TFLite modellerini kullanabilir miyim?
Evet, TFLite sınırlı kaynaklara sahip mikrodenetleyicilerde dağıtımı destekler. TFLite'ın temel çalışma zamanı, bir Arm Cortex M3 üzerinde sadece 16 KB bellek gerektirir ve temel YOLO26 modellerini çalıştırabilir. Bu, 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 Mikro kılavuzunu ziyaret et.
TFLite ile aktarılmış YOLO26 modelleri hangi platformlarla uyumludur?
TensorFlow Lite kapsamlı platform uyumluluğu sağlayarak YOLO26 modellerini aşağıdakiler de dahil olmak üzere çok çeşitli cihazlarda dağıtmana olanak tanır:
- 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.
YOLO26 modelinin TFLite'a aktarılması sırasında karşılaşılan yaygın sorunları nasıl giderebilirim?
YOLO26 modellerini TFLite'a aktarırken hata alırsan, yaygın çözümler şunları içerir:
- Paket uyumluluğunu kontrol et: Ultralytics ve TensorFlow'un uyumlu sürümlerini kullandığından emin ol. Kurulum kılavuzumuza başvur.
- Model desteği: Ultralytics dışa aktarma belgeleri sayfasını kontrol ederek belirli YOLO26 modelinin TFLite dışa aktarımını desteklediğini doğrula.
- Niceleme (Quantization) sorunları: INT8 nicelemesi kullanırken, veri kümesi yolunun
dataparametresinde doğru belirtildiğinden emin ol.
Ek sorun giderme ipuçları için Yaygın Sorunlar kılavuzumuzu ziyaret et.