Link to this sectionYOLO26 Modelinin Dağıtım İçin TFLite Formatına Aktarılması Hakkında Bir Kılavuz#
Bilgisayarlı görü modellerini uç cihazlarda veya gömülü cihazlarda dağıtmak, kesintisiz bir performans sağlayabilecek bir format gerektirir.
TensorFlow Lite veya TFLite dışa aktarma formatı, Ultralytics YOLO26 modellerini nesne algılama ve görüntü sınıflandırma gibi görevler için uç cihaz tabanlı uygulamalarda optimize etmene olanak tanır. Bu kılavuzda, modellerini TFLite formatına dönüştürme adımlarını inceleyeceğiz, böylece modellerinin çeşitli uç cihazlarda daha iyi performans göstermesini kolaylaştıracağız.
Link to this sectionNeden TFLite Formatına Dışa Aktarmalısın?#
Google tarafından Mayıs 2017'de TensorFlow çerçevelerinin bir parçası olarak tanıtılan TensorFlow Lite veya kısaca TFLite, uç bilişim olarak da bilinen cihaz üzerinde çıkarım (inference) 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 çalıştırmaları 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. Modelini TFLite formatına dışa aktarmak, uygulamalarını daha hızlı, daha güvenilir ve çevrimdışı çalışabilir hale getirir.
Link to this sectionTFLite 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 İçi Optimizasyon: TFLite, verileri yerel olarak işleyerek gecikmeyi azaltan, kişisel verileri iletmeyerek gizliliği artıran ve yer kazanmak için model boyutunu küçülterek cihaz içi makine öğrenimi için optimize eder.
-
Çoklu Platform Desteği: TFLite, Android, iOS, gömülü Linux ve mikrodenetleyicileri destekleyerek geniş 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 ile üstün performans sağlar.
Link to this sectionTFLite'ta Dağıtım Seçenekleri#
YOLO26 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 dahil olmak üzere çeşitli cihaz içi dağıtım seçenekleri sunar:
- Android ve iOS ile Dağıtım: TFLite içeren hem Android hem de iOS uygulamaları, nesneleri tespit etmek ve tanımlamak için uç tabanlı kamera beslemelerini ve sensörlerini 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ılma 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, mikrodenetleyicilerde ve yalnızca birkaç kilobayt belleğe sahip diğer cihazlarda da dağıtılabilir. Temel çalışma zamanı, bir Arm Cortex M3 üzerinde sadece 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.
Link to this sectionTFLite Formatına Dışa Aktarma: YOLO26 Modelini Dönüştürme#
Modellerini TFLite formatına dönüştürerek cihaz üzerinde model yürütme verimliliğini artırabilir ve performansı optimize edebilirsin.
Link to this sectionKurulum#
Gerekli paketleri yüklemek için şu komutu ç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 başvur.
Link to this sectionKullanım#
Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı anda dışa aktarmayı destekleyecek şekilde tasarlanmıştır ve bu sayede tercih ettiğin dağıtım iş akışına kolayca entegre edilebilirler. Uygulaman için en iyi kurulumu seçmek amacıyla desteklenen dışa aktarma formatlarının ve yapılandırma seçeneklerinin tam listesini görüntüleyebilirsin.
TFLite formatı, Dışa Aktarma, Tahmin ve Doğrulama modlarını destekler. Modelini dışa aktar, ardından çıkarım çalıştırmak veya doğruluğunu teyit etmek için dışa aktarılan modeli yükle.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo26n_float32.tflite'from ultralytics import YOLO
# Load the exported TFLite model
model = YOLO("yolo26n_float32.tflite")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TFLite model
model = YOLO("yolo26n_float32.tflite")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionDışa Aktarma Argümanları#
| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'tflite' | Dışa aktarılan model için hedef format; çeşitli dağıtım ortamlarıyla uyumluluğu tanımlar. |
imgsz | int veya tuple | 640 | Model girdisi için istenen görüntü boyutu. Kare görüntüler için bir tam sayı veya belirli boyutlar için bir (height, width) demeti olabilir. |
half | bool | False | FP16 (yarı hassasiyetli) nicelemeyi etkinleştirir, model boyutunu küçültür ve desteklenen donanımlarda çıkarımı potansiyel olarak hızlandırır. |
int8 | bool | False | INT8 nicelemeyi etkinleştirir; modeli daha da sıkıştırarak minimum accuracy kaybı ile özellikle uç cihazlarda çıkarımı hızlandırır. |
nms | bool | False | Doğru ve verimli tespit sonrası işleme için gerekli olan Non-Maximum Suppression (NMS) ekler. |
batch | int | 1 | Dışa aktarılan modelin toplu çıkarım boyutunu veya predict modunda aynı anda işleyeceği maksimum görüntü sayısını belirtir. |
data | str | 'coco8.yaml' | Niceleme için gerekli olan dataset yapılandırma dosyasına giden yol (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ümesi üzerinde kalibrasyona izin verir, deneyler için veya kaynaklar sınırlı olduğunda yararlıdır. INT8 etkinleştirildiğinde belirtilmezse, veri kümesinin tamamı kullanılır. |
device | str | None | Aktarım için cihazı belirtir: CPU (device=cpu), Apple silicon için MPS (device=mps). |
Dışa aktarma süreci hakkında daha fazla detay için Ultralytics dışa aktarma belgeleri sayfasına göz at.
Link to this sectionDışa Aktarılan YOLO26 TFLite Modellerinin Dağıtımı#
Ultralytics YOLO26 modellerini başarıyla TFLite formatına aktardıktan sonra, onları artık 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ğıtmakla ilgili ayrıntılı talimatlar için aşağıdaki kaynaklara bir 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 sağlar.
-
iOS: Geliştiriciler için TensorFlow Lite modellerini iOS uygulamalarında entegre etme ve dağıtma konusunda bu ayrıntılı kılavuza göz at; adım adım talimatlar ve kaynaklar sunar.
-
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 eğitimleri sergileyen çeşitli TensorFlow Lite örneklerine genel bir bakış sağlar.
Link to this sectionÖzet#
Bu kılavuzda, TFLite formatına nasıl dışa aktarı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 yararlı bilgi ve içgörü bulacaksın.
Link to this sectionSSS#
Link to this sectionBir YOLO26 modelini nasıl TFLite formatına dışa aktarabilirim?#
Bir YOLO26 modelini TFLite formatına aktarmak için Ultralytics kütüphanesini kullanabilirsin. İlk olarak, gerekli paketi şu komutla yükle:
pip install ultralyticsArdından, modelini dışa aktarmak için aşağıdaki kod parçacığını kullan:
from ultralytics import YOLO
# Load a 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 gerçekleştirebilirsin:
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.
Link to this sectionYOLO26 modeli dağıtımı için TensorFlow Lite kullanmanın avantajları nelerdir?#
TensorFlow Lite (TFLite), cihaz üzerinde çıkarım (inference) için tasarlanmış açık kaynaklı bir derin öğrenme çerçevesidir ve YOLO26 modellerini mobil, gömülü ve IoT cihazlarında dağıtmak için idealdir. Temel avantajları şunlardır:
- Cihaz iç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.
Link to this sectionYOLO26 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. İlk olarak, 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.
Link to this sectionYOLO26 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.
Link to this sectionTFLite ile dışa aktarılan YOLO26 modelleriyle hangi platformlar uyumludur?#
TensorFlow Lite, YOLO26 modellerini aşağıdakiler dahil çok çeşitli cihazlarda dağıtmana olanak tanıyan geniş bir 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.
Link to this sectionYOLO26 modelini TFLite'a dışa aktarırken karşılaşılan yaygın sorunları nasıl giderebilirim?#
YOLO26 modellerini TFLite'a dışa aktarırken hatalarla karşılaşı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: Belirli YOLO26 modelinin Ultralytics dışa aktarma belgeleme sayfasını kontrol ederek TFLite dışa aktarmayı destekleyip desteklemediğini doğrula.
- Kuantizasyon sorunları: INT8 kuantizasyonu 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.