Ultralytics YOLO'yu LiteRT'ye Dışa Aktarma
Yeni LiteRT dışa aktarma entegrasyonunun Ultralytics YOLO çıkarımını mobil, gömülü, uç ve tarayıcı ortamlarına tek ve birleşik bir biçimde nasıl taşıdığını öğren.

Ultralytics olarak, bulut bağlantısına güvenmek yerine bilgisayarlı görü modellerini doğrudan ihtiyaç duyuldukları cihazlarda çalıştırmaya yönelik artan bir eğilim görüyoruz. Mobil uygulamalar, gömülü sistemler, IoT sensörleri ve tarayıcı tabanlı araçların çıkarımı giderek daha fazla yerel olarak çalıştırması gerekiyor; üstelik bu cihazların çoğunda güç ve işlem kaynakları kısıtlı. Bu nedenle Ultralytics YOLO modellerinin artık doğrudan LiteRT'ye aktarılabildiğini duyurmaktan heyecan duyuyoruz.
Bu talebi karşılamak için geliştiricileri her ortam için ayrı dışa aktarma işlem hatları sürdürmeye zorlamadan tüm bu ortamlarda çalışabilen bir model biçimi gerekiyor.
Bu özellik daha önce resmî olmayan bir üçüncü taraf paketiyle kullanılabiliyordu; ancak bu yeni entegrasyon Google ile yapılan resmî iş birliğinin sonucudur. Ultralytics YOLO modellerini LiteRT aracılığıyla TFLite'a aktarmak için uçtan uca bir işlem hattı oluşturmak üzere LiteRT ekibiyle yakın çalıştık. Bu entegrasyon sayesinde, dışa aktarılan tek bir Ultralytics YOLO modeli mobil, gömülü, uç ve tarayıcı ortamlarında dağıtılabiliyor; eski TFLite ve TF.js dışa aktarma biçimlerinin ayrı ayrı ele aldığı süreçler tek ve akıcı bir biçimde birleşiyor.
LiteRT nedir?#
LiteRT (Lite Runtime'ın kısaltması), Google'ın cihaz üzerinde yapay zekâ için geliştirdiği yüksek performanslı çalışma zamanıdır. TensorFlow Lite'ın (TFLite) yeni nesil sürümü ve yeni adıdır; geliştiricilerin zaten bildiği aynı .tflite model biçimini çalıştırır.
LiteRT, özellikle cihaz üzerinde çıkarım için tasarlanmış ve uç bilişim olarak da bilinen açık kaynaklı bir çerçevedir. Geliştiricilere eğitilmiş modelleri mobil, gömülü ve IoT cihazlarında, geleneksel bilgisayarlarda ve LiteRT.js aracılığıyla doğrudan web tarayıcılarında ve Node.js'te çalıştırma araçları sunar. LiteRT dışa aktarma biçimi, modelleri nesne algılama, segmentasyon, poz tahmini ve sınıflandırma gibi görevler için optimize ederek çok çeşitli cihazlarda hızlı ve çevrimdışı çalışmalarını sağlar.
Ultralytics YOLO modelleri neden LiteRT'ye aktarılmalı?#
Artık tek bir model biçimi tüm dağıtım hedeflerini kapsıyor:
• Mobil ve gömülü. Android, iOS, Masaüstü, gömülü Linux ve mikrodenetleyiciler (MCU'lar).
• Uç hızlandırıcılar. Daha fazla hızlandırma için Coral Edge TPU ile uyumludur.
• Tarayıcı ve Node.js. LiteRT.js, ayrı bir TensorFlow.js dışa aktarımına duyulan ihtiyacı ortadan kaldırarak WebGPU/WASM hızlandırmasıyla web üzerinde aynı .tflite modelini çalıştırır.
• Masaüstü
Bu birleştirme önemli; çünkü üretim ortamlarına dağıtımda gerçek bir sürtüşme kaynağını ortadan kaldırıyor. Ekipler artık mobil için bir dışa aktarma işlem hattı, tarayıcı için başka bir işlem hattı ve uç hızlandırıcılar için üçüncü bir işlem hattı sürdürmek yerine bir kez dışa aktarıp LiteRT'nin çalıştığı her yerde dağıtım yapabiliyor.
LiteRT modellerinin temel özellikleri#
• Cihaz üzerinde optimizasyon. Verileri yerel olarak işleyerek gecikmeyi azaltır, kişisel verileri aktarmayarak gizliliği artırır ve yerden tasarruf etmek için model boyutunu küçültür.
• Çoklu platform desteği. Android, iOS, gömülü Linux, mikrodenetleyiciler ve modern web tarayıcılarında çalışır.
• Donanım hızlandırma. CPU'da XNNPACK'ten, GPU hızlandırması içinse OpenCL, Metal ve WebGPU'dan yararlanır. Ek hız için GPU hızlandırması varsayılan olarak FP16 ile çalışır.
• Niceleme. Modelleri sıkıştırmak ve doğruluk kaybını en aza indirerek çıkarımı hızlandırmak için FP32, statik INT8, statik INT16 etkinleştirme ve dinamik INT8 desteği sunar.
• Geniş dil desteği. Java/Kotlin, Swift, Objective-C, C++, Python ve JavaScript ile uyumludur.
LiteRT dışa aktarımına başlarken#
Ultralytics Python paketi ve Ultralytics Platform, beş bilgisayarlı görü görevinin tümünde YOLO modellerini eğitmek, değerlendirmek ve dağıtmak için eksiksiz ve birleşik bir ortam sunar. LiteRT dışa aktarma biçimi Export, Predict ve Validate modlarını destekler; böylece model dışa aktarıldıktan hemen sonra yerel olarak çıkarım veya doğruluk doğrulaması için kullanılabilir.
Modeli dışa aktarmak için tek bir komut yeterlidir:
from ultralytics import YOLO
# Bir YOLO26 modeli yükle
model = YOLO("yolo26n.pt")
# Modeli LiteRT biçimine aktar
model.export(format="litert") # 'yolo26n.tflite' dosyasını oluştururKısıtlı donanıma dağıtım yapan ekipler için LiteRT, nicelenmiş dışa aktarımı da destekleyerek doğruluk kaybını en aza indirip daha hızlı çıkarım için modellerin sıkıştırılmasına olanak tanır:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
# Dinamik INT8: int8 ağırlıklar, FP32 etkinleştirmeler - kalibrasyon verisi gerekmez
model.export(format="litert", quantize="w8a32")
# Statik INT8: int8 ağırlıklar + int8 etkinleştirmeler - kalibrasyon verisi gerekir
model.export(format="litert", quantize=8, data="coco8.yaml")Dışa aktarıldıktan sonra model doğrudan yüklenip çıkarım için çalıştırılabilir:
from ultralytics import YOLO
# Dışa aktarılan LiteRT modelini yükle
model = YOLO("yolo26n.tflite")
# Çıkarım çalıştır
results = model("https://ultralytics.com/images/bus.jpg")LiteRT dışa aktarımı şu anda Linux x86_64 ve macOS'te destekleniyor. Dışa aktarılan .tflite modeli; mobil, gömülü, uç ve tarayıcı dahil LiteRT'nin desteklediği tüm platformlarda çalışır.
Şekil 1. ONNX ile LiteRT arasındaki performans karşılaştırması.
Yukarıdaki görsel, YOLO26n modelinin algılama, segmentasyon ve poz tahmini görevlerindeki ortalama çıkarım sürelerini karşılaştırıyor; model, ONNX Runtime Web aracılığıyla WebGPU/WASM üzerinde istemci tarafında çıkarım yapan Ultralytics'in npm paketi @ultralytics/yolo üzerinden tarayıcıda çalıştırılıyor. Ölçümler, kontrollü bir tarayıcı ortamında 2024 Apple MacBook Pro'da (Apple Silicon M4) yapıldı.
Ultralytics YOLO'yu uca taşımak#
LiteRT ile Ultralytics YOLO modellerini mobil, gömülü, uç ve tarayıcı ortamlarına dağıtmak artık her hedef için ayrı dışa aktarma işlem hatları gerektirmiyor. Tek dışa aktarım, tek model biçimi ve çıkarımın nerede yapılması gerekiyorsa orada eğitimden üretime uzanan tutarlı bir yol.
Görü yapay zekâsına meraklı mısın? Bilgisayarlı görüyü projelerine taşımak için lisanslama seçeneklerimizi keşfet. Ultralytics'in tüm dışa aktarma entegrasyonlarını incelemek için GitHub depomuzu ziyaret et ve uçtan uca kendi görü yapay zekâ iş akışlarını oluşturmaya başlamak için Ultralytics Platform'a göz at.










