YOLO26'dan TF SavedModel Formatına Nasıl Aktarım Yapılacağını Anla#
Makine öğrenimi modellerini dağıtmak zorlu 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 onları taşımayı ve farklı cihaz ile sistemlerde kullanmayı kolaylaştıran bir bavul gibidir.
Ultralytics YOLO26 modellerinden TF SavedModel formatına nasıl dışarı aktarılacağını öğrenmek, modellerini farklı platformlarda ve ortamlarda kolayca dağıtmana yardımcı olabilir. Bu kılavuzda, modellerini TF SavedModel formatına nasıl dönüştüreceğini inceleyerek modellerinle farklı cihazlarda çıkarım çalıştırma sürecini basitleştireceğiz.
Neden TF SavedModel Formatına 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 modelin tüm detaylarını kapsar. Bu, farklı ortamlarda paylaşmayı, dağıtmayı ve eğitime devam etmeyi kolaylaştırır.
TF SavedModel'ın önemli bir avantajı vardır: uyumluluğu. TensorFlow Serving, LiteRT (eski adıyla TensorFlow Lite) ve TensorFlow.js ile sorunsuz çalışır. Bu uyumluluk, web ve mobil uygulamalar 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 prodüksiyon için faydalıdır. Herhangi bir uygulamaya hazır olmalarını sağlayarak modellerini yönetmek için birleştirilmiş bir yol sunar.
TF SavedModel'lerin Temel Özellikleri#
TF SavedModel'i yapay zeka geliştiricileri için harika bir seçenek haline getiren temel özellikler şunlardır:
-
Taşınabilirlik: TF SavedModel, dilden bağımsız, kurtarılabilir ve hermetik bir serileştirme formatı sağlar. Daha üst seviye sistemlerin ve araçların TensorFlow modelleri üretmesini, tüketmesini ve dönüştürmesini sağlar. SavedModel'ler farklı platform ve ortamlarda 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 orijinal kod gerekmeden kolayca yüklenebilir ve çıkarım için kullanılabilirler. Bu, TensorFlow modellerinin çeşitli üretim ortamlarında dağıtımını basit ve verimli hale getirir.
-
Varlık Yönetimi: TF SavedModel, kelime dağarcıkları, gömdürmeler veya arama tabloları gibi harici varlıkların dahil edilmesini destekler. Bu varlıklar, grafik tanımı ve değişkenlerin yanında saklanarak model yüklendiğinde kullanılabilir olmalarını sağlar. 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 dalmadan önce, bu formatın kullanıldığı bazı tipik dağıtım senaryolarını inceleyelim.
TF SavedModel, makine öğrenimi modellerini dağıtman için bir dizi seçenek sunar:
-
TensorFlow Serving: TensorFlow Serving, prodüksiyon ortamları için tasarlanmış esnek, yüksek performanslı bir sunum sistemidir. TF SavedModels'ı yerel olarak destekler; bu sayede modellerini bulut platformlarında, şirket içi sunucularda veya uç cihazlarda dağıtmayı ve sunmayı kolaylaştırır.
-
Bulut Platformları: Google Cloud Platform (GCP), Amazon Web Services (AWS) ve Microsoft Azure gibi büyük bulut sağlayıcıları, TF SavedModels 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ğıtmana ve ölçeklendirmene olanak tanır.
-
Mobil ve Gömülü Cihazlar: Mobil, gömülü ve IoT cihazlarda makine öğrenimi modellerini çalıştırmak için hafif bir çözüm olan LiteRT (eski adıyla TensorFlow Lite), TF SavedModels'ın LiteRT formatına dönüştürülmesini destekler. Bu, akıllı telefonlardan ve tabletlerden mikrodenetleyicilere ve uç cihazlara kadar geniş bir cihaz yelpazesinde modellerini dağıtmana olanak tanır.
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt), TensorFlow grafiklerini yürütmek için yüksek performanslı bir çalışma zamanıdır. C++ ortamlarında TF SavedModels'ı 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 tümünü destekler. Anlamsal bölümleme ve derinlik tahmini, yalnızca bu başlıklara sahip tek aile olan YOLO26 ile kullanılabilir.
| Görev | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Algıla | ✅ | ✅ | ✅ |
| Segmentlere Ayır | ✅ | ✅ | ✅ |
| Anlamsal | ❌ | ❌ | ✅ |
| Derinlik | ❌ | ❌ | ✅ |
| Sınıflandır | ✅ | ✅ | ✅ |
| Poz | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
YOLO26 Modellerini TF SavedModel'e Aktarma#
YOLO26 modellerini TF SavedModel formatına aktararak, modellerinin uyarlanabilirliğini ve çeşitli platformlardaki dağıtım kolaylığını artırırsın.
Kurulum#
Gerekli paketi yüklemek için şunu çalıştır:
# Install the required package for YOLO26
pip install ultralyticsKurulum sürecine ilişkin ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza göz at. YOLO26 için gerekli paketleri kurarken herhangi bir zorlukla karşılaşırsan, çözümler ve ipuçları için Yaygın Sorunlar kılavuzumuza danış.
Kullanım#
Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı gibi dışa aktarmayı destekleyecek şekilde tasarlanmıştır; bu da bunları tercih ettiğin dağıtım iş akışına entegre etmeni kolaylaştırır. Uygulaman için en iyi kurulumu seçmek üzere desteklenen dışa aktarım formatlarının ve yapılandırma seçeneklerinin tam listesini görüntüleyebilirsin.
TF SavedModel formatı Export, Predict ve Validate modlarını destekler. Modelini dışarı aktar, ardından çıkarım çalıştırmak veya doğruluğunu test etmek için dışarı aktarılan modeli yükle.
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'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")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 Argümanları#
| Argüman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'saved_model' | Çeşitli dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan model için 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 belirli boyutlar için bir (height, width) demeti (tuple) olabilir. |
keras | bool | False | TensorFlow serving ve API'leri ile uyumluluk sağlayarak Keras formatına aktarımı etkinleştirir. |
quantize | int veya str | None | Kuantizasyon hassasiyeti: 8 (INT8/PTQ; kalibrasyon gerektirir data/fraction) veya 32/belirtilmemiş (FP32). SavedModel dışa aktarımı için FP16 desteklenmez. Kullanımdan kaldırılan int8 bayrağının yerini alır. |
opset | int | None | Ara ONNX grafiği için ONNX opset sürümünü belirtir. Ayarlanmazsa, desteklenen en son sürümü kullanır. |
nms | bool | False | Doğru ve verimli tespit sonrası işleme için gerekli olan Non-Maximum Suppression (NMS) ekler. |
batch | int | 1 | Dışa aktarılan modelin toplu çıkarım boyutunu veya dışa aktarılan modelin predict modunda aynı anda işleyeceği maksimum görüntü sayısını belirtir. |
data | str | None | Veri seti YAML dosyasına giden yol, niceleme için esastır; sınıflandırma ise bunun yerine bir veri seti dizini veya yerleşik bir veri seti adı alır. quantize=8 ile atlanırsa, Ultralytics model görevi için varsayılan kalibrasyon veri setini seçer. |
fraction | float, int veya list | 1.0 | Kalibrasyon alt kümesi oran, görüntü sayısı veya [train, val] oranları/sayıları olarak; bir liste train veya val sınırlandırırken, test tam kalır. |
device | str | None | Dışa aktarma için cihazı belirtir: CPU (device=cpu), Apple silikon için MPS (device=mps). |
Dışa aktarım süreci hakkında daha fazla ayrıntı için Ultralytics documentation page on exporting sayfasını ziyaret edin.
Dışa Aktarılan YOLO26 TF SavedModel Modellerini Dağıtma#
YOLO26 modelini TF SavedModel formatına dışarı aktardığına göre, bir sonraki adım onu dağıtmaktır. Bir TF SavedModel modelini çalıştırmak için birincil ve önerilen ilk adım, kullanım kod parçasında daha önce gösterildiği gibi YOLO("yolo26n_saved_model/") yöntemini kullanmaktır.
Ancak, TF SavedModel modellerini dağıtma konusunda ayrıntılı talimatlar için aşağıdaki kaynaklara bir göz at:
-
TensorFlow Serving: TF SavedModel modellerini TensorFlow Serving kullanarak nasıl dağıtacağına dair geliştirici belgeleri burada yer almaktadır.
-
Run a TensorFlow SavedModel in Node.js: Bir TensorFlow SavedModel'ı dönüştürmeye gerek kalmadan doğrudan Node.js'te çalıştırma hakkında bir TensorFlow blog yazısı.
-
Deploying on Cloud: Cloud AI Platform üzerinde bir TensorFlow SavedModel modelini dağıtma hakkında bir TensorFlow blog yazısı.
Özet#
Bu kılavuzda, Ultralytics YOLO26 modellerini TF SavedModel formatına nasıl aktaracağını inceledik. TF SavedModel'e aktarım yaparak, YOLO26 modellerini çok çeşitli platformlarda optimize etme, dağıtma ve ölçeklendirme esnekliği kazanırsın.
Kullanım hakkında daha fazla ayrıntı için TF SavedModel resmi belgelerini ziyaret et.
Ultralytics YOLO26'yı diğer platformlar ve çerçevelerle entegre etme hakkında daha fazla bilgi için entegrasyon kılavuzu sayfamıza göz atmayı unutma. Projelerinde YOLO26'dan en iyi şekilde yararlanmana yardımcı olacak harika kaynaklarla doludur.
SSS#
Bir Ultralytics YOLO modelini TensorFlow SavedModel formatına aktarmak oldukça basittir. Bunu başarmak için Python veya CLI kullanabilirsin:
YOLO26'yı TF SavedModel'e Aktarmafrom 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 ayrıntı için Ultralytics Export belgelerine göz at.
TensorFlow SavedModel formatı, model dağıtımı için çeşitli avantajlar sunar:
- Taşınabilirlik: Dilden bağımsız bir format sağlar, bu da modelleri farklı ortamlarda paylaşmayı ve dağıtmayı kolaylaştırır.
- Uyumluluk: Web ve mobil uygulamalar dahil olmak üzere çeşitli platformlarda modelleri dağıtmak için gerekli olan TensorFlow Serving, LiteRT ve TensorFlow.js gibi araçlarla sorunsuz bir şekilde bütünleşir.
- Tam kapsülleme: Model mimarisini, ağırlıkları ve derleme bilgilerini kodlar; böylece kolay paylaşım ve eğitim devamlılığı sağlar.
Daha fazla fayda 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 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 Cloud Platform (GCP), Amazon Web Services (AWS) ve Microsoft Azure gibi büyük bulut hizmetlerini destekler.
- Mobil ve Gömülü Cihazlar: TF SavedModels'ı dönüştürmek için LiteRT (eski adıyla TensorFlow Lite) kullanmak, mobil cihazlarda, IoT cihazlarında ve mikrodenetleyicilerde dağıtıma olanak tanır.
- 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 konusundaki resmi kılavuzları ziyaret et.
YOLO26 modellerini dışarı aktarmak için
ultralyticspaketini yüklemen gerekir. Terminalinde şu komutu çalıştır:pip install ultralyticsDaha ayrıntılı yükleme talimatları ve en iyi uygulamalar için Ultralytics Installation kılavuzumuza bak. Herhangi bir sorunla karşılaşırsan Common Issues kılavuzumuza danış.
TF SavedModel formatı, aşağıdaki özelliklerden dolayı yapay zeka geliştiricileri için faydalıdır:
- Taşınabilirlik: Çeşitli ortamlarda zahmetsizce paylaşım ve dağıtıma olanak tanır.
- Dağıtım Kolaylığı: Hesaplama grafiğini, eğitilmiş parametreleri ve meta verileri tek bir pakette kapsüller, bu da yüklemeyi ve çıkarımı basitleştirir.
- Varlık Yönetimi: Kelime dağarcıkları gibi harici varlıkları destekler, model yüklendiğinde kullanıma hazır olmalarını sağlar.
Daha fazla ayrıntı için resmi TensorFlow belgelerini incele.