YOLO26 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 adına, model formatının daha hızlı performans için optimize edildiğinden emin olmalısın. TensorFlow.js veya TF.js model formatı, hızlı performans sunarken minimum güç tüketimi sağlayacak ş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 edeceğiz ve modellerinin çeşitli yerel tarayıcılarda ve Node.js uygulamalarında daha iyi performans göstermesini kolaylaştıracağız.

Neden TF.js Formatına 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 ç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'de nasıl dağıtıldığını göstermektedir.

TensorFlow.js browser ML inference architecture

Modelleri yerel olarak çalıştırmak ayrıca gecikmeyi azaltır ve daha hızlı yanıt veren bir kullanıcı deneyimi sağlar. TensorFlow.js ayrıca çevrimdışı yeteneklerle gelir ve kullanıcıların internet bağlantısı olmasa bile uygulamanı kullanmasına olanak tanır. TF.js, GPU hızlandırma desteğiyle ölçeklenebilirlik için tasarlandığından, sınırlı kaynaklara sahip 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ç yapan 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şturup dağıtmalarına olanak tanır.

  • Çoklu Arka Uç (Backend) Desteği: TensorFlow.js; CPU, GPU hızlandırması için WebGL, neredeyse yerel çalışma 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ışı Yetenekler: 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 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ındaki verilere erişim gerektiren uygulamalar için kullanışlıdır.

  • Chrome Eklentileri: İlginç bir dağıtım senaryosu, TensorFlow.js ile Chrome eklentileri oluşturmaktır. Örneğin, kullanıcıların herhangi bir web sayfasındaki bir resme sağ tıklayarak önceden eğitilmiş bir ML modeliyle sınıflandırmasını sağlayan bir eklenti 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.

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ü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 danış.

Kullanım

Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı gibi dışa aktarımı destekleyecek şekilde tasarlanmıştır; bu sayede onları tercih ettiğin dağıtım iş akışına kolayca entegre edebilirsin. Uygulaman için en iyi kurulumu seçmek amacıyla desteklenen dışa aktarım formatlarının ve yapılandırma seçeneklerinin tam listesine göz atabilirsin.

Kullanım
from ultralytics import YOLO

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

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo26n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")

Dışa Aktarma Argümanları

ArgümanTürVarsayı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 tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
halfboolFalseFP16 (yarım hassasiyet) nicelemeyi etkinleştirerek model boyutunu küçültür ve desteklenen donanımlarda çıkarım hızını potansiyel olarak artırır.
int8boolFalseINT8 nicelemeyi etkinleştirerek modeli daha da sıkıştırır ve minimum doğruluk kaybıyla, öncelikle uç cihazlar için çıkarımı hızlandırır.
nmsboolFalseDoğru ve verimli tespit sonrası işleme için gerekli olan Maksimum Olmayan Bastırma (NMS) özelliğini ekler.
batchint1Modelin dışa aktarılan 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.
datastr'coco8.yaml'Niceleme (quantization) için gerekli olan dataset yapılandırma dosyasının yolu (varsayılan: coco8.yaml).
fractionfloat1.0INT8 niceleme kalibrasyonu için kullanılacak veri kümesi oranını belirtir. Tam veri kümesinin bir alt kümesinde kalibrasyon yapmaya olanak tanır; bu, deneyler veya kaynaklar sınırlı olduğunda kullanışlıdır. INT8 etkinken 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 aktarma süreci hakkında daha fazla ayrıntı için dışa aktarma ile ilgili Ultralytics dokümantasyon sayfasını ziyaret et.

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

Artık YOLO26 modelini TF.js formatına dışa aktardığına göre, bir sonraki adım onu dağıtmaktır. Bir TF.js modelini çalıştırmak için birincil ve önerilen ilk adım, kullanım kodu parçacığında daha önce gösterildiği gibi YOLO("./yolo26n_web_model") yöntemini kullanmaktır.

Ancak, TF.js modellerini dağıtmayla ilgili ayrıntılı talimatlar için aşağıdaki kaynaklara göz atabilirsin:

Ö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ımla ilgili 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 dolu.

SSS

Ultralytics 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ı takip edebilirsin:

Kullanım
from ultralytics import YOLO

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

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo26n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")

Desteklenen dışa aktarma seçenekleri hakkında daha fazla ayrıntı için dağıtım seçenekleriyle ilgili Ultralytics belgeleri sayfasını ziyaret et.

YOLO26 modellerimi neden 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. Platformlar Arası Destek: TF.js, birden fazla ortamı destekleyerek dağıtımda esneklik sağlar.
  3. Çevrimdışı Yetenekler: Uygulamaların internet bağlantısı olmadan çalışmasını sağlayarak güvenilirlik ve gizlilik sunar.
  4. GPU Hızlandırma: GPU hızlandırması için WebGL'den yararlanarak, sınırlı kaynaklara sahip cihazlarda performansı optimize eder.

Kapsamlı bir genel bakış için TensorFlow.js ile Entegrasyonlarımıza bak.

TensorFlow.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. İşte tarayıcı tabanlı uygulamalara sağladığı faydalar:

  • Gecikmeyi Azaltır: Makine öğrenimi modellerini yerel olarak çalıştırır, sunucu tarafı hesaplamalara güvenmeden 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.
  • Çoklu Arka Uç Desteği: 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.

YOLO26 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 ve kapsamlı bir dağıtım esnekliği sağlar.
  • Çoklu Arka Uçlar: CPU'yu, GPU hızlandırması için WebGL'i, WebAssembly'yi (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 kılar.

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 bak.

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 olanak tanır. Bu, bir sunucunun işlem gücünden ve sunucu tarafındaki verilere erişimden yararlanan sunucu tarafı makine öğrenimi uygulamalarını mümkün kılar. Tipik kullanım durumları arasında gerçek zamanlı veri işleme ve arka uç sunucularındaki makine öğrenimi boru hatları bulunur.

Node.js dağıtımına başlamak için TensorFlow'un Run TensorFlow.js in Node.js kılavuzuna başvur.

Yorumlar