Meet YOLO26: next-gen vision AI.

Link to this sectionHızlı Dağıtım için YOLO26 Modelini TorchScript'e Dışa Aktarma#

Bilgisayarlı görü modellerini gömülü sistemler, web tarayıcıları veya sınırlı Python desteğine sahip platformlar dahil olmak üzere farklı ortamlarda dağıtmak, esnek ve taşınabilir bir çözüm gerektirir. TorchScript, taşınabilirliğe ve tüm Python çerçevesinin kullanılamadığı ortamlarda modelleri çalıştırma yeteneğine odaklanır. Bu, bilgisayarlı görü yeteneklerini çeşitli cihazlar veya platformlar genelinde dağıtman gereken senaryolar için onu ideal kılar.

Ultralytics YOLO26 modellerini platformlar arası uyumluluk ve kolaylaştırılmış dağıtım için serileştirmek amacıyla TorchScript'e dışa aktar. Bu kılavuzda, YOLO26 modellerini TorchScript formatına nasıl dışa aktaracağını göstereceğiz, böylece onları daha geniş bir uygulama yelpazesinde kullanman kolaylaşacak.

Link to this sectionNeden TorchScript'e dışa aktarmalısın?#

TorchScript model serileştirme ve dağıtım iş akışına genel bakış

PyTorch'un yaratıcıları tarafından geliştirilen TorchScript, PyTorch modellerini çeşitli platformlarda optimize etmek ve dağıtmak için güçlü bir araçtır. YOLO26 modellerini TorchScript formatına dışa aktarmak, araştırmadan gerçek dünya uygulamalarına geçiş için çok önemlidir. PyTorch çerçevesinin bir parçası olan TorchScript, PyTorch modellerinin Python'u desteklemeyen ortamlarda kullanılmasına olanak tanıyarak bu geçişin daha sorunsuz hale gelmesine yardımcı olur.

Süreç iki teknik içerir: izleme (tracing) ve komut dosyası oluşturma (scripting). İzleme, model yürütme sırasındaki işlemleri kaydederken, komut dosyası oluşturma, modellerin Python'un bir alt kümesi kullanılarak tanımlanmasına olanak tanır. Bu teknikler, YOLO26 gibi modellerin olağan Python ortamlarının dışında bile sihirlerini gerçekleştirebilmelerini sağlar.

TorchScript komut dosyası oluşturma ve izleme karşılaştırması

TorchScript modelleri, operatör füzyonu ve bellek kullanımındaki iyileştirmeler gibi tekniklerle de optimize edilerek verimli bir yürütme sağlanabilir. TorchScript'e dışa aktarmanın bir diğer avantajı, model yürütmeyi çeşitli donanım platformlarında hızlandırma potansiyelidir. PyTorch modelinin, C++ ortamlarına, gömülü sistemlere entegre edilebilen veya web ya da mobil uygulamalarda dağıtılabilen, üretime hazır, bağımsız bir temsilini oluşturur.

Link to this sectionTorchScript Modellerinin Temel Özellikleri#

PyTorch ekosisteminin önemli bir parçası olan TorchScript, derin öğrenme modellerini optimize etmek ve dağıtmak için güçlü özellikler sunar.

TorchScript temel özelliklerine genel bakış

İşte TorchScript'i geliştiriciler için değerli bir araç haline getiren temel özellikler:

  • Statik Çizge Yürütme: TorchScript, PyTorch'un dinamik çizge yürütmesinden farklı olarak modelin hesaplamasının statik bir çizge temsilini kullanır. Statik çizge yürütmede, hesaplama çizgesi gerçek yürütmeden önce bir kez tanımlanır ve derlenir, bu da çıkarım sırasında performansı artırır.

  • Model Serileştirme: TorchScript, PyTorch modellerini platformdan bağımsız bir formata serileştirmeni sağlar. Serileştirilmiş modeller, orijinal Python koduna ihtiyaç duymadan yüklenebilir ve böylece farklı çalışma zamanı ortamlarında dağıtıma olanak tanır.

  • JIT Derleme: TorchScript, PyTorch modellerini optimize edilmiş bir ara temsile dönüştürmek için Tam Zamanında (Just-In-Time - JIT) derleme kullanır. JIT, modelin hesaplama çizgesini derleyerek hedef cihazlarda verimli bir şekilde yürütülmesini sağlar.

  • Diller Arası Entegrasyon: TorchScript ile PyTorch modellerini C++, Java ve JavaScript gibi diğer dillere aktarabilirsin. Bu, PyTorch modellerini farklı dillerde yazılmış mevcut yazılım sistemlerine entegre etmeni kolaylaştırır.

  • Kademeli Dönüşüm: TorchScript, PyTorch modelinin bölümlerini kademeli olarak TorchScript'e dönüştürmene olanak tanıyan bir yaklaşım sunar. Bu esneklik, özellikle karmaşık modellerle uğraşırken veya kodun belirli bölümlerini optimize etmek istediğinde kullanışlıdır.

Link to this sectionTorchScript'te Dağıtım Seçenekleri#

YOLO26 modellerini TorchScript formatına aktarma koduna bakmadan önce, TorchScript modellerinin normalde nerede kullanıldığını anlayalım.

TorchScript, makine öğrenimi modelleri için aşağıdakiler gibi çeşitli dağıtım seçenekleri sunar:

  • C++ API: TorchScript için en yaygın kullanım durumu, optimize edilmiş TorchScript modellerini doğrudan C++ uygulamaları içinde yüklemeni ve yürütmeni sağlayan C++ API'sidir. Bu, Python'un uygun veya mevcut olmayabileceği üretim ortamları için idealdir. C++ API, TorchScript modellerinin düşük yükle verimli bir şekilde yürütülmesini sağlar ve performans potansiyelini en üst düzeye çıkarır.

  • Mobil Dağıtım: TorchScript, modelleri mobil cihazlarda kolayca dağıtılabilir formatlara dönüştürmek için araçlar sunar. PyTorch Mobile, bu modelleri iOS ve Android uygulamaları içinde yürütmek için bir çalışma zamanı sağlar. Bu, düşük gecikmeli, çevrimdışı çıkarım yeteneklerini mümkün kılarak kullanıcı deneyimini ve veri gizliliğini artırır.

  • Bulut Dağıtımı: TorchScript modelleri, TorchServe gibi çözümler kullanılarak bulut tabanlı sunuculara dağıtılabilir. Model sürümleme, toplu işleme ve metrik izleme gibi özellikler sağlayarak üretim ortamlarında ölçeklenebilir bir dağıtım sunar. TorchScript ile bulut dağıtımı, modellerini API'ler veya diğer web hizmetleri aracılığıyla erişilebilir hale getirebilir.

Link to this sectionTorchScript'e Dışa Aktarma: YOLO26 Modelini Dönüştürme#

YOLO26 modellerini TorchScript'e dışa aktarmak, onları farklı yerlerde kullanmanı kolaylaştırır ve daha hızlı ve verimli çalışmalarına yardımcı olur. Bu, derin öğrenme modellerini gerçek dünya uygulamalarında daha etkili bir şekilde kullanmak isteyen herkes için harikadır.

Link to this sectionKurulum#

Gerekli paketi yüklemek için şunu çalıştır:

Kurulum
# Install the required package for YOLO26
pip install ultralytics

Kurulum süreci ile ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum rehberimize göz at. YOLO26 için gerekli paketleri yüklerken herhangi bir zorluk yaşarsan, çözümler ve ipuçları için Yaygın Sorunlar rehberimize danış.

Link to this sectionKullanım#

Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı anda dışa aktarmayı destekleyecek şekilde tasarlanmıştır ve bu sayede tercih ettiğin dağıtım iş akışına kolayca entegre edilebilirler. Uygulaman için en iyi kurulumu seçmek amacıyla desteklenen dışa aktarma formatlarının ve yapılandırma seçeneklerinin tam listesini görüntüleyebilirsin.

TorchScript formatı Dışa Aktarma, Tahmin ve Doğrulama 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.

Dışa Aktar
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo26n.torchscript'
Tahmin
from ultralytics import YOLO

# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Doğrulama
from ultralytics import YOLO

# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionDışa Aktarma Argümanları#

ArgümanTürVarsayılanAçıklama
formatstr'torchscript'Dışa aktarılan model için hedef format; çeşitli dağıtım ortamlarıyla uyumluluğu tanımlar.
imgszint veya tuple640Model girdisi için istenen görüntü boyutu. Kare görüntüler için bir tam sayı veya belirli boyutlar için bir (height, width) demeti olabilir.
dynamicboolFalseDinamik giriş boyutlarına izin vererek farklı görüntü boyutlarını işleme konusunda esnekliği artırır.
halfboolFalseFP16 (yarı hassasiyetli) nicelemeyi etkinleştirir, model boyutunu küçültür ve desteklenen donanımlarda çıkarımı potansiyel olarak hızlandırır.
optimizeboolFalseMobil cihazlar için optimizasyon uygular, potansiyel olarak model boyutunu küçültür ve performansı artırır.
nmsboolFalseDoğru ve verimli tespit sonrası işleme için gerekli olan Non-Maximum Suppression (NMS) ekler.
batchint1Dışa aktarılan modelin toplu çıkarım boyutunu veya predict modunda aynı anda işleyeceği maksimum görüntü sayısını belirtir.
devicestrNoneDışa aktarma için cihazı belirtir: GPU (device=0), CPU (device=cpu), Apple silikon için MPS (device=mps).

Dışa aktarma süreci hakkında daha fazla detay için Ultralytics dışa aktarma belgeleri sayfasına göz at.

Link to this sectionDışa Aktarılan YOLO26 TorchScript Modellerini Dağıtma#

Ultralytics YOLO26 modellerini başarıyla TorchScript formatına dışa aktardıktan sonra, artık onları dağıtabilirsin. Bir TorchScript modelini çalıştırmak için birincil ve önerilen ilk adım, önceki kullanım kod parçacığında belirtildiği gibi YOLO("model.torchscript") yöntemini kullanmaktır. TorchScript modellerini diğer ayarlarda dağıtmakla ilgili ayrıntılı talimatlar için aşağıdaki kaynaklara göz at:

  • Mobil Dağıtımı Keşfet: PyTorch Mobil Belgeleri, modelleri mobil cihazlarda dağıtmak için kapsamlı yönergeler sağlayarak uygulamalarının verimli ve duyarlı olmasını sağlar.

  • Sunucu Tarafı Dağıtımda Uzmanlaş: Ölçeklenebilir, verimli model sunumu için adım adım bir eğitim sunan TorchServe ile modelleri sunucu tarafında nasıl dağıtacağını öğren.

  • C++ Dağıtımını Uygula: TorchScript modellerini C++ uygulamalarına entegre etmeyi kolaylaştırarak artırılmış performans ve çok yönlülük sağlayan C++'ta TorchScript Modeli Yükleme Eğitimi'ne dal.

Link to this sectionÖzet#

Bu kılavuzda, Ultralytics YOLO26 modellerini TorchScript formatına dışa aktarma sürecini inceledik. Sağlanan talimatları izleyerek, YOLO26 modellerini performans için optimize edebilir ve onları çeşitli platformlar ve ortamlarda dağıtma esnekliği kazanabilirsin.

Kullanımla ilgili daha fazla ayrıntı için TorchScript'in resmi belgelerini ziyaret et.

Ayrıca, diğer Ultralytics YOLO26 entegrasyonları hakkında daha fazla bilgi edinmek istersen, entegrasyon rehberi sayfamıza göz at. Orada pek çok yararlı kaynak ve içgörü bulacaksın.

Link to this sectionSSS#

Link to this sectionUltralytics YOLO26 modelinin TorchScript'e dışa aktarılması nedir?#

Bir Ultralytics YOLO26 modelini TorchScript'e dışa aktarmak, esnek, platformlar arası dağıtıma olanak tanır. PyTorch ekosisteminin bir parçası olan TorchScript, Python desteği olmayan ortamlarda çalıştırılabilen modellerin serileştirilmesini kolaylaştırır. Bu, modelleri gömülü sistemlerde, C++ ortamlarında, mobil uygulamalarda ve hatta web tarayıcılarında dağıtmak için idealdir. TorchScript'e dışa aktarma, YOLO26 modellerinin çeşitli platformlarda verimli performans göstermesini ve daha geniş uygulanabilirliğini sağlar.

Link to this sectionUltralytics kullanarak YOLO26 modelimi TorchScript'e nasıl dışa aktarabilirim?#

Bir YOLO26 modelini TorchScript'e dışa aktarmak için aşağıdaki örnek kodu kullanabilirsin:

Kullanım
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo26n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO("yolo26n.torchscript")

# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")

Dışa aktarma süreci hakkında daha fazla ayrıntı için dışa aktarma hakkındaki Ultralytics belgelerine başvur.

Link to this sectionYOLO26 modellerini dağıtmak için neden TorchScript kullanmalıyım?#

YOLO26 modellerini dağıtmak için TorchScript kullanmak çeşitli avantajlar sunar:

  • Taşınabilirlik: Dışa aktarılan modeller, C++ uygulamaları, gömülü sistemler veya mobil cihazlar gibi ortamlarda Python'a ihtiyaç duymadan çalışabilir.
  • Optimizasyon: TorchScript, model performansını optimize edebilen statik çizge yürütme ve Tam Zamanında (JIT) derlemeyi destekler.
  • Diller Arası Entegrasyon: TorchScript modelleri diğer programlama dillerine entegre edilebilir, bu da esnekliği ve genişletilebilirliği artırır.
  • Serileştirme: Modeller serileştirilebilir, bu da platformdan bağımsız yükleme ve çıkarıma olanak tanır.

For more insights into deployment, visit the TorchServe Documentation and the C++ Deployment Guide. For on-device mobile deployment, PyTorch now recommends ExecuTorch, which uses its own separate torch.export().pte pipeline rather than TorchScript.

Link to this sectionYOLO26 modellerini TorchScript'e dışa aktarmak için kurulum adımları nelerdir?#

YOLO26 modellerini dışa aktarmak için gerekli paketi yüklemek üzere şu komutu kullan:

Kurulum
# Install the required package for YOLO26
pip install ultralytics

Ayrıntılı talimatlar için Ultralytics Kurulum kılavuzunu ziyaret et. Kurulum sırasında herhangi bir sorun çıkarsa, Yaygın Sorunlar kılavuzuna başvur.

Link to this sectionDışa aktardığım TorchScript YOLO26 modellerimi nasıl dağıtırım?#

YOLO26 modellerini TorchScript formatına dışa aktardıktan sonra, onları çeşitli platformlarda dağıtabilirsin:

  • C++ API: Düşük yük gerektiren, yüksek verimli üretim ortamları için idealdir.
  • Mobile Deployment: Run TorchScript models on-device with LibTorch (the PyTorch C++ runtime). For new mobile projects, PyTorch recommends ExecuTorch, a separate .pte export pipeline.
  • Bulut Dağıtımı: Ölçeklenebilir sunucu tarafı dağıtımı için TorchServe gibi hizmetlerden yararlan.

TorchScript'in yeteneklerinden tam olarak yararlanmak için modelleri bu ayarlarda dağıtmaya yönelik kapsamlı yönergeleri keşfet.

Yorumlar