İçeriğe geç

YOLO11 Model Export to TorchScript for Quick Deployment

Deploying computer vision models across different environments, including embedded systems, web browsers, or platforms with limited Python support, requires a flexible and portable solution. TorchScript focuses on portability and the ability to run models in environments where the entire Python framework is unavailable. This makes it ideal for scenarios where you need to deploy your computer vision capabilities across various devices or platforms.

Export to Torchscript to serialize your Ultralytics YOLO11 models for cross-platform compatibility and streamlined deployment. In this guide, we'll show you how to export your YOLO11 models to the TorchScript format, making it easier for you to use them across a wider range of applications.

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

Torchscript Genel Bakış

Developed by the creators of PyTorch, TorchScript is a powerful tool for optimizing and deploying PyTorch models across a variety of platforms. Exporting YOLO11 models to TorchScript is crucial for moving from research to real-world applications. TorchScript, part of the PyTorch framework, helps make this transition smoother by allowing PyTorch models to be used in environments that don't support Python.

The process involves two techniques: tracing and scripting. Tracing records operations during model execution, while scripting allows for the definition of models using a subset of Python. These techniques ensure that models like YOLO11 can still work their magic even outside their usual Python environment.

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, a key part of the PyTorch ecosystem, provides powerful features for optimizing and deploying deep learning models.

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

Before we look at the code for exporting YOLO11 models to the TorchScript format, let's understand where TorchScript models are normally used.

TorchScript offers various deployment options for machine learning models, such as:

  • 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.

  • Mobile Deployment: TorchScript offers tools for converting models into formats readily deployable on mobile devices. PyTorch Mobile provides a runtime for executing these models within iOS and Android apps. This enables low-latency, offline inference capabilities, enhancing user experience and data privacy.

  • 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.

Export to TorchScript: Converting Your YOLO11 Model

Exporting YOLO11 models to TorchScript makes it easier to use them in different places and helps them run faster and more efficiently. This is great for anyone looking to use deep learning models more effectively in real-world applications.

Kurulum

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

Kurulum

# Install the required package for YOLO11
pip install ultralytics

For detailed instructions and best practices related to the installation process, check our Ultralytics Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.

Kullanım

Before diving into the usage instructions, it's important to note that while all Ultralytics YOLO11 models are available for exporting, you can ensure that the model you select supports export functionality here.

Kullanım

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

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

# Run inference with the exported model
yolo predict model=yolo11n.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.

Deploying Exported YOLO11 TorchScript Models

After successfully exporting your Ultralytics YOLO11 models to TorchScript format, you can now deploy them. The primary and recommended first step for running a TorchScript model is to utilize the YOLO("model.torchscript") method, as outlined in the previous usage code snippet. However, for in-depth instructions on deploying your TorchScript models in various other settings, take a look at the following resources:

  • Explore Mobile Deployment: The PyTorch Mobile Documentation provides comprehensive guidelines for deploying models on mobile devices, ensuring your applications are efficient and responsive.

  • 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

In this guide, we explored the process of exporting Ultralytics YOLO11 models to the TorchScript format. By following the provided instructions, you can optimize YOLO11 models for performance and gain the flexibility to deploy them across various platforms and environments.

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

Also, if you'd like to know more about other Ultralytics YOLO11 integrations, visit our integration guide page. You'll find plenty of useful resources and insights there.

SSS

What is Ultralytics YOLO11 model export to TorchScript?

Exporting an Ultralytics YOLO11 model to TorchScript allows for flexible, cross-platform deployment. TorchScript, a part of the PyTorch ecosystem, facilitates the serialization of models, which can then be executed in environments that lack Python support. This makes it ideal for deploying models on embedded systems, C++ environments, mobile applications, and even web browsers. Exporting to TorchScript enables efficient performance and wider applicability of your YOLO11 models across diverse platforms.

How can I export my YOLO11 model to TorchScript using Ultralytics?

To export a YOLO11 model to TorchScript, you can use the following example code:

Kullanım

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

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

# Run inference with the exported model
yolo predict model=yolo11n.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.

Why should I use TorchScript for deploying YOLO11 models?

Using TorchScript for deploying YOLO11 models offers several advantages:

  • 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.

What are the installation steps for exporting YOLO11 models to TorchScript?

To install the required package for exporting YOLO11 models, use the following command:

Kurulum

# Install the required package for YOLO11
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.

How do I deploy my exported TorchScript YOLO11 models?

After exporting YOLO11 models to the TorchScript format, you can deploy them across a variety of platforms:

  • 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.


📅 Created 7 months ago ✏️ Updated 12 days ago

Yorumlar