YOLO11'den TF SavedModel Formatına Nasıl Aktarılacağını Anlayın
Makine öğrenimi modellerini dağıtmak zor olabilir. Ancak, verimli ve esnek bir model formatı kullanmak işinizi 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 ve farklı cihazlarda ve sistemlerde taşınmasını ve kullanılmasını kolaylaştırır.
Ultralytics YOLO11 modellerinden TF SavedModel'e nasıl aktarılacağını öğrenmek, modelleri farklı platformlarda ve ortamlarda kolayca dağıtmanıza yardımcı olabilir. Bu kılavuzda, modellerinizi TF SavedModel biçimine nasıl dönüştüreceğinizi ve modellerinizle farklı cihazlarda çıkarımlar çalıştırma sürecini nasıl basitleştireceğinizi ele alacağız.
Neden TF SavedModel'e Aktarmalısınız?
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 sorunsuz bir şekilde kaydetmek ve serileştirmek için tasarlanmıştır. Mimarisi, ağırlıkları ve hatta derleme bilgileri gibi modellerin tüm ayrıntılarını kapsar. Bu, farklı ortamlarda paylaşmayı, dağıtmayı ve eğitime devam etmeyi kolaylaştırır.
TF SavedModel'in temel bir avantajı vardır: uyumluluğu. TensorFlow Serving, TensorFlow Lite ve TensorFlow ile iyi çalışır. Bu uyumluluk, modellerin web ve mobil uygulamalar da dahil olmak üzere çeşitli platformlarda paylaşılmasını ve dağıtılmasını kolaylaştırır. TF SavedModel formatı hem araştırma hem de üretim için kullanışlıdır. Modellerinizi yönetmek için birleşik bir yol sağlayarak herhangi bir uygulamaya hazır olmalarını sağlar.
TF SavedModel'lerinin Temel Özellikleri
İşte TF SavedModel'ı yapay zeka geliştiricileri için harika bir seçenek haline getiren temel özellikler:
-
Taşınabilirlik: TF SavedModel, dil açısından 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'ler farklı platformlarda 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. Bunlar, modeli oluşturan orijinal koda ihtiyaç duymadan 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 hale getirir.
-
Varlık Yönetimi: TF SavedModel, sözlükler, gömme veya arama tabloları gibi harici varlıkların dahil edilmesini destekler. Bu varlıklar, grafik tanımı ve değişkenlerle birlikte depolanır ve 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
YOLO11 modellerini TF SavedModel formatına aktarma sürecine dalmadan önce, bu formatın kullanıldığı bazı tipik dağıtım senaryolarını keşfedelim.
TF SavedModel, makine öğrenimi modellerinizi dağıtmak için çeşitli seçenekler sunar:
-
TensorFlow Serving: TensorFlow Serving, üretim ortamları için tasarlanmış esnek, yüksek performanslı bir sunum sistemidir. Yerel olarak TF SavedModel'leri destekleyerek, modellerinizi 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 bir altyapı sağlayarak modellerinizi kolayca dağıtmanıza ve ölçeklendirmenize olanak tanır.
-
Mobil ve Gömülü Cihazlar: Mobil, gömülü ve IoT cihazlarında makine öğrenimi modellerini çalıştırmak için hafif bir çözüm olan TensorFlow Lite, TF SavedModel'lerin TensorFlow Lite biçimine dönüştürülmesini destekler. Bu, modellerinizi akıllı telefonlar ve tabletlerden mikrodenetleyicilere ve uç cihazlara kadar çok çeşitli cihazlara dağıtmanıza olanak tanır.
-
TensorFlow Çalışma Zamanı: TensorFlow Çalışma Zamanı (
tfrt
) yürütmek için yüksek performanslı bir çalışma zamanıdır TensorFlow grafikler. C++ ortamlarında TF SavedModel'lerini 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.
YOLO11 Modellerini TF SavedModel'e Aktarma
YOLO11 modellerini TF SavedModel biçimine aktararak, çeşitli platformlarda uyarlanabilirliklerini ve dağıtım kolaylıklarını artırırsınız.
Kurulum
Gerekli paketi yüklemek için şunu çalıştırın:
Kurulum
# Install the required package for YOLO11
pip install ultralytics
Yükleme süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza bakın. YOLO11 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Sık Karşılaşılan Sorunlar kılavuzumuza başvurun.
Kullanım
Tüm Ultralytics YOLO11 modelleri, kutudan çıkar çıkmaz dışa aktarmayı destekleyecek şekilde tasarlanmıştır ve bu da onları tercih ettiğiniz dağıtım iş akışına entegre etmeyi kolaylaştırır. Uygulamanız 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üleyebilirsiniz.
Kullanım
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model # creates '/yolo11n_saved_model'
# Run inference with the exported model
yolo predict model='./yolo11n_saved_model' source='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 modelin 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 bir demet olabilir (height, width) belirli boyutlar için. |
keras |
bool |
False |
TensorFlow sunumu ve API'leriyle uyumluluk sağlayarak Keras formatına aktarmayı etkinleştirir. |
int8 |
bool |
False |
INT8 nicelemesini etkinleştirir, modeli daha da sıkıştırır ve öncelikle uç cihazlar için minimum doğruluk kaybıyla çıkarımı hızlandırır. |
nms |
bool |
False |
Doğru ve verimli algılama sonrası işleme için gerekli olan Non-Maximum Suppression (NMS) ekler. |
batch |
int |
1 |
Dışa aktarma modeli toplu çıkarım boyutunu veya dışa aktarılan modelin aynı anda işleyeceği maksimum görüntü sayısını belirtir. predict modu. |
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 bilgi için Ultralytics'in dışa aktarma hakkındaki dokümantasyon sayfasını ziyaret edin.
Dışa Aktarılmış YOLO11 TF SavedModel Modellerini Dağıtma
YOLO11 modelinizi TF SavedModel biçimine aktardığınıza 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, YOLO("yolo11n_saved_model/")
yöntemini kullanmaktır, daha önce kullanım kodu parçasında gösterildiği gibi.
Ancak, TF SavedModel modellerinizi dağıtma hakkında ayrıntılı talimatlar için aşağıdaki kaynaklara göz atın:
-
TensorFlow Serving: TF SavedModel modellerinizi TensorFlow Serving kullanarak nasıl dağıtabileceğinize ilişkin geliştirici belgeleri burada bulunmaktadır.
-
Node.js'de bir TensorFlow SavedModel çalıştırma: Bir TensorFlow SavedModel'in dönüştürme olmadan doğrudan Node.js'de çalıştırılmasına ilişkin bir TensorFlow blog gönderisi.
-
Bulutta Dağıtım: Bir TensorFlow SavedModel modelini Cloud AI Platform'da dağıtmaya ilişkin bir TensorFlow blog gönderisi.
Özet
Bu kılavuzda, Ultralytics YOLO11 modellerini TF SavedModel biçimine nasıl aktaracağımızı araştırdık. TF SavedModel'e aktararak, YOLO11 modellerinizi çok çeşitli platformlarda optimize etme, dağıtma ve ölçeklendirme esnekliğine sahip olursunuz.
Kullanım hakkında daha fazla bilgi için TF SavedModel resmi belgelerini ziyaret edin.
Ultralytics YOLO11'i diğer platformlar ve çerçevelerle entegre etme hakkında daha fazla bilgi için entegrasyon kılavuzu sayfamıza göz atmayı unutmayın. Projelerinizde YOLO11'den en iyi şekilde yararlanmanıza yardımcı olacak harika kaynaklarla dolu.
SSS
Bir Ultralytics YOLO modelini TensorFlow SavedModel formatına nasıl aktarırım?
Bir Ultralytics YOLO modelini TensorFlow SavedModel formatına aktarmak basittir. Bunu başarmak için python veya CLI kullanabilirsiniz:
YOLO11'i TF SavedModel'e Aktarma
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export the YOLO11 model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model # creates '/yolo11n_saved_model'
# Run inference with the exported model
yolo predict model='./yolo11n_saved_model' source='https://ultralytics.com/images/bus.jpg'
Daha fazla ayrıntı için Ultralytics Dışa Aktarma belgelerine bakın.
Neden TensorFlow SavedModel formatını kullanmalıyım?
TensorFlow SavedModel biçimi, model dağıtımı için çeşitli avantajlar sunar:
- Taşınabilirlik: Dil açısından bağımsız bir format sağlayarak, modellerin farklı ortamlarda paylaşılmasını ve dağıtılmasını kolaylaştırır.
- Uyumluluk: Web ve mobil uygulamalar dahil olmak üzere çeşitli platformlarda modelleri dağıtmak için gerekli olan TensorFlow Serving, TensorFlow Lite ve TensorFlow.js gibi araçlarla sorunsuz bir şekilde entegre olur.
- Tam kapsülleme: Model mimarisini, ağırlıklarını ve derleme bilgilerini kodlayarak basit 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ın.
TF SavedModel için tipik dağıtım senaryoları nelerdir?
TF SavedModel çeşitli ortamlarda dağıtılabilir, bunlar arasında:
- 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 Çalışma Zamanı: Daha iyi performansla düşük gecikmeli çıkarım gerektiren C++ ortamları için.
Ayrıntılı dağıtım seçenekleri için TensorFlow modellerini dağıtma hakkındaki resmi kılavuzları ziyaret edin.
YOLO11 modellerini dışa aktarmak için gerekli paketleri nasıl kurabilirim?
YOLO11 modellerini dışa aktarmak için şunu yüklemeniz gerekir: ultralytics
paketi. Terminalinizde aşağıdaki komutu çalıştırın:
pip install ultralytics
Daha ayrıntılı kurulum talimatları ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza bakın. Herhangi bir sorunla karşılaşırsanız, Sık Karşılaşılan Sorunlar kılavuzumuza danışın.
TensorFlow SavedModel formatının temel özellikleri nelerdir?
TF SavedModel formatı, aşağıdaki özellikler nedeniyle 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 kapsar, bu da yükleme ve çıkarımı kolaylaştırır.
- Varlık Yönetimi: Kelime dağarcığı gibi harici varlıkları destekler ve model yüklendiğinde kullanılabilir olmalarını sağlar.
Daha fazla ayrıntı için resmi TensorFlow belgelerini inceleyin.