İç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. Model biçiminizin daha hızlı performans için optimize edildiğinden emin olmanız gerekir, böylece model kullanıcının cihazında yerel olarak etkileşimli uygulamalar çalıştırmak için kullanılabilir. TensorFlow .js veya TF.js model biçimi, hızlı performans sunarken minimum güç kullanmak üzere 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 internet bağlantısı olmadan da uygulamanızı 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, 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 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ış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ı 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.



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

Yorumlar