Link to this sectionYOLO26 ile TF SavedModel Formatına Nasıl Dışa Aktarılacağını Öğren#
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ı taşımayı ve farklı cihaz ve sistemlerde kullanmayı kolaylaştırır.
Ultralytics YOLO26 modellerinden TF SavedModel formatına nasıl dışa 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 adım adım inceleyeceğiz; bu sayede modellerinle farklı cihazlarda çıkarım yapma sürecini basitleştireceğiz.
Link to this sectionNeden 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 modellerin tüm detaylarını kapsar. Bu, farklı ortamlarda paylaşmayı, dağıtmayı ve eğitime devam etmeyi kolaylaştırır.
TF SavedModel önemli bir avantaja sahiptir: 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önetmen için birleşik bir yol sağlar ve her uygulama için hazır olmalarını garanti eder.
Link to this sectionTF SavedModel'ın Temel Özellikleri#
İşte TF SavedModel'ı AI geliştiricileri için harika bir seçenek haline getiren temel özellikler:
-
Taşınabilirlik: TF SavedModel, dilden bağımsız, kurtarılabilir, hermetik bir serileştirme formatı sağlar. Daha üst düzey sistemlerin ve araçların TensorFlow modelleri üretmesini, tüketmesini ve dönüştürmesini sağlarlar. SavedModel'lar 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 birleştirir. 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ü vektörler 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.
Link to this sectionTF SavedModel ile Dağıtım Seçenekleri#
YOLO26 modellerini TF SavedModel formatına dışa aktarma sürecine girmeden önce, bu formatın kullanıldığı bazı tipik dağıtım senaryolarını keşfedelim.
TF SavedModel, makine öğrenimi modellerini dağıtmak için bir dizi seçenek 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 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'lar dahil olmak üzere TensorFlow modellerini dağıtmak ve çalıştırmak için hizmetler sunar. Bu hizmetler, modellerini kolayca dağıtmana ve ölçeklendirmenize olanak tanıyan ölçeklenebilir ve yönetilen altyapılar sağlar.
-
Mobil ve Gömülü Cihazlar: Makine öğrenimi modellerini mobil, gömülü ve IoT cihazlarında çalıştırmak için hafif bir çözüm olan TensorFlow Lite, TF SavedModel'ların TensorFlow Lite formatına dönüştürülmesini destekler. Bu, modellerini akıllı telefonlardan tabletlere, mikrodenetleyicilerden uç cihazlara kadar çok çeşitli cihazlarda 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'ları 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.
Link to this sectionYOLO26 Modellerini TF SavedModel'a Dışa Aktarma#
YOLO26 modellerini TF SavedModel formatına dışa aktararak, onların uyarlanabilirliğini ve çeşitli platformlarda dağıtım kolaylığını artırırsın.
Link to this sectionKurulum#
Gerekli paketi kurmak 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 başvur.
Link to this sectionKullanım#
Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı gibi dışa aktarımı destekleyecek şekilde tasarlanmıştır, bu da onları tercih ettiğin dağıtım iş akışına entegre etmeyi kolaylaştırır. Uygulaman için en iyi kurulumu seçmek üzere desteklenen dışa aktarma formatlarının ve yapılandırma seçeneklerinin tam listesini inceleyebilirsin.
TF SavedModel formatı Dışa Aktar, Tahmin Et ve Doğrula modlarını 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
# 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")Link to this sectionDışa Aktarma Bağımsız Değişkenleri#
| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'saved_model' | Dışa aktarılan model için hedef format, çeşitli dağıtım ortamlarıyla uyumluluğu tanımlar. |
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ştirir ve TensorFlow serving ve API'leri ile uyumluluk sağlar. |
int8 | bool | False | INT8 nicemlemeyi etkinleştirir, 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 algılama sonrası işleme için gerekli olan Maksimum Olmayan Bastırma (NMS) ekler. |
batch | int | 1 | Dışa aktarılan modelin toplu (batch) çıkarım boyutunu veya predict modunda aynı anda işleyeceği maksimum görüntü sayısını belirtir. |
data | str | 'coco8.yaml' | Kuantizasyon için gerekli olan veri seti yapılandırma dosyasına giden yol (varsayılan: coco8.yaml). |
fraction | float | 1.0 | INT8 nicemleme kalibrasyonu için kullanılacak veri kümesi oranını belirtir. Deneyler için veya kaynaklar sınırlı olduğunda kullanışlı olacak şekilde, veri kümesinin tamamı yerine bir alt kümesinde kalibrasyon yapmaya olanak tanır. INT8 etkinken belirtilmezse, tüm veri kümesi kullanılır. |
device | str | None | Dışa aktarma için cihazı belirler: 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 hakkındaki Ultralytics dokümantasyon sayfasını ziyaret et.
Link to this sectionDışa Aktarılan YOLO26 TF SavedModel Modellerini Dağıtma#
YOLO26 modelini TF SavedModel formatına dışa 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, 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ğıtmanla ilgili ayrıntılı talimatlar için şu kaynaklara göz at:
-
TensorFlow Serving: İşte TF SavedModel modellerini TensorFlow Serving kullanarak nasıl dağıtacağına dair geliştirici belgeleri.
-
Node.js'de TensorFlow SavedModel Çalıştırma: Node.js'de bir TensorFlow SavedModel'ı dönüştürmeye gerek kalmadan doğrudan çalıştırma üzerine bir TensorFlow blog yazısı.
-
Bulutta Dağıtma: Cloud AI Platform üzerinde bir TensorFlow SavedModel modeli dağıtma üzerine bir TensorFlow blog yazısı.
Link to this sectionÖzet#
Bu kılavuzda, Ultralytics YOLO26 modellerini TF SavedModel formatına nasıl dışa aktaracağını inceledik. TF SavedModel'a dışa aktararak, YOLO26 modellerini çok çeşitli platformlarda 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 doludur.
Link to this sectionSSS#
Link to this sectionBir 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 basittir. Bunu başarmak için Python veya CLI kullanabilirsin:
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 ayrıntı için Ultralytics Dışa Aktarma belgelerine başvur.
Link to this sectionNeden 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ı ortamlarda paylaşmayı ve dağıtmayı kolaylaştırır.
- Uyumluluk: TensorFlow Serving, TensorFlow Lite ve TensorFlow.js gibi araçlarla sorunsuz bir şekilde entegre olur; bunlar web ve mobil uygulamalar dahil olmak üzere çeşitli platformlarda modelleri dağıtmak için gereklidir.
- Tam kapsülleme: Model mimarisini, ağırlıkları ve derleme bilgilerini kodlar, böylece kolayca paylaşmaya ve eğitimin devam etmesine olanak tanır.
Daha fazla avantaj ve dağıtım seçeneği için Ultralytics YOLO model dağıtım seçeneklerine göz at.
Link to this sectionTF SavedModel için tipik dağıtım senaryoları nelerdir?#
TF SavedModel 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'ları 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 hakkındaki resmi kılavuzları ziyaret et.
Link to this sectionYOLO26 modellerini dışa aktarmak için gerekli paketleri nasıl yükleyebilirim?#
YOLO26 modellerini dışa aktarmak için ultralytics paketini 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 danış.
Link to this sectionTensorFlow SavedModel formatının temel özellikleri nelerdir?#
TF SavedModel formatı, aşağıdaki özellikler nedeniyle AI geliştiricileri için faydalıdır:
- Taşınabilirlik: Çeşitli ortamlarda zahmetsizce paylaşmaya ve dağıtmaya 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 kullanılabilir olmalarını sağlar.
Daha fazla ayrıntı için resmi TensorFlow belgelerini incele.