Bir YOLO11 Modelinden TF.js Model Formatına Aktarma
Makine öğrenimi modellerini doğrudan tarayıcıda veya Node.js üzerinde dağıtmak zor olabilir. Modelinizin, kullanıcının cihazında yerel olarak etkileşimli uygulamaları çalıştırmak için daha hızlı performans için optimize edildiğinden emin olmanız gerekir. TensorFlow.js veya TF.js model formatı, hızlı performans sunarken minimum güç kullanmak üzere tasarlanmıştır.
'TF.js model formatına aktarma' özelliği, Ultralytics YOLO11 modellerinizi yüksek hızlı ve yerel olarak çalışan nesne algılama çıkarımı için optimize etmenizi sağlar. Bu kılavuzda, modellerinizi TF.js formatına dönüştürme konusunda size yol göstereceğiz, böylece 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ü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ışı özelliklerle birlikte gelir ve kullanıcıların uygulamanızı internet bağlantısı olmadan bile kullanmalarına olanak tanır. 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ç yapan temel özellikler:
-
Çapraz Platform Desteği: 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ına ve dağıtmasına olanak tanır.
-
Çoklu Arka Uç Desteği: TensorFlow.js, CPU, GPU hızlandırması 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 ve çevrimdışı işlevsel olan uygulamalar geliştirmeyi mümkün kılar.
TensorFlow.js ile Dağıtım Seçenekleri
YOLO11 modellerini TF.js formatına aktarma sürecine dalmadan önce, bu formatın kullanıldığı bazı tipik dağıtım senaryolarını keşfedelim.
TF.js, makine öğrenimi modellerinizi dağıtmak için çeşitli seçenekler sunar:
-
Tarayıcı İçi ML Uygulamaları: Doğrudan tarayıcıda makine öğrenimi modellerini ç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ünü veya sunucu tarafı verilerine erişimi gerektiren uygulamalar için kullanışlıdır.
-
Chrome Uzantıları: İlginç bir dağıtım senaryosu, TensorFlow.js ile Chrome uzantılarının oluşturulmasıdır. Örneğin, kullanıcıların önceden eğitilmiş bir ML modeli kullanarak sınıflandırmak için herhangi bir web sayfasındaki bir resme sağ tıklamasına olanak tanıyan bir uzantı geliştirebilirsiniz. TensorFlow.js, makine öğrenimine dayalı anında içgörüler veya artırmalar sağlamak için günlük web tarama deneyimlerine entegre edilebilir.
YOLO11 Modellerini TensorFlow.js'ye Aktarma
YOLO11 modellerini TF.js'ye dönüştürerek model uyumluluğunu ve dağıtım esnekliğini genişletebilirsiniz.
Kurulum
Gerekli paketi yüklemek için şunu çalıştırın:
Kurulum
# Install the required package for YOLO11
pip install ultralytics
Yükleme süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza bakın. YOLO11 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Sık Karşılaşılan Sorunlar kılavuzumuza başvurun.
Kullanım
Tüm Ultralytics YOLO11 modelleri, kutudan çıkar çıkmaz dışa aktarmayı destekleyecek şekilde tasarlanmıştır ve bu da onları tercih ettiğiniz dağıtım iş akışına entegre etmeyi kolaylaştırır. Uygulamanız 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üleyebilirsiniz.
Kullanım
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo11n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF.js format
yolo export model=yolo11n.pt format=tfjs # creates '/yolo11n_web_model'
# Run inference with the exported model
yolo predict model='./yolo11n_web_model' source='https://ultralytics.com/images/bus.jpg'
Dışa Aktarma Argümanları
Argüman | Tür | Varsayılan | Açıklama |
---|---|---|---|
format |
str |
'tfjs' |
Çeşitli dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan modelin hedef formatı. |
imgsz |
int veya tuple |
640 |
Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı veya bir demet olabilir (height, width) belirli boyutlar için. |
half |
bool |
False |
FP16 (yarı duyarlıklı) nicelemeyi etkinleştirir, model boyutunu küçültür ve desteklenen donanımda çıkarımı potansiyel olarak hızlandırır. |
int8 |
bool |
False |
INT8 nicelemesini etkinleştirir, modeli daha da sıkıştırır ve öncelikle uç cihazlar için minimum doğruluk kaybıyla çıkarımı hızlandırır. |
nms |
bool |
False |
Doğru ve verimli algılama sonrası işleme için gerekli olan Non-Maximum Suppression (NMS) ekler. |
batch |
int |
1 |
Dışa aktarma modeli toplu çıkarım boyutunu veya dışa aktarılan modelin aynı anda işleyeceği maksimum görüntü sayısını belirtir. predict modu. |
device |
str |
None |
Dış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 bilgi için Ultralytics'in dışa aktarma hakkındaki dokümantasyon sayfasını ziyaret edin.
Aktarılan YOLO11 TensorFlow.js Modellerini Dağıtma
YOLO11 modelinizi TF.js biçimine aktardığınıza 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, YOLO("./yolo11n_web_model")
yöntemini kullanmaktır, daha önce kullanım kodu parçasında gösterildiği gibi.
Ancak, TF.js modellerinizi dağıtma konusunda ayrıntılı talimatlar için aşağıdaki kaynaklara göz atın:
-
Chrome Uzantısı: TF.js modellerinizi bir Chrome uzantısına nasıl dağıtabileceğinize ilişkin geliştirici dokümantasyonu burada.
-
Node.js'de TensorFlow.js'yi Çalıştırma: TensorFlow'un Node.js'de doğrudan TensorFlow.js'yi çalıştırma üzerine bir blog gönderisi.
-
TensorFlow.js'yi Dağıtma - Bulut Platformunda Node Projesi: TensorFlow'un bir Bulut Platformunda bir TensorFlow.js modelini dağıtma üzerine bir blog gönderisi.
Özet
Bu kılavuzda, Ultralytics YOLO11 modellerini TensorFlow.js formatına nasıl aktaracağımızı öğrendik. TF.js'ye aktararak, YOLO11 modellerinizi çok çeşitli platformlarda optimize etme, dağıtma ve ölçeklendirme esnekliğine sahip olursunuz.
Kullanım hakkında daha fazla ayrıntı için TensorFlow.js resmi dokümantasyonunu ziyaret edin.
Ultralytics YOLO11'i 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 YOLO11'den en iyi şekilde yararlanmanıza yardımcı olacak harika kaynaklarla dolu.
SSS
Ultralytics YOLO11 modellerini TensorFlow.js formatına nasıl aktarabilirim?
Ultralytics YOLO11 modellerini TensorFlow.js (TF.js) formatına aktarmak basittir. Şu adımları izleyebilirsiniz:
Kullanım
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo11n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF.js format
yolo export model=yolo11n.pt format=tfjs # creates '/yolo11n_web_model'
# Run inference with the exported model
yolo predict model='./yolo11n_web_model' source='https://ultralytics.com/images/bus.jpg'
Desteklenen dışa aktarma seçenekleri hakkında daha fazla bilgi için Ultralytics'in dağıtım seçenekleri hakkındaki dokümantasyon sayfasını ziyaret edin.
YOLO11 modellerimi neden TensorFlow.js'ye aktarmalıyım?
YOLO11 modellerini TensorFlow.js'ye aktarmak, aşağıdakiler de dahil olmak üzere çeşitli avantajlar sunar:
- Yerel Yürütme: Modeller doğrudan tarayıcıda veya Node.js'de çalışabilir, gecikmeyi azaltır ve kullanıcı deneyimini iyileştirir.
- Çapraz Platform Desteği: TF.js, birden çok ortamı destekleyerek dağıtımda esneklik sağlar.
- Çevrimdışı Yetenekler: Uygulamaların internet bağlantısı olmadan çalışmasını sağlayarak güvenilirlik ve gizlilik sağlar.
- GPU Hızlandırması: Sınırlı kaynaklara sahip cihazlarda performansı optimize ederek GPU hızlandırması için WebGL'den yararlanır.
Kapsamlı bir genel bakış için TensorFlow.js ile Entegrasyonlarımıza bakın.
TensorFlow.js, tarayıcı tabanlı makine öğrenimi uygulamalarına nasıl fayda sağlar?
TensorFlow.js, özellikle tarayıcılarda ve Node.js ortamlarında ML modellerinin verimli bir şekilde yürütülmesi için tasarlanmıştır. Tarayıcı tabanlı uygulamalara şu faydaları sağlar:
- Gecikmeyi Azaltır: Makine öğrenimi modellerini yerel olarak çalıştırır ve sunucu tarafı hesaplamalarına güvenmeden anında sonuçlar 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 Arka Ucu 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 misiniz? Resmi TensorFlow.js kılavuzuna göz atın.
YOLO11 modellerini dağıtmak için TensorFlow.js'nin temel özellikleri nelerdir?
TensorFlow.js'nin temel özellikleri şunlardır:
- Çapraz Platform Desteği: 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: Gelişmiş işlemler için CPU, GPU hızlandırması için WebGL, WebAssembly (WASM) ve 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 derinlemesine bilgi için TensorFlow.js ile Dağıtım Seçenekleri bölümümüze bakın.
TensorFlow.js kullanarak bir YOLO11 modelini sunucu tarafı Node.js uygulamalarında dağıtabilir miyim?
Evet, TensorFlow.js, YOLO11 modellerinin Node.js ortamlarında dağıtımına olanak tanır. 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 arka uç sunucularında gerçek zamanlı veri işleme ve makine öğrenimi işlem hatları bulunur.
Node.js dağıtımına başlamak için TensorFlow'un TensorFlow.js'i Node.js'de Çalıştırma kılavuzuna bakın.