Ultralytics YOLO27:

YOLO26'dan TF SavedModel Formatına Nasıl Dışa Aktarım Yapılacağını Öğren#

Makine öğrenimi modellerini dağıtmak zor olabilir. Ancak verimli ve esnek bir model formatı kullanmak işini kolaylaştırabilir. TF SavedModel, TensorFlow tarafından makine öğrenimi modellerini tutarlı bir şekilde yüklemek için kullanılan açık kaynaklı bir makine öğrenimi çerçevesidir. TensorFlow modelleri için bir bavul gibidir; modelleri farklı cihazlarda ve sistemlerde taşımayı ve kullanmayı kolaylaştırır.

Ultralytics YOLO26 modellerini TF SavedModel formatına nasıl aktaracağını öğrenmek, modelleri farklı platformlar ve ortamlar arasında kolayca dağıtmana yardımcı olabilir. Bu kılavuzda, modellerini TF SavedModel formatına nasıl dönüştüreceğini ele alacağız; böylece modellerinle farklı cihazlarda çıkarım çalıştırma süreci basitleşir.

Neden TF SavedModel Formatına Dışa Aktarım Yapmalısın?#

TensorFlow SavedModel formatı, aşağıda gösterildiği gibi Google tarafından geliştirilen TensorFlow ekosisteminin bir parçasıdır. TensorFlow modellerini sorunsuz bir şekilde kaydetmek ve serileştirmek için tasarlanmıştır. Mimari, ağırlıklar ve hatta derleme bilgileri gibi model ayrıntılarının tamamını kapsar. Bu, modelleri farklı ortamlarda paylaşmayı, dağıtmayı ve eğitmeye devam etmeyi kolaylaştırır.

TensorFlow SavedModel export format structure

TF SavedModel'ın önemli bir avantajı vardır: uyumluluk. TensorFlow Serving, LiteRT (eski adıyla TensorFlow Lite) ve TensorFlow.js ile iyi çalışır. Bu uyumluluk, web ve mobil uygulamalar da dahil olmak üzere çeşitli platformlarda modelleri paylaşmayı ve dağıtmayı kolaylaştırır. TF SavedModel formatı hem araştırma hem de üretim için kullanışlıdır. Modellerini yönetmek için birleşik bir yol sunarak modellerinin her uygulamaya hazır olmasını sağlar.

TF SavedModel'ların Temel Özellikleri#

TF SavedModel'ı yapay zekâ geliştiricileri için harika bir seçenek hâline getiren temel özellikler şunlardır:

  • Taşınabilirlik: TF SavedModel, dilden bağımsız, kurtarılabilir ve hermetik bir serileştirme formatı sağlar. Üst düzey sistemlerin ve araçların TensorFlow modelleri üretmesine, tüketmesine ve dönüştürmesine olanak tanır. SavedModel'lar farklı platformlar ve ortamlar arasında kolayca paylaşılabilir ve dağıtılabilir.

  • Dağıtım Kolaylığı: TF SavedModel, hesaplama grafiğini, eğitilmiş parametreleri ve gerekli meta verileri tek bir pakette birleştirir. Modeli oluşturan özgün kodu gerektirmeden kolayca yüklenebilir ve çıkarım için kullanılabilir. Bu, TensorFlow modellerinin çeşitli üretim ortamlarında dağıtımını kolay ve verimli hâle getirir.

  • Varlık Yönetimi: TF SavedModel; sözlükler, gömüler veya arama tabloları gibi harici varlıkların eklenmesini destekler. Bu varlıklar, model yüklendiğinde kullanılabilir olmalarını sağlamak için grafik tanımı ve değişkenlerin yanında depolanır. Bu özellik, harici kaynaklara dayanan modellerin yönetimini ve dağıtımını basitleştirir.

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

YOLO26 modellerini TF SavedModel formatına aktarma sürecine geçmeden önce, bu formatın kullanıldığı bazı yaygın dağıtım senaryolarını inceleyelim.

TF SavedModel, makine öğrenimi modellerini dağıtmak için çeşitli seçenekler sunar:

  • TensorFlow Serving: TensorFlow Serving, üretim ortamları için tasarlanmış esnek ve yüksek performanslı bir sunum sistemidir. TF SavedModel'ları yerel olarak destekler; bu sayede modellerini bulut platformlarına, şirket içi sunuculara veya uç cihazlara dağıtmanı ve sunmanı kolaylaştırır.

  • Bulut Platformları: Google Bulut Platformu (GCP), Amazon Web Services (AWS) ve Microsoft Azure gibi büyük bulut sağlayıcıları, TF SavedModel'lar da dahil olmak üzere TensorFlow modellerini dağıtmak ve çalıştırmak için hizmetler sunar. Bu hizmetler ölçeklenebilir ve yönetilen altyapı sağlayarak modellerini kolayca dağıtmanı ve ölçeklendirmeni mümkün kılar.

  • Mobil ve Gömülü Cihazlar: Mobil, gömülü ve IoT cihazlarında makine öğrenimi modellerini çalıştırmak için kullanılan hafif bir çözüm olan LiteRT (eski adıyla TensorFlow Lite), TF SavedModel'ları LiteRT formatına dönüştürmeyi destekler. Bu sayede modellerini akıllı telefonlar ve tabletlerden mikrodenetleyicilere ve uç cihazlara kadar çok çeşitli cihazlarda dağıtabilirsin.

  • TensorFlow Runtime: TensorFlow Runtime (tfrt), TensorFlow grafiklerini yürütmek için yüksek performanslı bir çalışma zamanıdır. TF SavedModel'ları C++ ortamlarında yüklemek ve çalıştırmak için daha düşük seviyeli API'ler sağlar. TensorFlow Runtime, standart TensorFlow çalışma zamanına kıyasla daha iyi performans sunar. Düşük gecikmeli çıkarım ve mevcut C++ kod tabanlarıyla sıkı entegrasyon gerektiren dağıtım senaryoları için uygundur.

Desteklenen Görevler#

TF SavedModel dışa aktarımı, yedi Ultralytics görevinin tamamını destekler. Anlamsal segmentasyon ve derinlik tahmini yalnızca bu başlıkları içeren tek aile olan YOLO26 ile kullanılabilir.

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

YOLO26 Modellerini TF SavedModel'a Dışa Aktarma#

YOLO26 modellerini TF SavedModel formatına aktararak çeşitli platformlarda uyarlanabilirliklerini ve dağıtım kolaylığını artırırsın.

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 SavedModel formatı Export, Predict ve Validate modlarını destekler. Modelini dışa aktar, ardından çıkarım çalıştırmak 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 SavedModel format
model.export(format="saved_model")  # creates 'yolo26n_saved_model'
Tahmin
from ultralytics import YOLO

# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")

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

# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")

# 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'saved_model'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.
kerasboolFalseKeras formatına dışa aktarımı etkinleştirerek TensorFlow sunumu ve API'leriyle uyumluluk sağlar.
quantizeint veya strNoneNiceleme hassasiyeti: 8 (INT8/PTQ; kalibrasyon için data/fraction gerekir) veya 32/ayarlanmamış (FP32). SavedModel dışa aktarımı için FP16 desteklenmez. Kullanımdan kaldırılan int8 bayrağının yerini alır.
opsetintNoneAra ONNX grafiği için ONNX opset sürümünü belirtir. Ayarlanmazsa desteklenen en son sürüm kullanılır.
nmsbool, isteğe bağlıNoneHam çıktıyı (None, varsayılan), gömülü NMS'yi (True) veya NMS'siz kafayı (False) seç.
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.
datastrNoneNicemleme için gerekli dataset YAML dosyasının yolu; sınıflandırmada bunun yerine bir veri kümesi dizini veya yerleşik veri kümesi adı kullanılır. quantize=8 ile birlikte belirtilmezse Ultralytics, model görevi için varsayılan kalibrasyon veri kümesini seçer.
fractionfloat, int veya list1.0Oran, görüntü sayısı veya [train, val, test] oranları/sayıları olarak kalibrasyon alt kümesi. İki öğeli listelerde test tam bırakılırken 0 atlanır.
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 SavedModel Modellerini Dağıtma#

YOLO26 modelini TF SavedModel formatına aktardığına göre sıradaki adım onu dağıtmaktır. TF SavedModel modelini çalıştırmak için birincil ve önerilen ilk adım, daha önce kullanım kodu parçacığında gösterildiği gibi YOLO("yolo26n_saved_model/") yöntemini kullanmaktır.

Ancak TF SavedModel modellerini dağıtma hakkında ayrıntılı talimatlar için aşağıdaki kaynaklara göz at:

  • TensorFlow Serving: TF SavedModel modellerini TensorFlow Serving kullanarak nasıl dağıtacağına ilişkin geliştirici belgeleri burada yer alır.

  • Node.js'te TensorFlow SavedModel Çalıştırma: TensorFlow SavedModel'ı dönüştürmeden doğrudan Node.js'te çalıştırmaya ilişkin bir TensorFlow blog yazısı.

  • Bulutta Dağıtım: TensorFlow SavedModel modelini Cloud AI Platform'da dağıtmaya ilişkin bir TensorFlow blog yazısı.

Özet#

Bu kılavuzda, Ultralytics YOLO26 modellerini TF SavedModel formatına nasıl aktaracağını inceledik. TF SavedModel'a aktarım yaparak YOLO26 modellerini çok çeşitli platformlarda optimize etme, dağıtma ve ölçeklendirme esnekliği kazanırsın.

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

Ultralytics YOLO26'yı diğer platformlar ve framework'lerle entegre etme hakkında daha fazla bilgi için entegrasyon kılavuzu sayfamıza göz atmayı unutma. YOLO26'dan projelerinde en iyi şekilde yararlanman için faydalı kaynaklarla doludur.

SSS#

  • Bir Ultralytics YOLO modelini TensorFlow SavedModel formatına aktarmak kolaydır. Bunu gerçekleştirmek için Python veya CLI kullanabilirsin:

    YOLO26'yı TF SavedModel'a Dışa Aktarma
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TF SavedModel format
    model.export(format="saved_model")  # creates 'yolo26n_saved_model'
    
    # Load the exported TF SavedModel for inference
    tf_savedmodel_model = YOLO("./yolo26n_saved_model")
    results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")

    Daha fazla bilgi için Ultralytics Dışa Aktarma belgelerine başvur.

  • TensorFlow SavedModel formatı, model dağıtımı için çeşitli avantajlar sunar:

    • Taşınabilirlik: Dilden bağımsız bir format sağlayarak modelleri farklı ortamlarda paylaşmayı ve dağıtmayı kolaylaştırır.
    • Uyumluluk: Modelleri web ve mobil uygulamalar da dahil olmak üzere çeşitli platformlarda dağıtmak için gerekli olan TensorFlow Serving, LiteRT ve TensorFlow.js gibi araçlarla sorunsuz bir şekilde entegre olur.
    • Eksiksiz kapsülleme: Model mimarisini, ağırlıkları ve derleme bilgilerini kodlayarak kolay paylaşım ve eğitime devam etme olanağı sağlar.

    Daha fazla avantaj ve dağıtım seçeneği için Ultralytics YOLO model dağıtım seçeneklerine göz at.

  • TF SavedModel, aşağıdakiler de dahil olmak üzere çeşitli ortamlarda dağıtılabilir:

    • TensorFlow Serving: Ölçeklenebilir ve yüksek performanslı model sunumu gerektiren üretim ortamları için idealdir.
    • Bulut Platformları: Ölçeklenebilir model dağıtımı için Google Bulut Platformu (GCP), Amazon Web Services (AWS) ve Microsoft Azure gibi büyük bulut hizmetlerini destekler.
    • Mobil ve Gömülü Cihazlar: TF SavedModel'ları dönüştürmek için LiteRT (eski adıyla TensorFlow Lite) kullanılması, mobil cihazlara, IoT cihazlarına ve mikrodenetleyicilere dağıtım yapılmasını sağlar.
    • TensorFlow Runtime: Daha iyi performansla düşük gecikmeli çıkarıma ihtiyaç duyan C++ ortamları için.

    Ayrıntılı dağıtım seçenekleri için TensorFlow modellerini dağıtma hakkındaki resmi kılavuzları ziyaret et.

  • YOLO26 modellerini dışa aktarmak için ultralytics paketini yüklemen gerekir. Terminalinde aşağıdaki komutu çalıştır:

    pip install ultralytics

    Daha ayrıntılı yükleme talimatları ve en iyi uygulamalar için Ultralytics Yükleme kılavuzumuza başvur. Herhangi bir sorunla karşılaşırsan Yaygın Sorunlar kılavuzumuza göz at.

  • TF SavedModel formatı, aşağıdaki özellikleri sayesinde yapay zekâ geliştiricileri için faydalıdır:

    • Taşınabilirlik: Çeşitli ortamlar arasında zahmetsizce paylaşım ve dağıtım yapılmasını sağlar.
    • Dağıtım Kolaylığı: Hesaplama grafiğini, eğitilmiş parametreleri ve meta verileri tek bir pakette kapsülleyerek yükleme ve çıkarım süreçlerini basitleştirir.
    • Varlık Yönetimi: Sözlükler gibi harici varlıkları destekleyerek model yüklendiğinde bunların kullanılabilir olmasını sağlar.

    Daha fazla ayrıntı için resmî TensorFlow belgelerini incele.

Yorumlar