YOLO26'dan TF SavedModel Biçimine Nasıl Dışa Aktarılacağını Öğren#
Makine öğrenimi modellerini dağıtmak zorlayıcı olabilir. Ancak verimli ve esnek bir model biçimi kullanmak işini kolaylaştırabilir. TF SavedModel, makine öğrenimi modellerini tutarlı biçimde kaydedip yüklemek için TensorFlow'un standart serileştirme biçimidir. TensorFlow modelleri için bir bavul gibidir; modelleri farklı cihaz ve sistemlerde kolayca taşımanı ve kullanmanı sağlar.
Ultralytics YOLO26 modellerinden TF SavedModel'e nasıl dışa aktarılacağını öğrenmek, modelleri farklı platform ve ortamlara kolayca dağıtmana yardımcı olabilir. Bu kılavuzda, modellerini TF SavedModel biçimine nasıl dönüştüreceğini anlatarak farklı cihazlarda modellerinle çıkarım yapma sürecini kolaylaştıracağız.
Neden TF SavedModel'e Dışa Aktarmalısın?#
TensorFlow SavedModel biçimi, aşağıda gösterildiği gibi Google tarafından geliştirilen TensorFlow ekosisteminin bir parçasıdır. TensorFlow modellerini sorunsuzca kaydetmek ve serileştirmek için tasarlanmıştır. Mimari, ağırlıklar ve hatta derleme bilgileri gibi modelin tüm ayrıntılarını içerir. Bu sayede farklı ortamlarda paylaşmak, dağıtmak ve eğitime devam etmek kolaylaşır.
TF SavedModel'in önemli bir avantajı uyumluluğudur. TensorFlow Serving, LiteRT (önceden TensorFlow Lite olarak biliniyordu) ve TensorFlow.js ile iyi çalışır. Bu uyumluluk, web ve mobil uygulamalar dâhil çeşitli platformlarda model paylaşımını ve dağıtımını kolaylaştırır. TF SavedModel biçimi hem araştırma hem de üretim için kullanışlıdır. Modellerini yönetmek için birleşik bir yöntem sunarak her uygulamaya hazır olmalarını sağlar.
TF SavedModel'lerin Temel Özellikleri#
TF SavedModel'i 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 yalıtımlı bir serileştirme biçimi sunar. Üst düzey sistemlerin ve araçların TensorFlow modellerini ü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 bir araya getirir. Modeli oluşturan özgün kod gerekmeden 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ömme vektörleri veya arama tabloları gibi harici varlıkların eklenmesini destekler. Bu varlıklar grafik tanımı ve değişkenlerle birlikte depolanarak model yüklendiğinde erişilebilir olmaları sağlanır. Bu özellik, harici kaynaklara dayanan modellerin yönetimini ve dağıtımını kolaylaştırır.
TF SavedModel ile Dağıtım Seçenekleri#
YOLO26 modellerini TF SavedModel biçimine aktarma sürecine geçmeden önce, bu biçimin 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'leri yerel olarak desteklediğinden modellerini bulut platformlarına, şirket içi sunuculara veya uç cihazlara kolayca dağıtıp sunabilirsin.
-
Bulut Platformları: Google Cloud Platform (GCP), Amazon Web Services (AWS) ve Microsoft Azure gibi büyük bulut sağlayıcıları, TF SavedModel'ler dâhil TensorFlow modellerini dağıtıp çalıştırmaya yönelik hizmetler sunar. Bu hizmetler ölçeklenebilir ve yönetilen bir altyapı sağlayarak modellerini kolayca dağıtıp ölçeklendirmeni sağlar.
-
Mobil ve Gömülü Cihazlar: Mobil, gömülü ve IoT cihazlarında makine öğrenimi modellerini çalıştırmaya yönelik hafif bir çözüm olan LiteRT (önceden TensorFlow Lite olarak biliniyordu), TF SavedModel'lerin LiteRT biçimine dönüştürülmesini destekler. Böylece modellerini akıllı telefon ve tabletlerden mikrodenetleyicilere ve uç cihazlara kadar çok çeşitli cihazlara dağıtabilirsin.
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt), TensorFlow grafiklerini çalıştırmaya yönelik yüksek performanslı bir çalışma zamanıdır. C++ ortamlarında TF SavedModel'leri yüklemek ve çalıştırmak için daha alt düzey API'ler sunar. TensorFlow Runtime, standart TensorFlow çalışma zamanına kıyasla daha iyi performans sağlar. 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'e dışa aktarma, Ultralytics'in yedi görevinin tamamını destekler. Anlamsal segmentasyon ve derinlik tahmini yalnızca bu başlıklara sahip tek aile olan YOLO26 ile kullanılabilir.
| Görev | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Algılama | ✅ | ✅ | ✅ |
| Segmentasyon | ✅ | ✅ | ✅ |
| Anlamsal | ❌ | ❌ | ✅ |
| Derinlik | ❌ | ❌ | ✅ |
| Sınıflandırma | ✅ | ✅ | ✅ |
| Poz | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
YOLO26 Modellerini TF SavedModel'e Aktarma#
YOLO26 modellerini TF SavedModel biçimine aktararak farklı platformlarda uyarlanabilirliklerini ve dağıtım kolaylıklarını artırabilirsin.
Kurulum#
Gerekli paketi yüklemek için şu komutu çalıştır:
# Install the required package for YOLO26
pip install ultralyticsKurulum 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.
TF SavedModel 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.
from ultralytics import YOLO
# YOLO26 modelini yükle
model = YOLO("yolo26n.pt")
# Modeli TF SavedModel biçimine aktar
model.export(format="saved_model") # creates 'yolo26n_saved_model'from ultralytics import YOLO
# Dışa aktarılan TF SavedModel modelini yükle
model = YOLO("./yolo26n_saved_model")
# Çıkarımı çalıştır
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Dışa aktarılan TF SavedModel modelini yükle
model = YOLO("./yolo26n_saved_model")
# 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şken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'saved_model' | Dışa aktarılan modelin hedef biçimi; çeşitli dağıtım ortamlarıyla uyumluluğu tanımlar. |
imgsz | int veya tuple | 640 | Model 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. |
quantize | int veya str | None | Niceleme hassasiyeti: 8 (INT8/PTQ; kalibrasyon için data/fraction gerekir) veya 32/ayarlanmamış (FP32). SavedModel dışa aktarımında 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ılır. |
nms | bool, isteğe bağlı | None | Ham çıktıyı (None, varsayılan), gömülü NMS'yi (True) veya NMS'siz başlığı (False) seç. |
batch | int | 1 | Dış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. |
data | str | None | Niceleme için gerekli olan veri kümesi 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. |
fraction | float, int veya list | 1.0 | Oran, görüntü sayısı veya [train, val, test] oranları/sayıları olarak kalibrasyon alt kümesi. İki öğeli listelerde test tam kalır; 0 ise onu atlar. |
device | str | None | Dış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 SavedModel Modellerini Dağıtma#
YOLO26 modelini TF SavedModel biçimine aktardığına göre sonraki adım dağıtımdır. TF SavedModel modelini çalıştırmak için önerilen ilk ve temel adım, kullanım kodu örneğinde daha önce gösterildiği gibi YOLO("yolo26n_saved_model/") yöntemini kullanmaktır.
Ancak TF SavedModel modellerini dağıtmaya yönelik ayrıntılı talimatlar için aşağıdaki kaynaklara göz at:
-
TensorFlow Serving: TF SavedModel modellerini TensorFlow Serving kullanarak dağıtma hakkındaki geliştirici belgeleri burada.
-
Node.js'te TensorFlow SavedModel Çalıştırma: TensorFlow SavedModel'i dönüştürmeden doğrudan Node.js'te çalıştırmayı anlatan bir TensorFlow blog yazısı.
-
Bulutta Dağıtım: TensorFlow SavedModel modelini Cloud AI Platform'da dağıtma hakkında bir TensorFlow blog yazısı.
Özet#
Bu kılavuzda, Ultralytics YOLO26 modellerini TF SavedModel biçimine 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 bilgi için TF SavedModel 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 atmayı unutma. Bu sayfa, projelerinde YOLO26'dan en iyi şekilde yararlanmana yardımcı olacak harika kaynaklarla dolu.
Sık Sorulan Sorular#
Bir Ultralytics YOLO modelini TensorFlow SavedModel biçimine aktarmak oldukça kolaydır. Bunu Python veya CLI kullanarak yapabilirsin:
YOLO26'yı TF SavedModel'e aktarmafrom ultralytics import YOLO # YOLO26 modelini yükle model = YOLO("yolo26n.pt") # Modeli TF SavedModel biçimine aktar model.export(format="saved_model") # creates 'yolo26n_saved_model' # Dışa aktarılan TF SavedModel'i çıkarım için yükle 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 biçimi, model dağıtımı için çeşitli avantajlar sunar:
- Taşınabilirlik: Dilden bağımsız bir biçim sunarak modellerin farklı ortamlarda paylaşılmasını ve dağıtılmasını kolaylaştırır.
- Uyumluluk: Modelleri web ve mobil uygulamalar da dâhil olmak üzere çeşitli platformlarda dağıtmak için gerekli olan TensorFlow Serving, LiteRT ve TensorFlow.js gibi araçlarla sorunsuz biçimde bütünleşir.
- 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 şu ortamlar da dâhil 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 önemli bulut hizmetlerini destekler.
- Mobil ve Gömülü Cihazlar: TF SavedModel'leri dönüştürmek için LiteRT (eski adıyla TensorFlow Lite) kullanmak, modellerin mobil cihazlara, IoT cihazlarına ve mikrodenetleyicilere dağıtılmasını sağlar.
- TensorFlow Çalışma Zamanı: Daha iyi performansla düşük gecikmeli çıkarım gerektiren C++ ortamları için kullanılır.
Ayrıntılı dağıtım seçenekleri için TensorFlow modellerini dağıtma hakkındaki resmî kılavuzları ziyaret et.
YOLO26 modellerini dışa aktarmak için
ultralyticspaketini yüklemen gerekir. Terminalinde şu komutu çalıştır:pip install ultralyticsDaha ayrıntılı kurulum talimatları ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza başvur. Herhangi bir sorunla karşılaşırsan Yaygın Sorunlar kılavuzumuza göz at.
TF SavedModel biçimi, aşağıdaki özellikleri sayesinde yapay zekâ geliştiricilerine fayda sağlar:
- Taşınabilirlik: Farklı ortamlarda zahmetsizce paylaşım ve dağıtım olanağı sağlar.
- Kolay Dağıtım: Hesaplama grafiğini, eğitilmiş parametreleri ve meta verileri tek bir pakette kapsülleyerek yükleme ve çıkarım işlemlerini basitleştirir.
- Varlık Yönetimi: Söz varlıkları gibi harici varlıkları destekleyerek bunların model yüklendiğinde hazır bulunmasını sağlar.
Daha fazla bilgi için resmî TensorFlow belgelerini incele.