YOLO Vision 2026:

Bir YOLO26 Model Formatından TF.js Model Formatına Dışa Aktarma#

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

Ultralytics 8.4.83 itibarıyla, tfjs (TensorFlow.js) dışa aktarım formatı kaldırılmış ve yerine birleştirilmiş Google LiteRT formatı getirilmiştir. LiteRT, tarayıcıda LiteRT.js aracılığıyla (WebGPU hızlandırması ile) çalışır; böylece TF.js'nin ele aldığı 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" çalışmaya devam eder ancak bir kullanım dışı kalma (deprecation) uyarısı üretir ve bunun yerine bir LiteRT modeli dışa aktarır. Bundan sonra format="litert" kullan; mevcut dışa aktarım talimatları ve tarayıcıda dağıtım yolu için LiteRT dışa aktarım kılavuzuna göz at.

Makine öğrenimi modellerini doğrudan tarayıcıda veya Node.js üzerinde dağıtmak zor olabilir. Modelin kullanıcının cihazında yerel olarak interaktif uygulamalar çalıştırmak üzere kullanılabilmesi için model formatının daha yüksek performans için optimize edildiğinden emin olmalısın. TensorFlow.js veya TF.js model formatı, hızlı performans sağlarken minimum güç kullanacak şekilde tasarlanmıştır.

'TF.js model formatına aktar' özelliği, Ultralytics YOLO26 modellerini yüksek hızlı ve yerel olarak çalıştırılan nesne tespiti çıkarımı için optimize etmeni sağlar. Bu kılavuzda, modellerini TF.js formatına dönüştürme sürecinde sana rehberlik ederek modellerinin çeşitli yerel tarayıcılarda ve Node.js uygulamalarında iyi performans göstermesini kolaylaştıracağız.

Neden TF.js Formatına Dışa Aktarmalısın?#

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

TensorFlow.js browser ML inference architecture

Modelleri yerel olarak çalıştırmak gecikmeyi de azaltır ve daha duyarlı bir kullanıcı deneyimi sağlar. TensorFlow.js ayrıca çevrimdışı yeteneklerle birlikte gelir; bu sayede kullanıcılar internet bağlantısı olmasa bile uygulamanı kullanabilir. TF.js, ölçeklenebilirlik için tasarlandığından ve GPU hızlandırma desteğine sahip olduğundan, kaynakları kısıtlı cihazlarda karmaşık modellerin verimli bir şekilde yürütülmesi için tasarlanmıştır.

TF.js'nin Temel Özellikleri#

İşte TF.js'yi geliştiriciler için güçlü bir araç haline getiren temel özellikler:

  • Çapraz Platform Desteği: TensorFlow.js hem tarayıcı hem de Node.js ortamlarında kullanılabilir, bu da farklı platformlarda dağıtımda esneklik sağlar. Geliştiricilerin uygulamaları daha kolay oluşturmasını ve dağıtmasını sağlar.

  • Çoklu Arka Uç Desteği: TensorFlow.js, CPU, GPU hızlandırması için WebGL, neredeyse yerel yürütme hızı için WebAssembly (WASM) ve gelişmiş tarayıcı tabanlı makine öğrenimi yetenekleri için WebGPU dahil olmak üzere hesaplama için çeşitli arka uçları destekler.

  • Çevrimdışı Özellikler: TensorFlow.js ile modeller internet bağlantısına ihtiyaç duymadan tarayıcıda çalışabilir, bu da çevrimdışı çalışabilen uygulamalar geliştirmeyi mümkün kılar.

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

YOLO26 modellerini TF.js formatına aktarma işlemine girmeden önce, bu formatın kullanıldığı bazı tipik dağıtım senaryolarını inceleyelim.

TF.js, makine öğrenimi modellerinizi dağıtmak için bir dizi seçenek sunar:

  • Tarayıcı İçi ML Uygulamaları: Makine öğrenimi modellerini doğrudan tarayıcıda çalıştıran web uygulamaları oluşturabilirsin. Sunucu tarafı hesaplama ihtiyacı ortadan kalkar ve sunucu yükü azalır.

  • Node.js Uygulamaları: TensorFlow.js, Node.js ortamlarında dağıtımı da destekleyerek sunucu tarafı makine öğrenimi uygulamalarının geliştirilmesini sağlar. Özellikle bir sunucunun işlem gücüne veya sunucu tarafı verilerine erişim gerektiren uygulamalar için kullanışlıdır.

  • Chrome Uzantıları: İlginç bir dağıtım senaryosu, TensorFlow.js ile Chrome uzantıları oluşturmaktır. Örneğin, kullanıcıların herhangi bir web sayfasındaki bir resme sağ tıklayarak onu önceden eğitilmiş bir ML modeli kullanarak sınıflandırmasına olanak tanıyan bir uzantı geliştirebilirsin. TensorFlow.js, makine öğrenimine dayalı anlık içgörüler sağlamak veya geliştirmeler yapmak için günlük web tarama deneyimlerine entegre edilebilir.

YOLO26 Modellerini TensorFlow.js'ye Dışa 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 şunu çalıştır:

Kurulum
# Install the required package for YOLO26
pip install ultralytics

Kurulum sürecine ilişkin 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 danış.

Kullanım#

Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı gibi dışa aktarmayı destekleyecek şekilde tasarlanmıştır; bu da bunları tercih ettiğin dağıtım iş akışına entegre etmeni kolaylaştırır. Uygulaman için en iyi kurulumu seçmek üzere desteklenen dışa aktarım formatlarının ve yapılandırma seçeneklerinin tam listesini görüntüleyebilirsin.

tfjs argümanı artık LiteRT .tflite modelini dışa aktarır; bu model Dışa Aktarma, Tahmin Etme ve Doğrulama modlarını yerel olarak destekler ve LiteRT.js aracılığıyla tarayıcıda çalışır. Mevcut tarayıcı ve cihaz üzerinde dağıtım yolu için LiteRT dışa aktarım kılavuzuna bakın.

Dışa Aktar (Export)
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF.js format
model.export(format="litert", imgsz=640)  # use imgsz=224 for classification
Tahmin Et (Predict) ve Doğrula (Validate)

Dışa aktarılan LiteRT .tflite modeli doğrudan yolo predict ve yolo val ile yüklenir ve LiteRT.js aracılığıyla tarayıcıda çalışır. Bkz. LiteRT dışa aktarım kılavuzu.

Dışa Aktarma Argümanları#

ArgümanTipVarsayılanAçıklama
formatstr'tfjs'Çeşitli dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan model için hedef format.
imgszint veya tuple640Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı veya belirli boyutlar için bir (height, width) demeti (tuple) olabilir.
quantizeint veya strNoneNiceleme hassasiyeti: 8 (statik INT8, int8 ağırlıklar + int8 aktivasyonlar; kalibrasyon gerektirir data/fraction), 'w8a16' (statik, int8 ağırlıklar + int16 aktivasyonlar; kalibrasyon gerektirir data/fraction), 'w8a32' (dinamik INT8, int8 ağırlıklar + FP32 aktivasyonlar; kalibrasyon gerektirmez) veya 32/atanmamış (FP32). FP16 ayrı olarak dışa aktarılmaz; bir FP32 modeli GPU temsilcilerinde otomatik olarak FP16 olarak ç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 dışa aktarılan modelin predict modunda aynı anda işleyeceği maksimum görüntü sayısını belirtir.
datastr'coco8.yaml'Kuantizasyon için gerekli olan dataset yapılandırma dosyasına giden yol (varsayılan: coco8.yaml).
fractionfloat1.0INT8 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.
devicestrNoneDışa aktarma için cihazı belirtir: CPU (device=cpu), Apple silikon için MPS (device=mps).

Dışa aktarım süreci hakkında daha fazla ayrıntı için Ultralytics documentation page on exporting sayfasını ziyaret edin.

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

YOLO26 modelini dışarı aktardığına göre, sonraki adım onu dağıtmaktır. Dışarı aktarma işlemi, cihaz üzerinde ve tarayıcıda LiteRT.js aracılığıyla çalışan bir LiteRT .tflite modeli üretir; mevcut yol için LiteRT export guide kılavuzuna göz at.

Referans olması amacıyla, eski TensorFlow.js çalışma zamanı kaynakları aşağıdadır:

Özet#

Bu kılavuzda Ultralytics YOLO26 modellerini TensorFlow.js formatına nasıl aktaracağımızı öğrendik. TF.js'ye dışa aktararak, YOLO26 modellerinizi çok çeşitli platformlarda optimize etme, dağıtma ve ölçeklendirme esnekliği kazanırsınız.

Kullanım hakkında daha fazla ayrıntı için TensorFlow.js resmi belgelerini ziyaret et.

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

SSS#

Ultralytics YOLO26 modellerini TensorFlow.js formatına nasıl dışa aktarırım?#

Ultralytics YOLO26 modellerini TensorFlow.js (TF.js) formatına dışa aktarmak basittir. Şu adımları takip edebilirsin:

Kullanım
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF.js format
model.export(format="litert", imgsz=640)  # use imgsz=224 for classification

# The exported '.tflite' model runs in the browser via LiteRT.js or locally with yolo predict/val.

Desteklenen dışa aktarım seçenekleri hakkında daha fazla ayrıntı için dağıtım seçenekleri hakkındaki Ultralytics belgelendirme sayfasını ziyaret et.

Neden YOLO26 modellerimi TensorFlow.js'ye dışa aktarmalıyım?#

YOLO26 modellerini TensorFlow.js'ye dışa aktarmak aşağıdakiler dahil birçok avantaj sunar:

  1. Yerel Yürütme: Modeller doğrudan tarayıcıda veya Node.js'de çalışabilir, bu da gecikmeyi azaltır ve kullanıcı deneyimini iyileştirir.
  2. Çapraz Platform Desteği: TF.js birden fazla ortamı destekler ve dağıtımda esneklik sağlar.
  3. Çevrimdışı Özellikler: Uygulamaların internet bağlantısı olmadan çalışmasını sağlayarak güvenilirlik ve gizlilik sağlar.
  4. GPU Hızlandırma: GPU hızlandırması için WebGL'den yararlanır ve sınırlı kaynaklara sahip cihazlarda performansı optimize eder.

TensorFlow.js tarayıcı tabanlı makine öğrenimi uygulamalarına nasıl fayda sağlar?#

TensorFlow.js, ML modellerinin tarayıcılarda ve Node.js ortamlarında verimli bir şekilde yürütülmesi için özel olarak tasarlanmıştır. Tarayıcı tabanlı uygulamalara sağladığı faydalar şunlardır:

  • Gecikmeyi Azaltır: Makine öğrenimi modellerini yerel olarak çalıştırır, sunucu tarafı hesaplamalara güvenmeden anında sonuç sağlar.
  • Gizliliği Artırır: Hassas verileri kullanıcının cihazında tutar, güvenlik risklerini en aza indirir.
  • Çevrimdışı Kullanımı Etkinleştirir: Modeller internet bağlantısı olmadan çalışabilir, bu da tutarlı işlevsellik sağlar.
  • Çoklu Arka Uçları Destekler: Farklı hesaplama ihtiyaçları için CPU, WebGL, WebAssembly (WASM) ve WebGPU gibi arka uçlarla esneklik sunar.

TF.js hakkında daha fazla bilgi edinmek mi istiyorsun? Resmi TensorFlow.js kılavuzuna göz at.

YOLO26 modellerini dağıtmak için TensorFlow.js'nin temel özellikleri nelerdir?#

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

  • Çapraz Platform Desteği: TF.js hem web tarayıcılarında hem de Node.js'de kullanılabilir, geniş bir dağıtım esnekliği sağlar.
  • Çoklu Arka Uçlar: CPU, GPU hızlandırma için WebGL, WebAssembly (WASM) ve gelişmiş işlemler için WebGPU desteği sağlar.
  • Çevrimdışı Özellikler: Modeller internet bağlantısı olmadan doğrudan tarayıcıda çalışabilir, bu da duyarlı web uygulamaları geliştirmek için idealdir.

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

TensorFlow.js kullanarak sunucu tarafı Node.js uygulamalarında bir YOLO26 modeli dağıtabilir miyim?#

Evet, TensorFlow.js, YOLO26 modellerinin Node.js ortamlarında dağıtılmasına izin verir. Bu, bir sunucunun işlem gücünden ve sunucu tarafı verilerine erişimden yararlanan sunucu tarafı makine öğrenimi uygulamalarını mümkün kılar. Tipik kullanım durumları, arka uç sunucularında gerçek zamanlı veri işleme ve makine öğrenimi hatlarını içerir.

Node.js ile dağıtıma başlamak için TensorFlow'un Node.js'te TensorFlow.js Çalıştırma kılavuzuna bak.

Yorumlar