Dağıtım için YOLO11'den TF GraphDef'e Nasıl Aktarılır?
YOLO11 gibi en son bilgisayar görüşü modellerini farklı ortamlarda dağıtırken, uyumluluk sorunlarıyla karşılaşabilirsiniz. Google'ın TensorFlow GraphDef'i veya TF GraphDef'i, modelinizin serileştirilmiş, platformdan bağımsız bir temsilini sağlayarak bir çözüm sunar. TF GraphDef model formatını kullanarak, YOLO11 modelinizi, mobil cihazlar veya özel donanımlar gibi eksiksiz TensorFlow ekosisteminin kullanılamayabileceği ortamlarda dağıtabilirsiniz.
Bu kılavuzda, Ultralytics YOLO11 modellerinizi TF GraphDef model formatına nasıl aktaracağınız konusunda size adım adım yol göstereceğiz. Modelinizi dönüştürerek, dağıtımı kolaylaştırabilir ve YOLO11'in bilgisayar görüşü yeteneklerini daha geniş bir uygulama ve platform yelpazesinde kullanabilirsiniz.
Neden TF GraphDef'e Aktarmalısınız?
TF GraphDef, Google tarafından geliştirilen TensorFlow ekosisteminin güçlü bir bileşenidir. YOLO11 gibi modelleri optimize etmek ve dağıtmak için kullanılabilir. TF GraphDef'e aktarım, modelleri araştırmadan gerçek dünya uygulamalarına taşımamızı sağlar. Modellerin tam TensorFlow çerçevesi olmadan ortamlarda çalışmasına olanak tanır.
GraphDef formatı, modeli serileştirilmiş bir hesaplama grafiği olarak temsil eder. Bu, sabit katlama, niceleme ve grafik dönüşümleri gibi çeşitli optimizasyon tekniklerini mümkün kılar. Bu optimizasyonlar, verimli yürütme, azaltılmış bellek kullanımı ve daha hızlı çıkarım hızları sağlar.
GraphDef modelleri, YOLO11 çıkarım hattı için önemli performans kazanımlarının kilidini açarak GPU'lar, TPU'lar ve AI çipleri gibi donanım hızlandırıcılarını kullanabilir. TF GraphDef formatı, model ve bağımlılıklarıyla birlikte bağımsız bir paket oluşturarak çeşitli sistemlere dağıtımı ve entegrasyonu basitleştirir.
TF GraphDef Modellerinin Temel Özellikleri
TF GraphDef, model dağıtımını ve optimizasyonunu kolaylaştırmak için belirgin özellikler sunar.
İşte temel özelliklerine bir bakış:
-
Model Serileştirme: TF GraphDef, TensorFlow modellerini platformdan bağımsız bir formatta serileştirmenin ve depolamanın bir yolunu sağlar. Bu serileştirilmiş gösterim, orijinal python kod tabanı olmadan modellerinizi yüklemenize ve yürütmenize olanak tanıyarak dağıtımı kolaylaştırır.
-
Grafik Optimizasyonu: TF GraphDef, hesaplama grafiklerinin optimizasyonunu sağlar. Bu optimizasyonlar, yürütme akışını düzenleyerek, gereksiz işlemleri azaltarak ve işlemleri belirli donanımlara uyacak şekilde uyarlayarak performansı artırabilir.
-
Dağıtım Esnekliği: GraphDef biçimine aktarılan modeller, kaynak kısıtlı cihazlar, web tarayıcıları ve özel donanıma sahip sistemler dahil olmak üzere çeşitli ortamlarda kullanılabilir. Bu, TensorFlow modellerinizin daha geniş bir şekilde dağıtılması için olanaklar sunar.
-
Üretim Odağı: GraphDef, üretim dağıtımı için tasarlanmıştır. Gerçek dünya kullanım durumlarıyla uyumlu verimli yürütme, serileştirme özellikleri ve optimizasyonları destekler.
TF GraphDef ile Dağıtım Seçenekleri
YOLO11 modellerini TF GraphDef'e aktarma sürecine dalmadan önce, bu formatın kullanıldığı bazı tipik dağıtım durumlarına bir göz atalım.
İşte TF GraphDef ile çeşitli platformlarda verimli bir şekilde nasıl dağıtım yapabileceğiniz.
-
TensorFlow Serving: Bu çerçeve, TensorFlow modellerini üretim ortamlarında dağıtmak için tasarlanmıştır. TensorFlow Serving, model yönetimi, sürümleme ve ölçekte verimli model sunumu için altyapı sunar. GraphDef tabanlı modellerinizi üretim web servislerine veya API'lere entegre etmenin sorunsuz bir yoludur.
-
Mobil ve Gömülü Cihazlar: TensorFlow Lite gibi araçlarla, TF GraphDef modellerini akıllı telefonlar, tabletler ve çeşitli gömülü cihazlar için optimize edilmiş biçimlere dönüştürebilirsiniz. Modelleriniz daha sonra, yürütmenin yerel olarak yapıldığı, genellikle performans kazanımları ve çevrimdışı yetenekler sağlayan cihaz üzerinde çıkarım için kullanılabilir.
-
Web Tarayıcıları: TensorFlow.js, TF GraphDef modellerinin doğrudan web tarayıcılarında dağıtılmasını sağlar. JavaScript aracılığıyla YOLO11'in yeteneklerini kullanarak, istemci tarafında çalışan gerçek zamanlı nesne algılama uygulamalarının önünü açar.
-
Özel Donanım: TF GraphDef'in platformdan bağımsız yapısı, hızlandırıcılar ve TPU'lar (Tensor İşleme Birimleri) gibi özel donanımları hedeflemesine olanak tanır. Bu cihazlar, yoğun hesaplama gerektiren modeller için performans avantajları sağlayabilir.
YOLO11 Modellerini TF GraphDef'e Aktarma
YOLO11 nesne algılama modelinizi, çeşitli sistemlerle uyumlu olan TF GraphDef biçimine dönüştürerek, platformlar arası performansını artırabilirsiniz.
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 GraphDef format
model.export(format="pb") # creates 'yolo11n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model=yolo11n.pt format=pb # creates 'yolo11n.pb'
# Run inference with the exported model
yolo predict model='yolo11n.pb' source='https://ultralytics.com/images/bus.jpg'
Dışa Aktarma Argümanları
Argüman | Tür | Varsayılan | Açıklama |
---|---|---|---|
format |
str |
'pb' |
Ç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. |
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 GraphDef Modellerini Dağıtma
YOLO11 modelinizi TF GraphDef formatına aktardıktan sonra, bir sonraki adım dağıtımdır. Bir TF GraphDef modelini çalıştırmak için birincil ve önerilen ilk adım, daha önce kullanım kodu snippet'inde gösterildiği gibi YOLO("model.pb") yöntemini kullanmaktır.
Ancak, TF GraphDef modellerinizi dağıtma hakkında daha fazla bilgi için aşağıdaki kaynaklara göz atın:
-
TensorFlow Serving: Makine öğrenimi modellerini üretim ortamlarında verimli bir şekilde dağıtmayı ve sunmayı öğreten bir TensorFlow Serving kılavuzu.
-
TensorFlow Lite: Bu sayfa, makine öğrenimi modellerinin TensorFlow Lite ile cihaz üzerinde çıkarım için optimize edilmiş bir biçime nasıl dönüştürüleceğini açıklamaktadır.
-
TensorFlow.js: TensorFlow veya Keras modellerini web uygulamalarında kullanılmak üzere TensorFlow.js biçimine nasıl dönüştüreceğinizi öğreten bir model dönüştürme kılavuzu.
Özet
Bu kılavuzda, Ultralytics YOLO11 modellerini TF GraphDef biçimine nasıl aktaracağımızı araştırdık. Bunu yaparak, optimize edilmiş YOLO11 modellerinizi farklı ortamlarda esnek bir şekilde dağıtabilirsiniz.
Kullanım hakkında daha fazla bilgi için TF GraphDef 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 kaynaklara ve içgörülere sahiptir.
SSS
Bir YOLO11 modelini TF GraphDef formatına nasıl aktarırım?
Ultralytics YOLO11 modelleri, TensorFlow GraphDef (TF GraphDef) formatına sorunsuz bir şekilde aktarılabilir. Bu format, modelin serileştirilmiş, platformdan bağımsız bir temsilini sağlar ve mobil ve web gibi çeşitli ortamlarda dağıtım için idealdir. Bir YOLO11 modelini TF GraphDef'e aktarmak için şu adımları izleyin:
Kullanım
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo11n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model="yolo11n.pt" format="pb" # creates 'yolo11n.pb'
# Run inference with the exported model
yolo predict model="yolo11n.pb" source="https://ultralytics.com/images/bus.jpg"
Farklı dışa aktarma seçenekleri hakkında daha fazla bilgi için, model dışa aktarma hakkında Ultralytics dokümantasyonunu ziyaret edin.
YOLO11 model dağıtımı için TF GraphDef kullanmanın faydaları nelerdir?
YOLO11 modellerini TF GraphDef formatına aktarmak çeşitli avantajlar sunar, bunlar arasında şunlar bulunur:
- Platform Bağımsızlığı: TF GraphDef, platformdan bağımsız bir format sağlayarak modellerin mobil ve web tarayıcıları dahil olmak üzere çeşitli ortamlarda dağıtılmasına olanak tanır.
- Optimizasyonlar: Biçim, yürütme verimliliğini artıran ve bellek kullanımını azaltan sabit katlama, niceleme ve grafik dönüşümleri gibi çeşitli optimizasyonları mümkün kılar.
- Donanım Hızlandırması: TF GraphDef formatındaki modeller, performans kazanımları için GPU'lar, TPU'lar ve AI çipleri gibi donanım hızlandırıcılarından yararlanabilir.
Belgelerimizin TF GraphDef bölümünde faydaları hakkında daha fazla bilgi edinin.
Neden diğer nesne algılama modelleri yerine Ultralytics YOLO11 kullanmalıyım?
Ultralytics YOLO11, YOLOv5 ve YOLOv7 gibi diğer modellere kıyasla çok sayıda avantaj sunar. Başlıca faydalarından bazıları şunlardır:
- Son Teknoloji Performansı: YOLO11, gerçek zamanlı nesne algılama, segmentasyon ve sınıflandırma için olağanüstü hız ve doğruluk sağlar.
- Kullanım Kolaylığı: Model eğitimi, doğrulama, tahmin ve dışa aktarma için kullanıcı dostu bir API'ye sahiptir ve hem yeni başlayanlar hem de uzmanlar için erişilebilir olmasını sağlar.
- Geniş Uyumluluk: Çok yönlü dağıtım seçenekleri için ONNX, TensorRT, CoreML ve TensorFlow dahil olmak üzere birden fazla dışa aktarım formatını destekler.
YOLO11'e girişimizde daha fazla ayrıntı keşfedin.
TF GraphDef kullanarak özel donanımda bir YOLO11 modeli nasıl dağıtabilirim?
Bir YOLO11 modeli TF GraphDef formatına aktarıldıktan sonra, çeşitli özel donanım platformlarında dağıtabilirsiniz. Tipik dağıtım senaryoları şunları içerir:
- TensorFlow Serving: Üretim ortamlarında ölçeklenebilir model dağıtımı için TensorFlow Serving'i kullanın. Model yönetimini ve verimli sunumu destekler.
- Mobil Cihazlar: TF GraphDef modellerini, cihaz üzerinde çıkarımı etkinleştiren, mobil ve gömülü cihazlar için optimize edilmiş TensorFlow Lite'a dönüştürün.
- Web Tarayıcıları: Web uygulamalarında istemci tarafı çıkarımı için TensorFlow.js kullanarak modelleri dağıtın.
- AI Hızlandırıcılar: Hızlandırılmış çıkarım için TPU'lardan ve özel AI çiplerinden yararlanın.
Ayrıntılı bilgi için dağıtım seçenekleri bölümüne bakın.
YOLO11 modellerini dışa aktarırken karşılaşılan yaygın sorunlar için çözümleri nerede bulabilirim?
YOLO11 modellerini dışa aktarmayla ilgili yaygın sorunları gidermek için Ultralytics, kapsamlı kılavuzlar ve kaynaklar sunar. Kurulum veya model dışa aktarımı sırasında sorunlarla karşılaşırsanız, şuraya bakın:
- Sık Karşılaşılan Sorunlar Kılavuzu: Sık karşılaşılan sorunlara çözümler sunar.
- Kurulum Kılavuzu: Gerekli paketleri kurmak için adım adım talimatlar.
Bu kaynaklar, YOLO11 model dışa aktarımı ve dağıtımıyla ilgili çoğu sorunu çözmenize yardımcı olmalıdır.