Link to this sectionYOLO26 Modelinin TFLite Formatına Aktarılması İçin Bir Kılavuz#
Bilgisayarlı görü modellerini uç cihazlarda veya gömülü cihazlarda dağıtmak, kesintisiz performans sağlayabilecek 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 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'a 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 yanı sıra geleneksel bilgisayarlarda da ç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'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, cihaz üzerinde makine öğrenimi için optimize edilmiştir; verileri yerel olarak işleyerek gecikmeyi azaltır, kişisel verileri iletmeyerek gizliliği artırır ve alan kazanmak için model boyutunu minimize eder.
-
Ç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 yoluyla üstün performans sağlar.
Link to this sectionTFLite'daki 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 de dahil olmak üzere ç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 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 şema, 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 yalnızca 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 tahsisi gerektirmez.
Link to this sectionTFLite'a 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 kurmak için şunu çalıştır:
# Install the required package for YOLO26
pip install ultralyticsKurulum süreci ile ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza göz at. YOLO26 için gerekli paketleri kurarken 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ığı gibi dışa aktarımı destekleyecek şekilde tasarlanmıştır, bu da onları tercih ettiğin dağıtım iş akışına entegre etmeyi kolaylaştırır. Uygulaman 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ü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 doğrulamak 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 | Tip | 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 | Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı veya belirli boyutlar için (height, width) şeklinde bir demet olabilir. |
half | bool | False | FP16 (yarı hassasiyet) nicemlemeyi etkinleştirerek model boyutunu küçültür ve desteklenen donanımlarda çıkarımı hızlandırabilir. |
int8 | bool | False | INT8 kuantizasyonunu etkinleştirir; modeli daha da sıkıştırarak ve minimum doğruluk kaybıyla çıkarımı hızlandırır, temel olarak uç cihazlar için kullanılı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 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' | Kuantizasyon için gerekli olan veri kümesi yapılandırma dosyasının yolu (varsayılan: coco8.yaml). |
fraction | float | 1.0 | INT8 nicemleme kalibrasyonu için kullanılacak veri kümesi oranını belirtir. Deneyler veya kaynakların sınırlı olduğu durumlar için yararlı olan tam veri kümesinin bir alt kümesinde kalibrasyona izin verir. INT8 etkinleştirildiğinde belirtilmezse, veri kümesinin tamamı kullanılır. |
device | str | None | Dışa aktarma için cihazı belirtir: CPU (device=cpu), Apple silicon için MPS (device=mps). |
Dışa aktarma süreci hakkında daha fazla ayrıntı için dışa aktarma hakkındaki Ultralytics dokümantasyon sayfasına git.
Link to this sectionDışa Aktarılan YOLO26 TFLite Modellerini Dağıtma#
Ultralytics YOLO26 modellerini başarıyla TFLite formatına 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ğıtma konusunda derinlemesine 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 sunar.
-
iOS: Geliştiricilerin TensorFlow Lite modellerini iOS uygulamalarına entegre etmeleri ve dağıtmaları için bu ayrıntılı kılavuza göz at, adım adım talimatlar ve kaynaklar sunar.
-
Uçtan Uca Örnekler: Bu sayfa, çeşitli TensorFlow Lite örneklerine genel bir bakış sunar ve geliştiricilerin mobil ve uç cihazlardaki makine öğrenimi projelerinde TensorFlow Lite'ı uygulamalarına yardımcı olmak için tasarlanmış pratik uygulamaları ve eğitimleri sergiler.
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 bilgi 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 pek çok yararlı bilgi ve içgörü bulacaksın.
Link to this sectionSSS#
Link to this sectionBir 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 şununla kur:
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 şununla başarabilirsin:
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 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 YOLO26 modellerini mobil, gömülü ve IoT cihazlarında dağıtmak için idealdir. Temel faydaları ş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ırmayı kullanı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. Ö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 bak.
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 yalnızca 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 Micro kılavuzunu ziyaret et.
Link to this sectionTFLite dışa aktarılmış YOLO26 modelleriyle hangi platformlar uyumludur?#
TensorFlow Lite, geniş bir 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: Sınırlı 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 modelinin TFLite'a aktarılması sırasında karşılaşılan yaygın sorunları nasıl gideririm?#
YOLO26 modellerini TFLite'a aktarırken hatalarla karşılaşırsan, yaygın çözümler şunlardır:
- 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 TFLite dışa aktarımını destekleyip desteklemediğini Ultralytics dışa aktarma belgelendirme sayfasını kontrol ederek 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.