İçeriğe geç

Bir YOLOv8 Model Formatından TF.js Model Formatına Aktarma

Makine öğrenimi modellerini doğrudan tarayıcıda veya Node.js üzerinde dağıtmak zor olabilir. Modelin kullanıcının cihazında etkileşimli uygulamaları yerel olarak çalıştırmak için kullanılabilmesi için model biçiminizin daha hızlı performans için iyileştirildiğinden emin olmanız gerekir. bu TensorFlow.js veya TF.js, model formatı hızlı performans sunarken minimum güç kullanacak şekilde tasarlanmıştır.

' TF.js model formatına aktar' özelliği, modelinizi optimize etmenize olanak tanır. Ultralytics YOLOv8 yüksek hızlı ve yerel olarak çalıştırılan nesne algılama çıkarımı için modeller. Bu kılavuzda, modellerinizi TF.js formatına dönüştürerek modellerinizin çeşitli yerel tarayıcılarda ve Node.js uygulamalarında iyi performans göstermesini kolaylaştıracağız.

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

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 hem web tarayıcılarında hem de Node.js'de nasıl dönüştürüldüğünü ve dağıtıldığını göstermektedir.

TF.js Mimarisi

Modellerin yerel olarak çalıştırılması da gecikme süresini azaltır ve daha duyarlı bir kullanıcı deneyimi sağlar. TensorFlow.js ayrıca kullanıcıların uygulamanızı internet bağlantısı olmadan da kullanabilmelerini sağlayan çevrimdışı özelliklere sahiptir. TF.js, GPU hızlandırma desteği ile ö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ç 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ı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, 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 internet bağlantısına ihtiyaç duymadan tarayıcıda çalışabilir, bu da çevrimdışı çalışan uygulamalar geliştirmeyi mümkün kılar.

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

YOLOv8 modellerini TF.js formatına aktarma sürecine geçmeden ö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 Makine Öğrenimi Uygulamaları: Makine öğrenimi modellerini doğrudan tarayıcıda çalıştıran web uygulamaları oluşturabilirsiniz. Sunucu tarafı hesaplama ihtiyacı ortadan kalkar ve sunucu yükü azalır.

  • Node.js Uygulamaları:: TensorFlow.js ayrıca Node.js ortamlarında dağıtımı 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şime ihtiyaç duyan uygulamalar için kullanışlıdır.

  • Chrome Uzantıları: İlginç bir dağıtım senaryosu da TensorFlow.js ile Chrome uzantılarının oluşturulmasıdır. Örneğin, kullanıcıların önceden eğitilmiş bir makine öğrenimi modeli kullanarak sınıflandırmak için herhangi bir web sayfasındaki bir görüntüye sağ tıklamasına olanak tanıyan bir uzantı geliştirebilirsiniz. TensorFlow.js, makine öğrenimine dayalı olarak anında içgörüler veya artırmalar sağlamak için günlük web tarama deneyimlerine entegre edilebilir.

YOLOv8 Modellerini TensorFlow.js'ye Aktarma

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

Kurulum

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

Kurulum

# Install the required package for YOLOv8
pip install ultralytics

Kurulum süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza göz atın. YOLOv8 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Ortak Sorunlar kılavuz umuza başvurun.

Kullanım

Kullanım talimatlarına geçmeden önce, tüm Ultralytics YOLOv8 modellerinin dışa aktarılabildiğini, ancak seçtiğiniz modelin dışa aktarma işlevini desteklediğinden burada emin olabileceğinizi belirtmek önemlidir.

Kullanım

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF.js format
yolo export model=yolov8n.pt format=tfjs  # creates '/yolov8n_web_model'

# Run inference with the exported model
yolo predict model='./yolov8n_web_model' source='https://ultralytics.com/images/bus.jpg'

Desteklenen dışa aktarma seçenekleri hakkında daha fazla bilgi için dağıtım seçenekleriyle ilgiliUltralytics belge sayfasını ziyaret edin.

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

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

Bununla birlikte, TF.js modellerinizi dağıtmaya ilişkin ayrıntılı talimatlar için aşağıdaki kaynaklara göz atın:

Özet

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

Kullanım hakkında daha fazla bilgi için TensorFlow.js resmi belgelerini ziyaret edin.

Ultralytics YOLOv8 adresini diğer platformlar ve çerçevelerle entegre etme hakkında daha fazla bilgi için entegrasyon kılavuzu sayfamıza göz atmayı unutmayın. Projelerinizde YOLOv8 'dan en iyi şekilde yararlanmanıza yardımcı olacak harika kaynaklarla doludur.

SSS

Ultralytics YOLOv8 modellerini TensorFlow.js formatına nasıl aktarabilirim?

Ultralytics YOLOv8 modellerini TensorFlow.js (TF.js) formatına aktarmak basittir. Bu adımları takip edebilirsiniz:

Kullanım

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF.js format
yolo export model=yolov8n.pt format=tfjs  # creates '/yolov8n_web_model'

# Run inference with the exported model
yolo predict model='./yolov8n_web_model' source='https://ultralytics.com/images/bus.jpg'

Desteklenen dışa aktarma seçenekleri hakkında daha fazla bilgi için dağıtım seçenekleriyle ilgiliUltralytics belge sayfasını ziyaret edin.

Neden YOLOv8 modellerimi TensorFlow.js'ye aktarmalıyım?

YOLOv8 modellerini TensorFlow.js adresine aktarmak, aşağıdakiler de dahil olmak üzere çeşitli avantajlar sunar:

  1. Yerel Yürütme: Modeller doğrudan tarayıcıda veya Node.js'de çalışabilir, gecikmeyi azaltır ve kullanıcı deneyimini geliş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 sağlar.
  4. GPU Hızlandırma: GPU hızlandırma için WebGL'den yararlanarak sınırlı kaynaklara sahip cihazlarda performansı optimize eder.

Kapsamlı bir genel bakış için TensorFlow.js ile Entegrasyonlar bölümümüze bakın.

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 nasıl fayda sağladığı aşağıda açıklanmıştır:

  • Gecikmeyi Azaltır: Makine öğrenimi modellerini yerel olarak çalıştırır ve sunucu tarafı hesaplamalarına bağlı kalmadan anında sonuçlar sağlar.
  • Gizliliği Geliştirir: 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ışabilir ve 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 ister misiniz? Resmi TensorFlow.js kılavuzuna göz atın.

YOLOv8 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ı 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ın.

TensorFlow.js kullanarak sunucu tarafı Node.js uygulamalarına bir YOLOv8 modeli dağıtabilir miyim?

Evet, TensorFlow.js, YOLOv8 modellerinin Node.js ortamlarında konuşlandırı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ı arasında gerçek zamanlı veri işleme ve arka uç sunuculardaki makine öğrenimi işlem hatları yer alır.

Node.js dağıtımına başlamak için TensorFlow adresindeki TensorFlow.js'yi Node.js'de Çalıştır kılavuzuna bakın.



Oluşturma 2024-04-03, Güncelleme 2024-07-05
Yazarlar: glenn-jocher (6), abirami-vina (1)

Yorumlar