YOLO26 Model Formatından TF.js Model Formatına Dışa Aktarma#
Ultralytics 8.4.83 itibarıyla tfjs (TensorFlow.js) dışa aktarma formatı kaldırılmış ve birleşik Google LiteRT formatıyla değiştirilmiştir. LiteRT, LiteRT.js aracılığıyla (WebGPU hızlandırmasıyla) tarayıcıda çalışır; TF.js'nin karşıladığı 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 destekler.
format="tfjs" hâlâ çalışır, ancak kullanımın kaldırılacağına ilişkin bir uyarı 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ıya 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. Modelinin, etkileşimli uygulamaların kullanıcının cihazında yerel olarak çalıştırılabilmesi için daha hızlı performansa göre optimize edilmiş bir formatta olduğundan emin olman gerekir. TensorFlow.js veya TF.js model formatı, hızlı performans sunarken minimum güç kullanacak şekilde tasarlanmıştır.
'TF.js model formatına dışa aktarma' özelliği, Ultralytics YOLO26 modellerini yüksek hızlı ve yerel olarak çalışan nesne algılama çıkarımı için optimize etmene olanak tanır. Bu kılavuzda, modellerini TF.js formatına dönüştürme adımlarını ele alarak modellerinin çeşitli yerel tarayıcılarda ve Node.js uygulamalarında daha iyi performans göstermesini kolaylaştıracağız.
Neden TF.js'ye Dışa Aktarma Yapmalısın?#
TensorFlow ekibi tarafından daha geniş TensorFlow ekosisteminin bir parçası olarak geliştirilen TensorFlow.js'ye makine öğrenimi modellerini dışa 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 ile makine öğrenimi modellerinin hem web tarayıcılarına hem de Node.js'e nasıl dönüştürülüp dağıtıldığı gösterilmektedir.
Modelleri yerel olarak çalıştırmak gecikmeyi de azaltır ve daha duyarlı bir kullanıcı deneyimi sağlar. TensorFlow.js ayrıca çevrimdışı özellikler sunarak kullanıcıların internet bağlantısı olmadan da uygulamanı kullanmasına olanak tanır. TF.js, ölçeklenebilirlik için tasarlandığından ve GPU hızlandırma desteği sunduğundan, sınırlı kaynaklara sahip cihazlarda karmaşık modellerin verimli şekilde çalıştırılması için tasarlanmıştı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 Çok Backend Desteği: TensorFlow.js; CPU, GPU hızlandırması için WebGL, yerel hızlara yakın yürütme için WebAssembly (WASM) ve gelişmiş tarayıcı tabanlı makine öğrenimi özellikleri için WebGPU dâhil olmak üzere hesaplama için çeşitli backend'leri destekler.
-
Çevrimdışı Özellikler: TensorFlow.js ile modeller tarayıcıda internet bağlantısına ihtiyaç duymadan çalışabilir; böylece çevrimdışı işlevsel uygulamalar geliştirmek mümkün olur.
TensorFlow.js ile Dağıtım Seçenekleri#
YOLO26 modellerini TF.js formatına dışa aktarma sürecine geçmeden önce, bu formatın kullanıldığı bazı tipik dağıtım senaryolarını inceleyelim.
TF.js, makine öğrenimi modellerini dağıtmak için çeşitli seçenekler sunar:
-
Tarayıcı İçi ML Uygulamaları: Makine öğrenimi modellerini doğrudan tarayıcıda çalıştıran web uygulamaları oluşturabilirsin. Sunucu tarafında 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ı geliştirmeyi mümkün kılar. Özellikle sunucunun işlem gücünü veya sunucu tarafındaki verilere erişimi gerektiren uygulamalar için kullanışlıdır.
-
Chrome Uzantıları: TensorFlow.js ile Chrome uzantıları oluşturmak ilginç bir dağıtım senaryosudur. Örneğin, kullanıcıların herhangi bir web sayfasındaki bir görsele sağ tıklayıp önceden eğitilmiş bir ML modeliyle görseli sınıflandırmasını sağlayan bir uzantı geliştirebilirsin. TensorFlow.js, makine öğrenimine dayalı anlık içgörüler veya zenginleştirmeler sunmak 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:
# 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üm ve ipuçları için Yaygın Sorunlar kılavuzumuza başvur.
Kullanım#
Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı hâliyle dışa aktarmayı destekleyecek şekilde tasarlanmıştır; böylece bunları tercih ettiğin dağıtım iş akışına kolayca entegre edebilirsin. Uygulaman için en iyi 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 bir LiteRT .tflite modeli dışa aktarır; bu model Export, Predict ve Validate modlarını yerel olarak destekler ve LiteRT.js aracılığıyla tarayıcıda çalışır. Güncel tarayıcı ve cihaz içi dağıtım yolu için LiteRT dışa aktarma kılavuzuna bak.
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 classificationDış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. LiteRT dışa aktarma kılavuzuna bak.
Dışa Aktarma Bağımsız Değişkenleri#
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'tfjs' | Dışa aktarılan model için hedef formatı belirtir ve ç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 (height, width) tuple'ı olabilir. |
quantize | int veya str | None | Niceleme hassasiyeti: 8 (statik INT8, int8 ağırlıklar + int8 aktivasyonlar; kalibrasyon data/fraction gerektirir), 'w8a16' (statik, int8 ağırlıklar + int16 aktivasyonlar; kalibrasyon data/fraction gerektirir), 'w8a32' (dinamik INT8, int8 ağırlıklar + FP32 aktivasyonlar; kalibrasyon gerekmez) veya 32/ayarlanmamış (FP32). FP16 ayrı olarak dışa aktarılmaz — bir FP32 modeli GPU delegelerinde otomatik olarak FP16 ile çalışır. Kullanımdan kaldırılan half/int8 işaretlerinin yerini alır. |
batch | int | 1 | Dışa aktarma modelinin 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 | None | Kuantizasyon için gerekli olan veri kümesi YAML dosyasının yolu; sınıflandırma için 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. |
fraction | float, int veya list | 1.0 | Oran, görüntü sayısı veya [train, val, test] oranları/sayıları olarak kalibrasyon alt kümesi. İki öğeli listelerde test tam bırakılırken 0 atlanır. |
device | str | None | Dışa aktarma cihazını belirtir: CPU (device=cpu), Apple silicon için MPS (device=mps). |
Dışa aktarma süreci hakkında daha fazla ayrıntı için Ultralytics'in dışa aktarma dokümantasyonu 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 onu dağıtmaktır. Dışa aktarma, cihazda ve LiteRT.js aracılığıyla tarayıcıda çalışan bir LiteRT .tflite modeli oluşturur — güncel yol için LiteRT dışa aktarma kılavuzuna bak.
Referans olarak, eski TensorFlow.js çalışma zamanı kaynakları aşağıda verilmiştir:
-
Chrome Uzantısı: TF.js modellerini bir Chrome uzantısına nasıl dağıtacağına ilişkin geliştirici belgeleri burada.
-
TensorFlow.js'yi Node.js'te Çalıştırma: TensorFlow.js'yi doğrudan Node.js'te çalıştırma hakkında bir TensorFlow blog yazısı.
-
TensorFlow.js'yi Dağıtma - Bulut Platformunda Node Projesi: Bir TensorFlow modelini bir Bulut Platformunda dağıtma hakkında bir TensorFlow blog yazısı.
Özet#
Bu kılavuzda Ultralytics YOLO26 modellerini TensorFlow.js formatına nasıl dışa aktaracağımızı öğrendik. TF.js'ye dışa aktararak 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 resmi belgelerini ziyaret et.
Ultralytics YOLO26'yı diğer platformlar ve framework'lerle entegre etme hakkında daha fazla bilgi için entegrasyon kılavuzu sayfamıza göz atmayı unutma. YOLO26'dan projelerinde en iyi şekilde yararlanman için faydalı kaynaklarla doludur.
SSS#
Ultralytics YOLO26 modellerini TensorFlow.js (TF.js) formatına dışa aktarmak kolaydır. Şu adımları izleyebilirsin:
Kullanımfrom 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 aktarma seçenekleri hakkında daha fazla bilgi için Ultralytics'in dağıtım seçenekleriyle ilgili dokümantasyon sayfasını ziyaret et.
YOLO26 modellerini TensorFlow.js'ye dışa aktarmak aşağıdakiler dâhil olmak üzere çeşitli avantajlar sunar:
- Yerel Çalıştırma: Modeller doğrudan tarayıcıda veya Node.js'te çalıştırılabilir; bu da gecikmeyi azaltır ve kullanıcı deneyimini iyileştirir.
- Platformlar Arası Destek: TF.js birden çok ortamı destekleyerek dağıtım esnekliği sağlar.
- Çevrimdışı Özellikler: Uygulamaların internet bağlantısı olmadan çalışmasını sağlayarak güvenilirlik ve gizlilik sunar.
- GPU Hızlandırması: GPU hızlandırması için WebGL'den yararlanarak sınırlı kaynaklara sahip cihazlarda performansı optimize eder.
TensorFlow.js, ML modellerinin tarayıcılarda ve Node.js ortamlarında verimli şekilde çalıştırılması 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ırarak sunucu tarafı hesaplamalara bağlı kalmadan anında sonuç sağlar.
- Gizliliği İyileştirir: Hassas verileri kullanıcının cihazında tutarak güvenlik risklerini en aza indirir.
- Çevrimdışı Kullanımı Etkinleştirir: Modeller internet bağlantısı olmadan çalışabilir ve tutarlı işlevsellik sağlar.
- Birden Çok Backend'i Destekler: Farklı hesaplama ihtiyaçları için CPU, WebGL, WebAssembly (WASM) ve WebGPU gibi backend'lerle esneklik sunar.
TF.js hakkında daha fazla bilgi edinmek ister misin? Resmi 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'te kullanılabilir ve kapsamlı dağıtım esnekliği sağlar.
- Birden Çok Backend: GPU hızlandırması için CPU ve WebGL'nin yanı sıra gelişmiş işlemler için WebAssembly (WASM) ve WebGPU'yu destekler.
- Çevrimdışı Özellikler: Modeller doğrudan tarayıcıda internet bağlantısı olmadan çalışabilir; bu da 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. Bu sayede sunucunun işlem gücünden ve sunucu tarafındaki verilere erişimden yararlanan sunucu tarafı makine öğrenimi uygulamaları geliştirilebilir. Yaygın kullanım alanları arasında gerçek zamanlı veri işleme ve backend sunucularındaki makine öğrenimi işlem hatları bulunur.
Node.js dağıtımına başlamak için TensorFlow'un TensorFlow.js'yi Node.js'te Çalıştırma kılavuzuna başvur.