İçeriğe geç

YOLOv8 Hızlı Dağıtım için TorchScript adresine Model Aktarımı

Bilgisayarla görme modellerini gömülü sistemler, web tarayıcıları veya sınırlı Python desteğine sahip platformlar dahil olmak üzere farklı ortamlara dağıtmak esnek ve taşınabilir bir çözüm gerektirir. TorchScript taşınabilirliğe ve Python çerçevesinin tamamının kullanılamadığı ortamlarda modelleri çalıştırma yeteneğine odaklanır. Bu, bilgisayarla görme yeteneklerinizi çeşitli cihazlara veya platformlara dağıtmanız gereken senaryolar için idealdir.

Serileştirmek için Torchscript adresine aktarın Ultralytics YOLOv8 platformlar arası uyumluluk ve kolaylaştırılmış dağıtım için modeller. Bu kılavuzda, YOLOv8 modellerinizi TorchScript formatına nasıl aktaracağınızı göstererek, bunları daha geniş bir uygulama yelpazesinde kullanmanızı kolaylaştıracağız.

Neden TorchScript adresine ihracat yapmalısınız?

Torchscript 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. YOLOv8 modellerini şu adrese aktarma TorchScript araştırmadan gerçek dünya uygulamalarına geçiş için çok önemlidir. TorchScript PyTorch çerçevesinin bir parçası olan Python, PyTorch modellerinin desteklemeyen ortamlarda kullanılmasına izin vererek bu geçişi daha sorunsuz hale getirmeye yardımcı olur.

Süreç iki teknik içerir: izleme ve komut dosyası oluşturma. İzleme, model yürütme sırasındaki işlemleri kaydederken, komut dosyası oluşturma Python adresinin bir alt kümesini kullanarak modellerin tanımlanmasına olanak tanır. Bu teknikler, YOLOv8 gibi modellerin normal Python ortamlarının dışında bile sihirlerini sürdürebilmelerini sağlar.

TorchScript Komut Dosyası ve İzleme

TorchScript Modeller ayrıca operatör füzyonu ve bellek kullanımındaki iyileştirmeler gibi tekniklerle optimize edilebilir ve verimli yürütme sağlanabilir. TorchScript adresine dışa aktarmanın bir diğer avantajı da çeşitli donanım platformlarında model yürütmeyi hızlandırma potansiyelidir. Bu, PyTorch modelinizin C++ ortamlarına, gömülü sistemlere entegre edilebilen veya web ya da mobil uygulamalara yerleştirilebilen bağımsız, üretime hazır bir temsilini oluşturur.

TorchScript Modellerinin Temel Özellikleri

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

TorchScript Özellikler

İşte TorchScript adresini 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ı olarak modelin hesaplamasının statik bir grafik gösterimini 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 daha iyi performans sağlar.

  • Model Serileştirme: TorchScript , PyTorch modellerini platformdan bağımsız bir formatta serileştirmenize olanak tanır. Serileştirilmiş modeller, orijinal Python koduna ihtiyaç duyulmadan yüklenebilir ve 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 Just-In-Time (JIT) derlemesini kullanır. JIT, modelin hesaplama grafiğini 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 aktarabilirsiniz. Bu, PyTorch modellerinin farklı dillerde yazılmış mevcut yazılım sistemlerine entegre edilmesini kolaylaştırır.

  • Kademeli Dönüşüm: TorchScript kademeli bir dönüşüm yaklaşımı sunarak PyTorch modelinizin bazı bölümlerini aşamalı olarak TorchScript modeline dönüştürmenize olanak tanır. Bu esneklik özellikle karmaşık modellerle uğraşırken veya kodun belirli bölümlerini optimize etmek istediğinizde kullanışlıdır.

Dağıtım Seçenekleri TorchScript

Dışa aktarma koduna bakmadan önce YOLOv8 modellerine TorchScript formatı, nerede olduğunu anlayalım TorchScript modeller normalde kullanılır.

TorchScript gibi makine öğrenimi modelleri için ç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üklemenize ve çalıştırmanıza olanak tanıyan C++ API'sidir. Bu, Python 'un uygun veya kullanılabilir olmayabileceği üretim ortamları için idealdir. C++ API, TorchScript modellerinin düşük ek yük ve verimli bir şekilde yürütülmesini sağlayarak performans potansiyelini en üst düzeye çıkarır.

  • Mobil Dağıtım: TorchScript , modelleri mobil cihazlarda kolayca dağıtılabilecek biçimlere dönüştürmek için araçlar sunar. PyTorch Mobil, bu modelleri iOS ve Android uygulamaları içinde çalıştırmak için bir çalışma zamanı sağlar. Bu, kullanıcı deneyimini ve veri gizliliğini geliştirerek düşük gecikmeli, çevrimdışı çıkarım yetenekleri sağlar.

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

TorchScript adresine aktarın: YOLOv8 Modelinizi Dönüştürme

YOLOv8 modellerini TorchScript adresine aktarmak, bunları farklı yerlerde kullanmayı kolaylaştırır ve daha hızlı ve 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.

Kurulum

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

Kurulum

# Install the required package for YOLOv8
pip install ultralytics

Kurulum süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza göz atın. YOLOv8 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Ortak Sorunlar kılavuz umuza başvurun.

Kullanım

Kullanım talimatlarına geçmeden önce, tüm Ultralytics YOLOv8 modellerinin dışa aktarılabildiğini, ancak seçtiğiniz modelin dışa aktarma işlevini desteklediğinden burada emin olabileceğinizi belirtmek önemlidir.

Kullanım

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TorchScript format
yolo export model=yolov8n.pt format=torchscript  # creates 'yolov8n.torchscript'

# Run inference with the exported model
yolo predict model=yolov8n.torchscript source='https://ultralytics.com/images/bus.jpg'

Dışa aktarma işlemi hakkında daha fazla bilgi için, dışa aktarma ile ilgiliUltralytics dokümantasyon sayfasını ziyaret edin.

Dışa Aktarılan YOLOv8 TorchScript Modellerini Dağıtma

Ultralytics YOLOv8 modellerinizi TorchScript biçiminde başarıyla dışa aktardıktan sonra, artık bunları dağıtabilirsiniz. Bir TorchScript modelini çalıştırmak için birincil ve önerilen ilk adım, önceki kullanım kod parçasında belirtildiği gibi YOLO("model.torchscript") yöntemini kullanmaktır. Ancak, TorchScript modellerinizi diğer çeşitli ortamlarda dağıtmaya ilişkin ayrıntılı talimatlar için aşağıdaki kaynaklara göz atın:

  • Mobil Dağıtımı Keşfedin: PyTorch Mobil Dokümantasyonu, modellerinizin mobil cihazlara dağıtılması için kapsamlı yönergeler sunarak uygulamalarınızın verimli ve duyarlı olmasını sağlar.

  • Ana Sunucu Tarafı Dağıtımı: Ölçeklenebilir, verimli model sunumu için adım adım öğretici sunan TorchServe ile modellerin sunucu tarafında nasıl dağıtılacağını öğrenin.

  • C++ Dağıtımını Uygulama: Gelişmiş performans ve çok yönlülük için TorchScript modellerinizin C++ uygulamalarına entegrasyonunu kolaylaştıran C++'da TorchScript Modeli Yükleme Öğreticisine dalın.

Özet

Bu kılavuzda, Ultralytics YOLOv8 modellerini TorchScript formatına aktarma sürecini inceledik. Verilen talimatları izleyerek YOLOv8 modellerini performans açısından optimize edebilir ve çeşitli platform ve ortamlara dağıtma esnekliği kazanabilirsiniz.

Kullanım hakkında daha fazla bilgi için TorchScript'un resmi belgelerini ziyaret edin.

Ayrıca, diğer Ultralytics YOLOv8 entegrasyonları hakkında daha fazla bilgi edinmek isterseniz, entegrasyon kılavuzu sayfamızı ziyaret edin. Orada çok sayıda faydalı kaynak ve bilgi bulacaksınız.

SSS

Ultralytics YOLOv8 modelinin TorchScript adresine aktarımı nedir?

Bir Ultralytics YOLOv8 modelinin TorchScript adresine aktarılması esnek, platformlar arası dağıtıma olanak tanır. TorchScript PyTorch ekosisteminin bir parçası olan Python , modellerin serileştirilmesini kolaylaştırır ve daha sonra desteği olmayan ortamlarda çalıştırılabilir. Bu da modelleri gömülü sistemlere, C++ ortamlarına, mobil uygulamalara ve hatta web tarayıcılarına dağıtmak için ideal hale getirir. TorchScript adresine dışa aktarma, YOLOv8 modellerinizin farklı platformlarda verimli performans ve daha geniş uygulanabilirlik göstermesini sağlar.

YOLOv8 modelimi Ultralytics kullanarak TorchScript adresine nasıl aktarabilirim?

Bir YOLOv8 modelini TorchScript adresine aktarmak için aşağıdaki örnek kodu kullanabilirsiniz:

Kullanım

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TorchScript format
yolo export model=yolov8n.pt format=torchscript  # creates 'yolov8n.torchscript'

# Run inference with the exported model
yolo predict model=yolov8n.torchscript source='https://ultralytics.com/images/bus.jpg'

Dışa aktarma işlemi hakkında daha fazla bilgi için, dışa aktarma ile ilgili Ultralytics belgelerine bakın.

YOLOv8 modellerini dağıtmak için neden TorchScript kullanmalıyım?

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

  • Taşınabilirlik: Dışa aktarılan modeller, C++ uygulamaları, gömülü sistemler veya mobil cihazlar gibi Python adresine ihtiyaç duyulmayan ortamlarda çalışabilir.
  • Optimizasyon: TorchScript , model performansını optimize edebilen statik grafik yürütmeyi ve Just-In-Time (JIT) derlemeyi destekler.
  • Diller Arası Entegrasyon: TorchScript modelleri diğer programlama dillerine entegre edilebilir, böylece esneklik ve genişletilebilirlik artar.
  • Serileştirme: Modeller serileştirilebilir, böylece platformdan bağımsız yükleme ve çıkarım yapılabilir.

Dağıtım hakkında daha fazla bilgi için PyTorch Mobile Documentation, TorchServe Documentation ve C++ Deployment Guide adreslerini ziyaret edin.

YOLOv8 modellerini TorchScript adresine aktarmak için kurulum adımları nelerdir?

YOLOv8 modellerini dışa aktarmak için gerekli paketi yüklemek için aşağıdaki komutu kullanın:

Kurulum

# Install the required package for YOLOv8
pip install ultralytics

Ayrıntılı talimatlar için Ultralytics Kurulum kılavuzunu ziyaret edin. Kurulum sırasında herhangi bir sorun ortaya çıkarsa, Genel Sorunlar kılavuzuna başvurun.

Dışa aktarılan TorchScript YOLOv8 modellerimi nasıl dağıtabilirim?

YOLOv8 modellerini TorchScript formatına aktardıktan sonra, bunları çeşitli platformlara dağıtabilirsiniz:

  • C++ API: Düşük külfetli, yüksek verimli üretim ortamları için idealdir.
  • Mobil Dağıtım: iOS ve Android uygulamaları için PyTorch Mobile 'ı kullanın.
  • Bulut Dağıtımı: Ölçeklenebilir sunucu tarafı dağıtımı için TorchServe gibi hizmetleri kullanın.

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



Oluşturma 2024-03-01, Güncelleme 2024-07-05
Yazarlar: glenn-jocher (6), abirami-vina (2)

Yorumlar