YOLO26'dan TF SavedModel Formatına Nasıl Dışa Aktarılacağını Öğrenin
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 bir bavul gibidir; onları farklı cihazlarda ve sistemlerde taşımayı ve kullanmayı kolaylaştırır.
Ultralytics YOLO26 modellerinden TF SavedModel formatına nasıl dışa aktarılacağını öğrenmek, modellerini 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 adım adım inceleyerek modellerinle farklı cihazlarda çıkarım yapma sürecini basitleştireceğiz.
Neden TF SavedModel Formatına Dışa Aktarmalı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. Model mimarisi, ağırlıklar ve hatta derleme bilgileri gibi modelin tüm ayrıntılarını kapsüller. Bu, farklı ortamlarda paylaşmayı, dağıtmayı ve eğitime devam etmeyi kolaylaştırır.
TF SavedModel'in önemli bir avantajı vardır: uyumluluk. TensorFlow Serving, TensorFlow Lite ve TensorFlow.js ile iyi çalışır. Bu uyumluluk, modelleri web ve mobil uygulamalar dahil olmak üzere çeşitli platformlarda 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 sağlar ve her türlü uygulamaya hazır olmalarını garanti eder.
TF SavedModel'in Temel Özellikleri
İşte TF SavedModel'i yapay zeka geliştiricileri için harika bir seçenek yapan temel özellikler:
-
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ı platformlar 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 toplar. Modeli oluşturan orijinal koda ihtiyaç duymadan çıkarım için kolayca yüklenebilir ve kullanılabilirler. Bu, TensorFlow modellerinin dağıtımını çeşitli üretim ortamlarında basit ve verimli hale getirir.
-
Varlık Yönetimi: TF SavedModel, sözlükler, gömülü değerler (embeddings) veya arama tabloları gibi harici varlıkların dahil edilmesini destekler. Bu varlıklar, grafik tanımı ve değişkenlerle birlikte saklanır, böylece model yüklendiğinde kullanılabilir olmaları sağlanı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 dışa 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, üretim ortamları için tasarlanmış esnek, yüksek performanslı bir sunum sistemidir. TF SavedModel'leri yerel olarak destekler, bu da 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 SavedModel'ler dahil olmak üzere TensorFlow modellerini dağıtmak ve çalıştırmak için hizmetler sunar. Bu hizmetler, modellerini kolayca dağıtmana ve ölçeklendirmene olanak tanıyan ölçeklenebilir ve yönetilen altyapılar sağlar.
-
Mobil ve Gömülü Cihazlar: TensorFlow Lite, mobil, gömülü ve IoT cihazlarında makine öğrenimi modellerini çalıştırmak için hafif bir çözümdür ve TF SavedModel'lerin TensorFlow Lite formatına dönüştürülmesini destekler. Bu, modellerini akıllı telefonlardan tabletlere, mikrodenetleyicilerden uç cihazlara kadar geniş bir cihaz yelpazesinde 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 SavedModel'leri yüklemek ve çalıştırmak için alt seviye 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.
YOLO26 Modellerini TF SavedModel'e Dışa Aktarma
YOLO26 modellerini TF SavedModel formatına dışa aktararak, modellerinin uyarlanabilirliğini ve çeşitli platformlarda 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ü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ümler ve ipuçları için Yaygın Sorunlar kılavuzumuza danış.
Kullanım
Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı gibi dışa aktarımı destekleyecek şekilde tasarlanmıştır; bu sayede onları tercih ettiğin dağıtım iş akışına kolayca entegre edebilirsin. Uygulaman için en iyi kurulumu seçmek amacıyla desteklenen dışa aktarım formatlarının ve yapılandırma seçeneklerinin tam listesine göz atabilirsin.
from ultralytics import YOLO
# Load the 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 model
tf_savedmodel_model = YOLO("./yolo26n_saved_model")
# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")Dışa Aktarma Argümanları
| Argüman | Tür | 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 | Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions. |
keras | bool | False | Keras formatına dışa aktarmayı etkinleştirerek TensorFlow sunumu ve API'leri ile uyumluluk sağlar. |
int8 | bool | False | INT8 nicelemeyi etkinleştirerek modeli daha da sıkıştırır ve minimum doğruluk kaybıyla, öncelikle uç cihazlar için çıkarımı hızlandırır. |
nms | bool | False | Doğru ve verimli tespit sonrası işleme için gerekli olan Maksimum Olmayan Bastırma (NMS) özelliğini ekler. |
batch | int | 1 | Modelin dışa aktarılan 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. |
data | str | 'coco8.yaml' | Niceleme (quantization) için gerekli olan dataset yapılandırma dosyasının yolu (varsayılan: coco8.yaml). |
fraction | float | 1.0 | INT8 niceleme kalibrasyonu için kullanılacak veri kümesi oranını belirtir. Tam veri kümesinin bir alt kümesinde kalibrasyon yapmaya olanak tanır; bu, deneyler veya kaynaklar sınırlı olduğunda kullanışlıdır. INT8 etkinken belirtilmezse, veri kümesinin tamamı kullanılır. |
device | str | None | Dışa aktarma için cihazı belirtir: CPU (device=cpu), Apple silikon için MPS (device=mps). |
Dışa aktarma süreci hakkında daha fazla ayrıntı için dışa aktarma ile ilgili Ultralytics dokümantasyon sayfasını ziyaret et.
Dışa Aktarılan YOLO26 TF SavedModel Modellerini Dağıtma
Artık YOLO26 modelini TF SavedModel formatına aktardığına göre, bir sonraki adım onu dağıtmaktır. Bir TF SavedModel modelini çalıştırmak için temel ve önerilen ilk adım, daha önce kullanım kod parçacığında gösterildiği gibi YOLO("yolo26n_saved_model/") yöntemini kullanmaktır.
Ancak, TF SavedModel modellerini dağıtmakla ilgili 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.
-
Node.js'de Bir TensorFlow SavedModel Çalıştırma: Dönüştürme yapmadan doğrudan Node.js içinde bir TensorFlow SavedModel çalıştırma üzerine bir TensorFlow blog yazısı.
-
Bulutta Dağıtım: Cloud AI Platform üzerinde bir TensorFlow SavedModel modelini dağıtma üzerine bir TensorFlow blog yazısı.
Özet
Bu kılavuzda, Ultralytics YOLO26 modellerinin TF SavedModel formatına nasıl dışa aktarılacağını inceledik. TF SavedModel'e dışa aktararak, YOLO26 modellerini geniş bir platform yelpazesinde optimize etme, dağıtma ve ölçeklendirme esnekliği kazanırsın.
Kullanımla ilgili 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 dolu.
SSS
Bir Ultralytics YOLO modelini TensorFlow SavedModel formatına nasıl dışa aktarırım?
Bir Ultralytics YOLO modelini TensorFlow SavedModel formatına dışa aktarmak oldukça basittir. Bunu başarmak için Python veya CLI kullanabilirsin:
from ultralytics import YOLO
# Load the 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 Dışa Aktarma belgelerine bak.
Neden TensorFlow SavedModel formatını kullanmalıyım?
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ı ortamlar arasında paylaşmayı ve dağıtmayı kolaylaştırır.
- Uyumluluk: Web ve mobil uygulamalar dahil olmak üzere çeşitli platformlarda model dağıtmak için gerekli olan TensorFlow Serving, TensorFlow Lite ve TensorFlow.js gibi araçlarla sorunsuz entegre olur.
- Tam kapsülleme: Model mimarisini, ağırlıkları ve derleme bilgilerini kodlar; bu da 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 için tipik dağıtım senaryoları nelerdir?
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 SavedModel'leri dönüştürmek için 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ışa aktarmak için gerekli paketleri nasıl kurabilirim?
YOLO26 modellerini dışa aktarmak için ultralytics paketini kurman 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 bak. Herhangi bir sorunla karşılaşırsan Yaygın Sorunlar kılavuzumuza danış.
TensorFlow SavedModel formatının temel özellikleri nelerdir?
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: Sözlükler gibi harici varlıkları destekler, model yüklendiğinde bunların hazır olmasını sağlar.
Daha fazla ayrıntı için resmi TensorFlow belgelerini keşfet.