Ultralytics YOLO27:
Get Started

YOLO26'dan Dağıtım için TF GraphDef'e Dışa Aktarma#

YOLO26 gibi en yeni bilgisayarlı görü modellerini farklı ortamlara 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 YOLO26 modelini, mobil cihazlar veya özel donanımlar gibi TensorFlow ekosisteminin tamamının bulunmadığı ortamlara dağıtabilirsin.

Bu kılavuzda, Ultralytics YOLO26 modellerini TF GraphDef model biçimine nasıl 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 aktarma, modelleri araştırma aşamasından gerçek dünya uygulamalarına taşımanı sağlar. Modellerin, TensorFlow çerçevesinin tamamının bulunmadığı 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 hızlı çıkarım sağlar.

GraphDef modelleri GPU'lar, TPU'lar ve yapay zekâ çipleri gibi donanım hızlandırıcılarından yararlanarak YOLO26 çıkarım işlem hattında önemli performans kazanımları sağlayabilir. TF GraphDef biçimi, model 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 bir göz atalım:

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

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

  • Dağıtım Esnekliği: GraphDef biçimine aktarılmış modeller; kaynakları kısıtlı cihazlar, web tarayıcıları ve özel donanımlı sistemler dâhil çeşitli ortamlarda kullanılabilir. Bu, TensorFlow modellerinin daha geniş ölçekte dağıtılmasını mümkün kılar.

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

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

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

TF GraphDef ile çeşitli platformlarda nasıl verimli dağıtım yapabileceğin şöyle:

  • TensorFlow Serving: Bu çerçeve, TensorFlow modellerini üretim ortamlarına 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 biçimde sunmak için gerekli altyapıyı sağlar. GraphDef tabanlı modellerini üretim web hizmetlerine veya API'lere sorunsuzca entegre etmeni sağlar.

  • 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. Ardından modellerini, yürütmenin yerel olarak yapıldığı cihaz üzerinde çıkarım için kullanabilirsin; bu genellikle performans kazanımları ve çevrimdışı çalışma olanağı sağlar.

  • Web Tarayıcıları: TensorFlow.js, TF GraphDef modellerini doğrudan web tarayıcılarında dağıtmanı sağlar. JavaScript üzerinden YOLO26'nın yeteneklerinden yararlanan, 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 İşlem Birimleri) gibi özel donanımları hedeflemesine olanak tanır. Bu cihazlar, hesaplama açısından yoğun modeller için performans avantajları sağlayabilir.

Desteklenen Görevler#

TF GraphDef'e dışa aktarma, Ultralytics'in yedi görevinden altısını destekler. Anlamsal segmentasyon ve derinlik tahmini yalnızca bu başlıklara sahip tek aile olan YOLO26 ile kullanılabilir. Poz modelleri dışa aktarılabilir ancak Ultralytics GraphDef çıkarımı şu anda bu modeller için desteklenmiyor.

GörevYOLOv8YOLO11YOLO26
Algılama✅✅✅
Segmentasyon✅✅✅
Anlamsal❌❌✅
Derinlik❌❌✅
Sınıflandırma✅✅✅
Poz✅✅✅
OBB❌❌❌

YOLO26 Modellerini TF GraphDef'e Aktarma#

YOLO26 modelini çeşitli sistemlerle uyumlu TF GraphDef biçimine dönüştürerek farklı platformlardaki performansını artırabilirsin.

Kurulum#

Gerekli paketi yüklemek için şu komutu ç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 zorluk yaşarsan çözüm ve ipuçları için Yaygın Sorunlar kılavuzumuza başvur.

Kullanım#

Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı gibi dışa aktarmayı destekleyecek şekilde tasarlanmıştır; bu sayede tercih ettiğin dağıtım iş akışına kolayca entegre edebilirsin. Uygulaman için en uygun kurulumu seçmek üzere desteklenen dışa aktarma biçimlerinin ve yapılandırma seçeneklerinin tam listesini görüntüleyebilirsin.

Poz modelleri şu anda yalnızca dışa aktarmayı destekler; bunun dışında TF GraphDef biçimi Dışa Aktar, Tahmin ve Doğrula kiplerini 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 aktar
from ultralytics import YOLO

# YOLO26 modelini yükle
model = YOLO("yolo26n.pt")

# Modeli TF GraphDef biçimine aktar
model.export(format="pb")  # 'yolo26n.pb' oluşturur
Tahmin
from ultralytics import YOLO

# Dışa aktarılan TF GraphDef modelini yükle
model = YOLO("yolo26n.pb")

# Çıkarımı çalıştır
results = model("https://ultralytics.com/images/bus.jpg")
Doğrula
from ultralytics import YOLO

# Dışa aktarılan TF GraphDef modelini yükle
model = YOLO("yolo26n.pb")

# COCO8 veri kümesinde doğruluğu doğrula
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 modelin hedef biçimi; çeşitli dağıtım ortamlarıyla uyumluluğu tanımlar.
imgszint veya tuple640Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tam sayı, belirli boyutlar içinse (height, width) demeti kullanılabilir.
quantizeint veya strNoneFP32 dışa aktarma sabittir. 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 aktarılan modelin toplu çıkarım boyutunu veya predict kipinde eşzamanlı işleyeceği en fazla 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 bilgi için Ultralytics dışa aktarma belgeleri sayfasını ziyaret et.

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

YOLO26 modelini TF GraphDef biçimine aktardıktan sonraki adım dağıtımdır. TF GraphDef modelini çalıştırmak için önerilen ilk ve temel adım, kullanım kodu örneğinde daha önce 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 at:

  • TensorFlow Serving: TensorFlow Serving hakkında, makine öğrenimi modellerini üretim ortamlarında verimli biçimde dağıtmayı ve sunmayı anlatan bir kılavuz.

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

  • TensorFlow.js: Web uygulamalarında kullanmak üzere TensorFlow veya Keras modellerini TensorFlow.js biçimine dönüştürmeyi anlatan bir model dönüştürme kılavuzu.

Özet#

Bu kılavuzda, Ultralytics YOLO26 modellerini TF GraphDef biçimine nasıl aktaracağını ele aldık. Böylece optimize edilmiş YOLO26 modellerini farklı ortamlara esnek biçimde dağıtabilirsin.

Kullanım hakkında daha fazla bilgi için TF GraphDef resmî belgelerini ziyaret et.

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

Sık Sorulan Sorular#

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

    Kullanım
    from ultralytics import YOLO
    
    # YOLO26 modelini yükle
    model = YOLO("yolo26n.pt")
    
    # Modeli TF GraphDef biçimine aktar
    model.export(format="pb")  # 'yolo26n.pb' oluşturur
    
    # Dışa aktarılan TF GraphDef modelini yükle
    tf_graphdef_model = YOLO("yolo26n.pb")
    
    # Çıkarımı çalıştır
    results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")

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

  • YOLO26 modellerini TF GraphDef biçimine aktarmak aşağıdakiler dâhil birçok avantaj sunar:

    1. Platform Bağımsızlığı: TF GraphDef, mobil ve web tarayıcıları dâhil çeşitli ortamlara model dağıtımına olanak tanıyan platformdan bağımsız bir biçim sunar.
    2. Optimizasyonlar: Bu biçim, yürütme verimliliğini artırıp bellek kullanımını azaltan sabit katlama, niceleme ve grafik dönüşümleri gibi çeşitli optimizasyonları mümkün kılar.
    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.

    Avantajlar hakkında daha fazla bilgiyi belgelerimizin TF GraphDef bölümünde bulabilirsin.

  • Ultralytics YOLO26, YOLOv5 ve YOLOv7 gibi diğer modellere kıyasla çok sayıda avantaj sunar. Öne çıkan faydalarından 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 çeşitli dışa aktarma biçimlerini destekler.

    Daha fazla ayrıntı için YOLO26'ya girişimizi incele.

  • YOLO26 modelini TF GraphDef biçimine aktardıktan sonra çeşitli özel donanım platformlarına dağıtabilirsin. Yaygın 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 yapılmasını sağla.
    • 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 sık karşılaşılan 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 modelini dışa aktarma ve dağıtmayla ilgili sorunların çoğunu çözmene yardımcı olacaktır.

Yorumlar