İç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

YOLOv8 modellerini TorchScript biçimine aktarma koduna bakmadan önce, TorchScript modellerinin normalde nerede kullanıldığını anlayalım.

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.



Oluşturuldu 2024-03-01, Güncellendi 2024-03-03
Yazarlar: glenn-jocher (1), abirami-vina (2)

Yorumlar