Ultralytics YOLO27:

Dağıtım için YOLO26'dan TF GraphDef'e nasıl dışa aktarılır#

YOLO26 gibi en yeni bilgisayarlı görü modellerini farklı ortamlarda dağıtırken uyumluluk sorunlarıyla karşılaşabilirsin. Google'ın TensorFlow GraphDef'i veya TF GraphDef, modelinin serileştirilmiş ve platformdan bağımsız bir gösterimini sunarak bu soruna çözüm getirir. TF GraphDef model biçimini kullanarak, eksiksiz TensorFlow ekosisteminin kullanılamadığı mobil cihazlar veya özel donanımlar gibi ortamlarda YOLO26 modelini dağıtabilirsin.

Bu kılavuzda, Ultralytics YOLO26 modellerini TF GraphDef model biçimine nasıl dışa aktaracağını adım adım anlatacağız. Modelini dönüştürerek dağıtımı kolaylaştırabilir ve YOLO26'nın bilgisayarlı görü yeteneklerini daha geniş bir uygulama ve platform yelpazesinde kullanabilirsin.

TensorFlow GraphDef model serialization format

Neden TF GraphDef'e dışa aktarmalısın?#

TF GraphDef, Google tarafından geliştirilen TensorFlow ekosisteminin güçlü bir bileşenidir. YOLO26 gibi modelleri optimize etmek ve dağıtmak için kullanılabilir. TF GraphDef'e dışa aktarmak, modelleri araştırma ortamından gerçek dünya uygulamalarına taşımanı sağlar. Modellerin eksiksiz TensorFlow çatısı olmayan ortamlarda çalışmasına olanak tanır.

GraphDef biçimi, modeli serileştirilmiş bir hesaplama grafiği olarak temsil eder. Bu, sabit katlama, niceleme ve grafik dönüşümleri gibi çeşitli optimizasyon tekniklerini mümkün kılar. Bu optimizasyonlar verimli yürütme, daha düşük bellek kullanımı ve daha yüksek çıkarım hızları sağlar.

GraphDef modelleri GPU'lar, TPU'lar ve yapay zekâ çipleri gibi donanım hızlandırıcılarını kullanabilir ve YOLO26 çıkarım işlem hattında önemli performans kazanımları sağlar. TF GraphDef biçimi, modeli ve bağımlılıklarını içeren bağımsız bir paket oluşturarak dağıtımı ve farklı sistemlere entegrasyonu kolaylaştırır.

TF GraphDef Modellerinin Temel Özellikleri#

TF GraphDef, model dağıtımını ve optimizasyonunu kolaylaştıran belirgin özellikler sunar.

Temel özelliklerine göz atalım:

  • Model Serileştirme: TF GraphDef, TensorFlow modellerini platformdan bağımsız bir biçimde serileştirmek ve depolamak için bir yol sunar. Bu serileştirilmiş gösterim, modellerini özgün Python kod tabanı olmadan yükleyip çalıştırmana olanak tanıyarak dağıtımı kolaylaştırır.

  • Grafik Optimizasyonu: TF GraphDef, hesaplama grafiklerinin optimize edilmesini sağlar. Bu optimizasyonlar yürütme akışını düzenleyerek, gereksiz işlemleri azaltarak ve işlemleri belirli donanımlara uyarlayarak performansı artırabilir.

  • Dağıtım Esnekliği: GraphDef biçimine dışa aktarılan modeller; kaynakları kısıtlı cihazlar, web tarayıcıları ve özel donanıma sahip sistemler dâhil olmak üzere çeşitli ortamlarda kullanılabilir. Bu, TensorFlow modellerini daha geniş kapsamda dağıtma imkânı sunar.

  • Üretim Odaklılık: GraphDef, üretim ortamında dağıtım için tasarlanmıştır. Verimli yürütmeyi, serileştirme özelliklerini ve gerçek dünya kullanım senaryolarıyla uyumlu optimizasyonları destekler.

TF GraphDef ile Dağıtım Seçenekleri#

YOLO26 modellerini TF GraphDef'e dışa aktarma sürecine geçmeden önce, bu biçimin kullanıldığı bazı tipik dağıtım senaryolarına göz atalım.

TF GraphDef ile çeşitli platformlarda nasıl verimli bir şekilde dağıtım yapabileceğini aşağıda görebilirsin.

  • TensorFlow Serving: Bu çatı, TensorFlow modellerini üretim ortamlarında dağıtmak için tasarlanmıştır. TensorFlow Serving; model yönetimi, sürüm oluşturma ve modelleri büyük ölçekte verimli şekilde sunmak için gereken altyapıyı sağlar. GraphDef tabanlı modellerini üretim web hizmetlerine veya API'lere entegre etmenin sorunsuz bir yoludur.

  • Mobil ve Gömülü Cihazlar: LiteRT gibi araçlarla TF GraphDef modellerini akıllı telefonlar, tabletler ve çeşitli gömülü cihazlar için optimize edilmiş biçimlere dönüştürebilirsin. Modellerin daha sonra cihaz üzerinde çıkarım için kullanılabilir; yürütme yerel olarak gerçekleştirilir ve genellikle performans kazanımları ile çevrimdışı kullanım imkânı sunar.

  • Web Tarayıcıları: TensorFlow.js, TF GraphDef modellerinin doğrudan web tarayıcılarında dağıtılmasını sağlar. YOLO26'nın yeteneklerini JavaScript kullanarak değerlendiren, istemci tarafında çalışan gerçek zamanlı nesne algılama uygulamalarının önünü açar.

  • Özel Donanım: TF GraphDef'in platformdan bağımsız yapısı, hızlandırıcılar ve TPU'lar (Tensör İşleme Birimleri) gibi özel donanımları hedeflemesine olanak tanır. Bu cihazlar, yoğun hesaplama gerektiren modeller için performans avantajları sağlayabilir.

Desteklenen Görevler#

TF GraphDef dışa aktarımı, yedi Ultralytics görevinin altısını destekler. Anlamsal segmentasyon ve derinlik tahmini yalnızca bu başlıkları sunan tek aile olan YOLO26 ile kullanılabilir. Poz modelleri dışa aktarılabilir, ancak Ultralytics GraphDef çıkarımı şu anda bunlar için desteklenmemektedir.

GörevYOLOv8YOLO11YOLO26
Algılama
Segmentasyon
Semantik
Derinlik
Sınıflandırma
Poz
OBB

YOLO26 Modellerini TF GraphDef'e Dışa Aktarma#

YOLO26 modelini, çeşitli sistemlerle uyumlu olan TF GraphDef biçimine dönüştürerek platformlar genelinde performansını 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üm ve ipuçları için Yaygın Sorunlar kılavuzumuza başvur.

Kullanım#

Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı hâliyle dışa aktarmayı destekleyecek şekilde tasarlanmıştır; böylece bunları tercih ettiğin dağıtım iş akışına kolayca entegre edebilirsin. Uygulaman 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üleyebilirsin.

TF GraphDef biçimi, poz modellerinin şu anda yalnızca dışa aktarmayı desteklemesi dışında Export, Predict ve Validate modlarını destekler. Modelini dışa aktar, ardından çıkarım yapmak veya doğruluğunu doğrulamak için dışa aktarılan modeli yükle.

Dışa aktarma
from ultralytics import YOLO

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

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo26n.pb'
Tahmin
from ultralytics import YOLO

# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Doğrula
from ultralytics import YOLO

# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Dışa Aktarma Bağımsız Değişkenleri#

Bağımsız değişkenTürVarsayılanAçıklama
formatstr'pb'Dışa aktarılan model için hedef formatı belirtir ve çeşitli dağıtım ortamlarıyla uyumluluğu tanımlar.
imgszint veya tuple640Model girdisi için istenen görüntü boyutu. Kare görüntüler için bir tam sayı veya belirli boyutlar için (height, width) tuple'ı olabilir.
quantizeint veya strNoneSabit FP32 dışa aktarımı. GraphDef, dışa aktarma sırasında FP16, INT8 veya W8A16 hassasiyet dönüşümünü desteklemez.
opsetintNoneAra ONNX grafiği için ONNX opset sürümünü belirtir. Ayarlanmazsa desteklenen en son sürüm kullanılır.
batchint1Dışa aktarma modelinin 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.
devicestrNoneDışa aktarma cihazını belirtir: CPU (device=cpu), Apple silicon için MPS (device=mps).

Dışa aktarma süreci hakkında daha fazla ayrıntı için Ultralytics'in dışa aktarma dokümantasyonu sayfasını ziyaret et.

Dışa Aktarılan YOLO26 TF GraphDef Modellerini Dağıtma#

YOLO26 modelini TF GraphDef biçimine dışa aktardıktan sonraki adım dağıtımdır. TF GraphDef modelini çalıştırmak için önerilen birincil ve ilk adım, daha önce kullanım kodu örneğinde gösterildiği gibi YOLO("model.pb") yöntemini kullanmaktır.

Ancak TF GraphDef modellerini dağıtma hakkında daha fazla bilgi için aşağıdaki kaynaklara göz atabilirsin:

  • TensorFlow Serving: Makine öğrenimi modellerini üretim ortamlarında verimli bir şekilde dağıtmayı ve sunmayı öğreten TensorFlow Serving kılavuzu.

  • TensorFlow Lite: Bu sayfa, makine öğrenimi modellerinin TensorFlow Lite ile cihaz üzerinde çıkarım için optimize edilmiş bir biçime nasıl dönüştürüleceğini açıklar.

  • TensorFlow.js: TensorFlow veya Keras modellerinin web uygulamalarında kullanılmak üzere TensorFlow.js biçimine nasıl dönüştürüleceğini öğreten model dönüştürme kılavuzu.

Özet#

Bu kılavuzda, Ultralytics YOLO26 modellerinin TF GraphDef biçimine nasıl dışa aktarılacağını inceledik. Böylece optimize edilmiş YOLO26 modellerini farklı ortamlarda esnek bir şekilde dağıtabilirsin.

Daha fazla ayrıntı için TF GraphDef resmi belgelerini ziyaret et.

Ultralytics YOLO26'yı diğer platformlar ve çatılarla entegre etme hakkında daha fazla bilgi için entegrasyon kılavuzu sayfamıza göz at.

SSS#

  • Ultralytics YOLO26 modelleri, TF GraphDef olarak da bilinen TensorFlow GraphDef (TF GraphDef) biçimine sorunsuz bir şekilde dışa aktarılabilir. Bu biçim, modelin serileştirilmiş ve platformdan bağımsız bir gösterimini sunar ve mobil ve web gibi çeşitli ortamlarda dağıtım için idealdir. YOLO26 modelini TF GraphDef'e dışa aktarmak için şu adımları izle:

    Kullanım
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TF GraphDef format
    model.export(format="pb")  # creates 'yolo26n.pb'
    
    # Load the exported TF GraphDef model
    tf_graphdef_model = YOLO("yolo26n.pb")
    
    # Run inference
    results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")

    Farklı dışa aktarma seçenekleri hakkında daha fazla bilgi için model dışa aktarma hakkındaki Ultralytics belgelerini ziyaret et.

  • YOLO26 modellerini TF GraphDef biçimine dışa aktarmak aşağıdakiler dâhil olmak üzere çeşitli avantajlar sunar:

    1. Platform Bağımsızlığı: TF GraphDef, modellerin mobil ve web tarayıcıları dâhil olmak üzere çeşitli ortamlarda dağıtılmasına olanak tanıyan platformdan bağımsız bir biçim sunar.
    2. Optimizasyonlar: Bu biçim; sabit katlama, niceleme ve grafik dönüşümleri gibi çeşitli optimizasyonları mümkün kılar. Bu optimizasyonlar yürütme verimliliğini artırır ve bellek kullanımını azaltır.
    3. Donanım Hızlandırma: TF GraphDef biçimindeki modeller, performans kazanımları için GPU'lar, TPU'lar ve yapay zekâ çipleri gibi donanım hızlandırıcılarından yararlanabilir.

    Faydalar hakkında daha fazla bilgi için belgelerimizin TF GraphDef bölümünü oku.

  • Ultralytics YOLO26, YOLOv5 ve YOLOv7 gibi diğer modellere kıyasla çok sayıda avantaj sunar. Temel faydalardan bazıları şunlardır:

    1. Son Teknoloji Performans: YOLO26, gerçek zamanlı nesne algılama, örnek segmentasyonu, anlamsal segmentasyon ve sınıflandırma için olağanüstü hız ve doğruluk sunar.
    2. Kullanım Kolaylığı: Model eğitimi, doğrulama, tahmin ve dışa aktarma için kullanıcı dostu bir API sunarak hem yeni başlayanlar hem de uzmanlar için erişilebilir olmasını sağlar.
    3. Geniş Uyumluluk: Çok yönlü dağıtım seçenekleri için ONNX, TensorRT, CoreML ve TensorFlow dâhil olmak üzere birden fazla dışa aktarma biçimini destekler.

    Daha fazla ayrıntı için YOLO26'ya giriş sayfamıza göz at.

  • YOLO26 modeli TF GraphDef biçimine dışa aktarıldıktan sonra çeşitli özel donanım platformlarında dağıtılabilir. Tipik dağıtım senaryoları şunlardır:

    • TensorFlow Serving: Üretim ortamlarında ölçeklenebilir model dağıtımı için TensorFlow Serving'i kullan. Model yönetimini ve verimli sunumu destekler.
    • Mobil Cihazlar: TF GraphDef modellerini mobil ve gömülü cihazlar için optimize edilmiş TensorFlow Lite'a dönüştürerek cihaz üzerinde çıkarım yapabilirsin.
    • Web Tarayıcıları: Web uygulamalarında istemci tarafında çıkarım yapmak için modelleri TensorFlow.js kullanarak dağıt.
    • Yapay Zekâ Hızlandırıcıları: Hızlandırılmış çıkarım için TPU'lardan ve özel yapay zekâ çiplerinden yararlan.

    Ayrıntılı bilgi için dağıtım seçenekleri bölümüne göz at.

  • YOLO26 modellerini dışa aktarırken karşılaşılan yaygın sorunları gidermek için Ultralytics kapsamlı kılavuzlar ve kaynaklar sunar. Kurulum veya model dışa aktarma sırasında sorun yaşarsan şunlara başvur:

    Bu kaynaklar, YOLO26 modelinin dışa aktarılması ve dağıtılmasıyla ilgili çoğu sorunu çözmene yardımcı olmalıdır.

Yorumlar