Ultralytics YOLO27:
Get Started

YOLO26 Model Biçiminden TF.js Model Biçimine Aktarma#

Kullanımdan kaldırıldı — yerine LiteRT geldi

Ultralytics 8.4.83 sürümünden itibaren tfjs (TensorFlow.js) dışa aktarma biçimi kaldırıldı ve birleşik Google LiteRT biçimiyle değiştirildi. LiteRT, tarayıcıda LiteRT.js (WebGPU hızlandırmasıyla) üzerinden çalışır; böylece TF.js'nin desteklediği tarayıcı içi ve Node.js kullanım senaryolarının yanı sıra mobil, gömülü ve uç cihaz senaryolarını tek bir .tflite modelinden karşılar.

format="tfjs" hâlâ çalışır, ancak kullanımdan kaldırılma uyarısı verir ve bunun yerine bir LiteRT modeli dışa aktarır. Bundan sonra format="litert" kullan; güncel dışa aktarma talimatları ve tarayıcıda dağıtım yolu için LiteRT dışa aktarma kılavuzuna bak.

Makine öğrenimi modellerini doğrudan tarayıcıda veya Node.js üzerinde dağıtmak zor olabilir. Modelini, kullanıcının cihazında etkileşimli uygulamaları yerel olarak çalıştıracak şekilde kullanabilmek için biçiminin daha yüksek performans sağlayacak biçimde optimize edildiğinden emin olmalısın. TensorFlow.js veya TF.js model biçimi, hızlı performans sunarken güç tüketimini en aza indirecek şekilde tasarlanmıştır.

'TF.js model biçimine aktarma' özelliği, Ultralytics YOLO26 modellerini yüksek hızlı ve yerel olarak çalışan nesne algılama çıkarımı için optimize etmeni sağlar. Bu kılavuzda modellerini TF.js biçimine dönüştürme sürecini adım adım ele alacağız; böylece modellerin çeşitli yerel tarayıcılarda ve Node.js uygulamalarında daha iyi performans gösterebilir.

Neden TF.js'ye Aktarmalısın?#

TensorFlow ekibi tarafından daha geniş TensorFlow ekosisteminin bir parçası olarak geliştirilen TensorFlow.js'ye makine öğrenimi modellerini aktarmak, makine öğrenimi uygulamalarını dağıtmak için birçok avantaj sunar. Hassas verileri cihazda tutarak kullanıcı gizliliğini ve güvenliğini artırmaya yardımcı olur. Aşağıdaki görselde TensorFlow.js mimarisi ve makine öğrenimi modellerinin hem web tarayıcılarında hem de Node.js'de nasıl dönüştürülüp dağıtıldığı gösterilmektedir.

TensorFlow.js browser ML inference architecture

Modelleri yerel olarak çalıştırmak gecikmeyi de azaltır ve daha hızlı yanıt veren bir kullanıcı deneyimi sağlar. TensorFlow.js çevrimdışı çalışma olanağı da sunar; böylece kullanıcılar internet bağlantısı olmadan da uygulamanı kullanabilir. TF.js, ölçeklenebilirlik için tasarlanmıştır ve GPU hızlandırma desteğiyle kaynakları kısıtlı cihazlarda karmaşık modelleri verimli biçimde çalıştırır.

TF.js'nin Temel Özellikleri#

TF.js'yi geliştiriciler için güçlü bir araç hâline getiren temel özellikler şunlardır:

  • Platformlar Arası Destek: TensorFlow.js hem tarayıcı hem de Node.js ortamlarında kullanılabilir ve farklı platformlarda dağıtım esnekliği sağlar. Geliştiricilerin uygulamaları daha kolay oluşturup dağıtmasına olanak tanır.

  • Birden Fazla Arka Uç Desteği: TensorFlow.js, hesaplama için CPU, GPU hızlandırması sağlayan WebGL, yerel hıza yakın yürütme sağlayan WebAssembly (WASM) ve gelişmiş tarayıcı tabanlı makine öğrenimi özellikleri sunan WebGPU dâhil olmak üzere çeşitli arka uçları destekler.

  • Çevrimdışı Çalışma: TensorFlow.js ile modeller tarayıcıda internet bağlantısı olmadan çalışabilir; bu da çevrimdışıyken işlevlerini sürdüren uygulamalar geliştirmeni mümkün kılar.

TensorFlow.js ile Dağıtım Seçenekleri#

YOLO26 modellerini TF.js biçimine aktarma sürecine geçmeden önce bu biçimin kullanıldığı bazı yaygın dağıtım senaryolarını inceleyelim.

TF.js, makine öğrenimi modellerini dağıtmak için çeşitli seçenekler sunar:

  • Tarayıcı İçi Makine Öğrenimi Uygulamaları: Makine öğrenimi modellerini doğrudan tarayıcıda çalıştıran web uygulamaları geliştirebilirsin. Böylece sunucu tarafında hesaplama ihtiyacı ortadan kalkar ve sunucu yükü azalır.

  • Node.js Uygulamaları: TensorFlow.js, Node.js ortamlarına dağıtımı da destekleyerek sunucu tarafında makine öğrenimi uygulamaları geliştirmeyi mümkün kılar. Özellikle sunucunun işlem gücünden veya sunucu tarafındaki verilere erişimden yararlanması gereken uygulamalar için kullanışlıdır.

  • Chrome Uzantıları: TensorFlow.js ile Chrome uzantıları oluşturmak ilgi çekici bir dağıtım senaryosudur. Örneğin, kullanıcıların önceden eğitilmiş bir makine öğrenimi modeliyle sınıflandırmak için herhangi bir web sayfasındaki bir görsele sağ tıklamasını sağlayan bir uzantı geliştirebilirsin. TensorFlow.js, makine öğrenimine dayalı anlık bilgiler veya geliştirmeler sunmak için günlük web tarama deneyimlerine entegre edilebilir.

YOLO26 Modellerini TensorFlow.js'ye Aktarma#

YOLO26 modellerini TF.js'ye dönüştürerek model uyumluluğunu ve dağıtım esnekliğini artırabilirsin.

Kurulum#

Gerekli paketi yüklemek için şu komutu çalıştır:

Kurulum
# Install the required package for YOLO26
pip install ultralytics

Kurulum 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 zorluk yaşarsan çözüm ve ipuçları için Yaygın Sorunlar kılavuzumuza başvur.

Kullanım#

Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı gibi dışa aktarmayı destekleyecek şekilde tasarlanmıştır; bu sayede tercih ettiğin dağıtım iş akışına kolayca entegre edebilirsin. Uygulaman için en uygun kurulumu seçmek üzere desteklenen dışa aktarma biçimlerinin ve yapılandırma seçeneklerinin tam listesini görüntüleyebilirsin.

tfjs bağımsız değişkeni artık Dışa Aktar, Tahmin ve Doğrula modlarını yerel olarak destekleyen bir LiteRT .tflite modeli dışa aktarır ve tarayıcıda LiteRT.js üzerinden çalışır. Tarayıcıda ve cihazda güncel dağıtım yolu için LiteRT dışa aktarma kılavuzuna bak.

Dışa aktar
from ultralytics import YOLO

# YOLO26 modelini yükle
model = YOLO("yolo26n.pt")

# Modeli LiteRT biçimine aktar (TF.js'nin yerine geçer)
model.export(format="litert", imgsz=640)  # sınıflandırma için imgsz=224 kullan
Tahmin ve Doğrulama

Dışa aktarılan LiteRT .tflite modeli doğrudan yolo predict ve yolo val ile yüklenir ve tarayıcıda LiteRT.js üzerinden çalışır. LiteRT dışa aktarma kılavuzuna bak.

Dışa Aktarma Bağımsız Değişkenleri#

Bağımsız değişkenTürVarsayılanAçıklama
formatstr'litert'Dışa aktarılan modelin hedef biçimi; kullanımdan kaldırılan 'tfjs' değeri LiteRT'yi dışa aktarır.
imgszint veya tuple640Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tam sayı, belirli boyutlar içinse (height, width) demeti kullanılabilir.
quantizeint veya strNoneNiceleme hassasiyeti: 8 (statik INT8, int8 ağırlıklar + int8 aktivasyonlar; kalibrasyon için data/fraction gerekir), 'w8a16' (statik, int8 ağırlıklar + int16 aktivasyonlar; kalibrasyon için data/fraction gerekir), 'w8a32' (dinamik INT8, int8 ağırlıklar + FP32 aktivasyonlar; kalibrasyon gerekmez) veya 32/ayarlanmamış (FP32). FP16 ayrı olarak dışa aktarılmaz; FP32 modeli GPU temsilcilerinde otomatik olarak FP16 biçiminde çalışır. Kullanımdan kaldırılan half/int8 bayraklarının yerini alır.
batchint1Dışa aktarılan modelin toplu çıkarım boyutunu veya predict kipinde eşzamanlı işleyeceği en fazla görüntü sayısını belirtir.
datastrNoneVeri kümesinin YAML dosyasının yolu; niceleme için gereklidir. Sınıflandırma görevinde bunun yerine bir veri kümesi dizini veya yerleşik veri kümesi adı kullanılır. quantize=8 veya 'w8a16' ile birlikte belirtilmezse Ultralytics, model görevi için varsayılan kalibrasyon veri kümesini seçer.
fractionfloat, int veya list1.0Oran, görüntü sayısı veya [train, val, test] oranları/sayıları olarak kalibrasyon alt kümesi. İki öğeli listelerde test tam kalır; 0 ise onu atlar.
devicestrNoneDışa aktarma cihazını belirtir: CPU (device=cpu), Apple silicon için MPS (device=mps).

Dışa aktarma süreci hakkında daha fazla bilgi için Ultralytics dışa aktarma belgeleri sayfasını ziyaret et.

Dışa Aktarılan YOLO26 TensorFlow.js Modellerini Dağıtma#

YOLO26 modelini dışa aktardığına göre sıradaki adım modeli dağıtmaktır. Dışa aktarma, cihazda çalışan ve tarayıcıda LiteRT.js üzerinden kullanılabilen bir LiteRT .tflite modeli üretir; güncel yöntem için LiteRT dışa aktarma kılavuzuna bak.

Başvuru amacıyla eski TensorFlow.js çalışma zamanı kaynakları aşağıda verilmiştir:

Özet#

Bu kılavuzda, Ultralytics YOLO26 modellerini TensorFlow.js biçimine nasıl aktaracağını öğrendik. TF.js'ye aktarım yaparak YOLO26 modellerini çok çeşitli platformlarda optimize etme, dağıtma ve ölçeklendirme esnekliği kazanırsın.

Kullanım hakkında daha fazla bilgi için TensorFlow.js resmî belgelerini ziyaret et.

Ultralytics YOLO26'yı diğer platform ve çerçevelerle entegre etme hakkında daha fazla bilgi için entegrasyon kılavuzu sayfamıza göz atmayı unutma. Bu sayfa, projelerinde YOLO26'dan en iyi şekilde yararlanmana yardımcı olacak harika kaynaklarla dolu.

Sık Sorulan Sorular#

  • Ultralytics YOLO26 modellerini TensorFlow.js (TF.js) biçimine aktarmak oldukça kolaydır. Şu adımları izleyebilirsin:

    Kullanım
    from ultralytics import YOLO
    
    # YOLO26 modelini yükle
    model = YOLO("yolo26n.pt")
    
    # Modeli LiteRT biçimine aktar (TF.js'nin yerine geçer)
    model.export(format="litert", imgsz=640)  # sınıflandırma için imgsz=224 kullan
    
    # Dışa aktarılan '.tflite' modeli tarayıcıda LiteRT.js üzerinden veya yerel olarak yolo predict/val ile çalışır.

    Desteklenen dışa aktarma seçenekleri hakkında daha fazla bilgi için dağıtım seçeneklerine ilişkin Ultralytics belgeleri sayfasını ziyaret et.

  • YOLO26 modellerini TensorFlow.js'ye aktarmanın şu avantajlar da dâhil olmak üzere çeşitli faydaları vardır:

    1. Yerel Çalıştırma: Modeller doğrudan tarayıcıda veya Node.js'de çalışarak gecikmeyi azaltır ve kullanıcı deneyimini iyileştirir.
    2. Platformlar Arası Destek: TF.js birden fazla ortamı destekleyerek dağıtım esnekliği sağlar.
    3. Çevrimdışı Çalışma: Uygulamaların internet bağlantısı olmadan çalışmasını sağlayarak güvenilirlik ve gizliliği korur.
    4. GPU Hızlandırması: GPU hızlandırması için WebGL'den yararlanarak kaynakları kısıtlı cihazlardaki performansı optimize eder.
  • TensorFlow.js, tarayıcılarda ve Node.js ortamlarında makine öğrenimi modellerini verimli biçimde çalıştırmak için özel olarak tasarlanmıştır. Tarayıcı tabanlı uygulamalara sağladığı katkılar şunlardır:

    • Gecikmeyi Azaltır: Makine öğrenimi modellerini yerel olarak çalıştırır ve sunucu tarafındaki hesaplamalara bağlı kalmadan anında sonuç verir.
    • Gizliliği Artırır: Hassas verileri kullanıcının cihazında tutarak güvenlik risklerini en aza indirir.
    • Çevrimdışı Kullanım Sağlar: Modeller internet bağlantısı olmadan çalışarak işlevlerin kesintisiz sürmesini sağlar.
    • Birden Fazla Arka Ucu Destekler: Farklı hesaplama gereksinimleri için CPU, WebGL, WebAssembly (WASM) ve WebGPU gibi arka uçlarla esneklik sunar.

    TF.js hakkında daha fazla bilgi edinmek ister misin? Resmî TensorFlow.js kılavuzuna göz at.

  • TensorFlow.js'nin temel özellikleri şunlardır:

    • Platformlar Arası Destek: TF.js hem web tarayıcılarında hem de Node.js'de kullanılabilir ve geniş dağıtım esnekliği sunar.
    • Birden Fazla Arka Uç: CPU'yu, GPU hızlandırması için WebGL'yi, WebAssembly'yi (WASM) ve gelişmiş işlemler için WebGPU'yu destekler.
    • Çevrimdışı Çalışma: Modeller internet bağlantısı olmadan doğrudan tarayıcıda çalışabilir; bu özellik TF.js'yi duyarlı web uygulamaları geliştirmek için ideal hâle getirir.

    Dağıtım senaryoları ve daha ayrıntılı bilgi için TensorFlow.js ile Dağıtım Seçenekleri bölümümüze bak.

  • Evet, TensorFlow.js YOLO26 modellerinin Node.js ortamlarında dağıtılmasına olanak tanır. Böylece sunucunun işlem gücünden ve sunucu tarafındaki verilere erişimden yararlanan sunucu tarafı makine öğrenimi uygulamaları geliştirebilirsin. Yaygın kullanım alanları arasında gerçek zamanlı veri işleme ve arka uç sunucularındaki makine öğrenimi işlem hatları bulunur.

    Node.js ile dağıtıma başlamak için TensorFlow'un TensorFlow.js'yi Node.js'de çalıştırma kılavuzuna başvur.

Yorumlar