Link to this sectionHızlı Dağıtım için YOLO26 Modelinin TorchScript'e Aktarılması#
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 modelleri tüm Python çerçevesinin mevcut olmadığı ortamlarda ç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 hale getirir.
Ultralytics YOLO26 modellerini platformlar arası uyumluluk ve kolaylaştırılmış dağıtım için serileştirmek üzere TorchScript'e aktar. Bu kılavuzda, YOLO26 modellerini TorchScript formatına nasıl aktaracağını göstereceğiz, böylece onları daha geniş bir uygulama yelpazesinde kullanmanı kolaylaştıracağız.
Link to this sectionNeden TorchScript'e aktarmalısın?#

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 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 izin vererek bu geçişi daha sorunsuz hale getirmeye yardımcı olur.
Süreç, izleme (tracing) ve betikleme (scripting) olmak üzere iki teknik içerir. İzleme, model yürütme sırasındaki işlemleri kaydederken, betikleme modellerin Python'un bir alt kümesi kullanılarak tanımlanmasına olanak tanır. Bu teknikler, YOLO26 gibi modellerin normal Python ortamlarının dışında bile sihirlerini gerçekleştirmeye devam edebilmelerini sağlar.

TorchScript modelleri, operatör birleştirme ve bellek kullanımındaki iyileştirmeler gibi tekniklerle optimize edilebilir ve verimli bir yürütme sağlanabilir. TorchScript'e aktarmanın bir diğer avantajı, çeşitli donanım platformlarında model yürütmeyi hızlandırma potansiyelidir. C++ ortamlarına entegre edilebilen, gömülü sistemlerde çalışabilen veya web ya da mobil uygulamalarda dağıtılabilen, üretime hazır, bağımsız bir PyTorch modeli temsili oluşturur.
Link to this sectionTorchScript Modellerinin Temel Özellikleri#
PyTorch ekosisteminin kilit bir parçası olan TorchScript, derin öğrenme modellerini optimize etmek ve dağıtmak için güçlü özellikler sunar.

İşte TorchScript'i geliştiriciler için değerli bir araç haline getiren temel özellikler:
-
Statik Grafik Yürütme: TorchScript, PyTorch'un dinamik grafik yürütmesinden farklı olan, modelin hesaplamasının statik bir grafik temsilini kullanır. Statik grafik yürütmede, hesaplama grafiği gerçek yürütmeden önce bir kez tanımlanır ve derlenir, bu da çıkarım sırasında daha iyi performans sağlar.
-
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 bu da farklı çalışma zamanı ortamlarında dağıtımı mümkün kılar.
-
JIT Derleme: TorchScript, PyTorch modellerini optimize edilmiş bir ara temsile dönüştürmek için Tam Zamanında (Just-In-Time - JIT) derlemeyi kullanır. JIT, modelin hesaplama grafiğini derleyerek hedef cihazlarda verimli yürütmeyi 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üştürme: TorchScript, PyTorch modelinin bölümlerini kademeli olarak TorchScript'e dönüştürmene olanak tanıyan kademeli bir dönüştürme yaklaşımı sağlar. Bu esneklik, karmaşık modellerle uğraşırken veya kodun belirli bölümlerini optimize etmek istediğinde özellikle yararlıdır.
Link to this sectionTorchScript'teki 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 sunarak 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 yetenekleri sağlayarak 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. Bu, üretim ortamlarında ölçeklenebilir dağıtım için model sürümleme, gruplama ve metrik izleme gibi özellikler sağlar. TorchScript ile bulut dağıtımı, modellerini API'ler veya diğer web servisleri aracılığıyla erişilebilir hale getirebilir.
Link to this sectionTorchScript'e Aktarma: YOLO26 Modelini Dönüştürme#
YOLO26 modellerini TorchScript'e aktarmak, onları farklı yerlerde kullanmanı kolaylaştırır ve daha hızlı, daha 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:
# Install the required package for YOLO26
pip install ultralyticsKurulum süreci ile ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza göz at. YOLO26 için gerekli paketleri kurarken 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 görüntüleyebilirsin.
TorchScript formatı Dışa Aktarma (Export), Tahmin (Predict) ve Doğrulama (Validate) modlarını destekler. Modelini dışa aktar, ardından çıkarım yapmak veya doğruluğunu test etmek 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 TorchScript format
model.export(format="torchscript") # creates 'yolo26n.torchscript'from ultralytics import YOLO
# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")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üman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'torchscript' | Ç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 | Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı veya belirli boyutlar için (height, width) şeklinde bir demet olabilir. |
dynamic | bool | False | Dinamik giriş boyutlarına izin vererek farklı görüntü boyutlarını işlemede esnekliği artırır. |
quantize | int veya str | None | Kuantizasyon hassasiyeti: 16 (FP16), device=0 ile GPU dışa aktarımı gerektirir; 32/belirtilmemiş değer ise FP32'dir. Kullanımdan kaldırılan half bayrağının yerini alır. |
optimize | bool | False | Mobil cihazlar için optimizasyon uygular, potansiyel olarak model boyutunu küçültür ve performansı artırır. |
nms | bool | False | Doğru ve verimli tespit sonrası işleme için gerekli olan Non-Maximum Suppression (NMS) ekler. |
batch | int | 1 | Dışa aktarılan modelin 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. |
device | str | None | Dış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 ayrıntı için dışa aktarma hakkındaki Ultralytics dokümantasyon sayfasına git.
Link to this sectionDışa Aktarılan YOLO26 TorchScript Modellerini Dağıtma#
Ultralytics YOLO26 modellerini TorchScript formatına başarıyla aktardıktan sonra, artık onları dağıtabilirsin. Bir TorchScript modelini çalıştırmak için temel ve önerilen ilk adım, önceki kullanım kodu parçacığında belirtildiği gibi YOLO("model.torchscript") yöntemini kullanmaktır. TorchScript modellerini diğer ortamlarda dağıtmakla ilgili ayrıntılı talimatlar için aşağıdaki kaynaklara bir göz at:
-
Mobil Dağıtımı Keşfet: PyTorch Mobil Belgeleri, modelleri mobil cihazlarda dağıtmak için kapsamlı kılavuzlar sunarak uygulamalarının verimli ve duyarlı olmasını sağlar.
-
Sunucu Tarafı Dağıtımında 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ıran, C++'ta TorchScript Modeli Yükleme Eğitimini inceleyerek gelişmiş performans ve çok yönlülük elde et.
Link to this sectionÖzet#
Bu kılavuzda, Ultralytics YOLO26 modellerini TorchScript formatına aktarma sürecini inceledik. Sağlanan talimatları izleyerek, YOLO26 modellerini performans için optimize edebilir ve onları çeşitli platform ve ortamlarda dağıtma esnekliği kazanabilirsin.
Kullanım hakkında 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 kılavuzu sayfamızı ziyaret et. Orada birçok yararlı kaynak ve içgörü bulabilirsin.
Link to this sectionSSS#
Link to this sectionUltralytics YOLO26 modelinin TorchScript'e aktarılması nedir?#
Bir Ultralytics YOLO26 modelini TorchScript'e aktarmak, esnek ve platformlar arası dağıtıma olanak tanır. PyTorch ekosisteminin bir parçası olan TorchScript, Python desteği olmayan ortamlarda yürütülebilen 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 aktarmak, YOLO26 modellerinin çeşitli platformlarda verimli performans ve daha geniş uygulanabilirlik sağlar.
Link to this sectionUltralytics kullanarak YOLO26 modelimi nasıl TorchScript'e aktarabilirim?#
Bir YOLO26 modelini TorchScript'e aktarmak için aşağıdaki örnek kodu kullanabilirsin:
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 Ultralytics dışa aktarma belgelerine başvur.
Link to this sectionYOLO26 modellerini dağıtmak için neden TorchScript kullanmalıyım?#
YOLO26 modellerini dağıtmak için TorchScript kullanmanın birkaç avantajı vardır:
- Taşınabilirlik: Dışa aktarılan modeller, C++ uygulamaları, gömülü sistemler veya mobil cihazlar gibi Python'a ihtiyaç duymadan ortamlarda çalışabilir.
- Optimizasyon: TorchScript, model performansını optimize edebilen statik grafik yürütmeyi ve Tam Zamanında (JIT) derlemeyi destekler.
- Diller Arası Entegrasyon: TorchScript modelleri, esnekliği ve genişletilebilirliği artırarak diğer programlama dillerine entegre edilebilir.
- Serileştirme: Modeller serileştirilebilir, bu da platformdan bağımsız yükleme ve çıkarım yapılmasını sağlar.
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 aktarmak için kurulum adımları nelerdir?#
YOLO26 modellerini dışa aktarmak için gereken paketi kurmak amacıyla şu komutu kullan:
# Install the required package for YOLO26
pip install ultralyticsAyrıntılı talimatlar için Ultralytics Kurulum kılavuzunu ziyaret et. Kurulum sırasında herhangi bir sorun yaşarsan Yaygın Sorunlar kılavuzuna bak.
Link to this sectionDışa aktardığım TorchScript YOLO26 modellerimi nasıl dağıtırım?#
YOLO26 modellerini TorchScript formatına aktardıktan sonra, onları çeşitli platformlarda dağıtabilirsin:
- C++ API: Düşük yükle, son derece 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
.pteexport pipeline. - Bulut Dağıtımı: Ölçeklenebilir sunucu tarafı dağıtımı için TorchServe gibi hizmetleri kullan.
TorchScript'in yeteneklerinden tam olarak yararlanmak için modelleri bu ayarlarda dağıtmaya yönelik kapsamlı kılavuzları keşfet.