Link to this sectionYOLO26 Model Formatından TF.js Model Formatına Dışa Aktarma#
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 etkileşimli uygulamaları çalıştırmak için kullanılabilmesi amacıyla, model formatının daha hızlı performans için optimize edildiğinden emin olman gerekir. TensorFlow.js veya diğer adıyla TF.js model formatı, düşük güç tüketirken hızlı performans sunacak şekilde tasarlanmıştır.
'TF.js model formatına dışa aktar' ö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 formatına dönüştürme sürecinde sana rehberlik edecek ve modellerinin çeşitli yerel tarayıcılarda ve Node.js uygulamalarında iyi performans göstermesini kolaylaştıracağız.
Link to this sectionNeden TF.js'ye Dışa Aktarmalısın?#
Makine öğrenimi modellerini, TensorFlow ekibi tarafından daha geniş TensorFlow ekosisteminin bir parçası olarak geliştirilen TensorFlow.js'ye 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 resim TensorFlow.js mimarisini 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ığını göstermektedir.
Modelleri yerel olarak çalıştırmak ayrıca gecikmeyi azaltır ve daha duyarlı bir kullanıcı deneyimi sağlar. TensorFlow.js ayrıca çevrimdışı yeteneklerle gelir, bu da kullanıcıların uygulamanı internet bağlantısı olmadan bile kullanabilmesini sağlar. 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 bir şekilde yürütülmesi için tasarlanmıştır.
Link to this sectionTF.js'nin Temel Özellikleri#
İşte TF.js'yi geliştiriciler için güçlü bir araç haline getiren temel özellikler:
-
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şturmasını ve dağıtmasını sağlar.
-
Çoklu Arka Uç Desteği: TensorFlow.js, hesaplama için CPU, GPU hızlandırma 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 çeşitli arka uçları destekler.
-
Çevrimdışı Yetenekler: TensorFlow.js ile modeller tarayıcıda internet bağlantısına ihtiyaç duymadan çalışabilir, bu da çevrimdışı işlevsel uygulamalar geliştirmeyi mümkün kılar.
Link to this sectionTensorFlow.js ile Dağıtım Seçenekleri#
YOLO26 modellerini TF.js formatına dışa aktarma sürecine girmeden önce, bu formatın kullanıldığı bazı tipik dağıtım senaryolarını keşfedelim.
TF.js, makine öğrenimi modellerini 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ı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ının geliştirilmesini sağlar. Özellikle bir sunucunun işlem gücüne veya sunucu tarafı verilere 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 modeliyle sınıflandırmasını sağlayan bir uzantı geliştirebilirsin. TensorFlow.js, makine öğrenimine dayalı anlık içgörüler veya geliştirmeler sağlamak için günlük web tarama deneyimlerine entegre edilebilir.
Link to this sectionYOLO26 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.
Link to this sectionKurulum#
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ü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ığı anda dışa aktarmayı destekleyecek şekilde tasarlanmıştır ve bu sayede tercih ettiğin dağıtım iş akışına kolayca entegre edilebilirler. Uygulaman için en iyi kurulumu seçmek amacıyla desteklenen dışa aktarma formatlarının ve yapılandırma seçeneklerinin tam listesini görüntüleyebilirsin.
TF.js formatı, Ultralytics içinde yalnızca dışa aktarma amaçlıdır; Tahmin (Predict) ve Doğrulama (Validate) yerel olarak kullanılamaz. Dışa aktarılan modeli, TensorFlow.js çalışma zamanı ile tarayıcıda veya bir Node.js uygulamasında dağıt.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'Ultralytics yerel bir TF.js çıkarım arka ucu sağlamaz, bu nedenle yolo predict ve yolo val komutları bir _web_model yükleyemez. Dışa aktarılan modeli bunun yerine web veya Node.js uygulamanızdaki TensorFlow.js çalışma zamanı ile çalıştır.
Link to this sectionDışa Aktarma Argümanları#
| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'tfjs' | Dışa aktarılan model için hedef format; ç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 bir (height, width) demeti olabilir. |
half | bool | False | FP16 (yarı hassasiyetli) nicelemeyi etkinleştirir, model boyutunu küçültür ve desteklenen donanımlarda çıkarımı potansiyel olarak hızlandırır. |
int8 | bool | False | INT8 nicelemeyi etkinleştirir; modeli daha da sıkıştırarak minimum accuracy kaybı ile özellikle uç cihazlarda çıkarımı hızlandırı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 predict modunda aynı anda işleyeceği maksimum görüntü sayısını belirtir. |
data | str | 'coco8.yaml' | Niceleme için gerekli olan dataset yapılandırma dosyasına giden yol (varsayılan: coco8.yaml). |
fraction | float | 1.0 | INT8 niceleme kalibrasyonu için kullanılacak veri kümesi oranını belirtir. Tam veri kümesinin bir alt kümesi üzerinde kalibrasyona izin verir, deneyler için veya kaynaklar sınırlı olduğunda yararlıdır. INT8 etkinleştirildiğinde belirtilmezse, veri kümesinin tamamı kullanılır. |
device | str | None | Aktarım için cihazı belirtir: CPU (device=cpu), Apple silicon için MPS (device=mps). |
Dışa aktarma süreci hakkında daha fazla detay için Ultralytics dışa aktarma belgeleri sayfasına göz at.
Link to this sectionDışa Aktarılan YOLO26 TensorFlow.js Modellerini Dağıtma#
YOLO26 modelini TF.js formatına dışa aktardığına göre, bir sonraki adım onu dağıtmaktır. Ultralytics yerel bir TF.js çıkarım arka ucu sağlamaz, bu nedenle dışa aktarılan _web_model, bir tarayıcıda veya Node.js uygulamasında doğrudan TensorFlow.js çalışma zamanı ile çalışmak üzere tasarlanmıştır.
TF.js modellerini dağıtma konusunda ayrıntılı talimatlar için aşağıdaki kaynaklara bir göz at:
-
Chrome Uzantısı: İşte TF.js modellerini bir Chrome uzantısına nasıl dağıtacağına dair geliştirici belgeleri.
-
Node.js'de TensorFlow.js Çalıştırma: TensorFlow.js'yi doğrudan Node.js'de çalıştırma üzerine bir TensorFlow blog yazısı.
-
TensorFlow.js Dağıtımı - Bulut Platformunda Node Projesi: Bir bulut platformunda TensorFlow.js modelini dağıtma üzerine bir TensorFlow blog yazısı.
Link to this sectionÖ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 geniş bir platform yelpazesinde optimize etme, dağıtma ve ölçeklendirme esnekliği kazanırsın.
Kullanım hakkında daha fazla ayrıntı için resmi TensorFlow.js 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. YOLO26'dan projelerinde en iyi şekilde yararlanmana yardımcı olacak harika kaynaklarla doludur.
Link to this sectionSSS#
Link to this sectionUltralytics YOLO26 modellerini TensorFlow.js formatına nasıl dışa aktarabilirim?#
Ultralytics YOLO26 modellerini TensorFlow.js (TF.js) formatına dışa aktarmak kolaydır. Şu adımları izleyebilirsin:
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Deploy the exported '_web_model' with the TensorFlow.js runtime in a browser or Node.js app.
# Ultralytics does not provide a local TF.js inference backend.Desteklenen dışa aktarma seçenekleri hakkında daha fazla ayrıntı için dağıtım seçenekleriyle ilgili Ultralytics belge sayfasını ziyaret et.
Link to this sectionYOLO26 modellerimi neden TensorFlow.js'ye dışa aktarmalıyım?#
YOLO26 modellerini TensorFlow.js'ye dışa aktarmak aşağıdakiler dahil olmak üzere birçok avantaj sunar:
- 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 artırır.
- Platformlar Arası Destek: TF.js birden fazla ortamı destekleyerek dağıtımda esneklik sağlar.
- Çevrimdışı Yetenekler: Uygulamaların internet bağlantısı olmadan çalışmasını sağlayarak güvenilirliği ve gizliliği garanti eder.
- GPU Hızlandırma: GPU hızlandırma için WebGL'den yararlanır, sınırlı kaynaklara sahip cihazlarda performansı optimize eder.
Link to this sectionTensorFlow.js, tarayıcı tabanlı makine öğrenimi uygulamalarına nasıl fayda sağlar?#
TensorFlow.js, tarayıcılarda ve Node.js ortamlarında ML modellerinin 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ı hesaplamalarına 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, tutarlı işlevsellik sağlar.
- Çoklu Arka Uçları Destekler: Değişen 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 ister misin? Resmi TensorFlow.js kılavuzuna göz at.
Link to this sectionYOLO26 modellerini dağıtmak için TensorFlow.js'nin temel özellikleri nelerdir?#
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, bu da 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'yu destekler.
- Çevrimdışı Yetenekler: Modeller internet bağlantısı olmadan doğrudan tarayıcıda çalışabilir, bu da onu duyarlı web uygulamaları geliştirmek için ideal hale 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.
Link to this sectionTensorFlow.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ı verilere erişimden yararlanan sunucu tarafı makine öğrenimi uygulamalarını mümkün kılar. Tipik kullanım durumları arasında arka uç sunucularında gerçek zamanlı veri işleme ve makine öğrenimi boru hatları yer alır.
Node.js dağıtımına başlamak için TensorFlow'un Node.js'de TensorFlow.js Çalıştırma kılavuzuna başvur.