迅速なデプロイのためのYOLO26モデルのTorchScriptへのエクスポート
組み込みシステム、Webブラウザ、またはpythonのサポートが限られているプラットフォームなど、さまざまな環境にコンピュータビジョンモデルをデプロイするには、柔軟で移植可能なソリューションが必要です。TorchScriptは、移植性とpythonフレームワーク全体が利用できない環境でモデルを実行する機能に重点を置いています。これにより、さまざまなデバイスまたはプラットフォームにコンピュータビジョン機能をデプロイする必要があるシナリオに最適です。
クロスプラットフォーム互換性と効率的なデプロイのために、Ultralytics YOLO26モデルをTorchScriptにエクスポートしてシリアライズします。このガイドでは、YOLO26モデルをTorchScript形式にエクスポートする方法を紹介し、より幅広いアプリケーションで簡単に使用できるようにします。
TorchScript へのエクスポートの利点は何ですか?

PyTorchの開発者によって開発されたTorchScriptは、様々なプラットフォームでPyTorchモデルを最適化し、デプロイするための強力なツールです。YOLO26モデルをTorchScriptにエクスポートすることは、研究から実世界アプリケーションへの移行において非常に重要です。PyTorchフレームワークの一部であるTorchScriptは、PyTorchモデルをpythonをサポートしない環境で使用できるようにすることで、この移行をよりスムーズにします。
このプロセスには、トレーシングとスクリプティングという2つの手法が含まれます。トレーシングはモデル実行中の操作を記録し、スクリプティングはpythonのサブセットを使用してモデルを定義することを可能にします。これらの手法により、YOLO26のようなモデルは、通常のpython環境外でもその機能を維持できます。

TorchScriptモデルは、オペレーターの融合やメモリ使用量の改善などの手法を通じて最適化することもでき、効率的な実行を保証します。TorchScriptにエクスポートするもう1つの利点は、さまざまなハードウェアプラットフォームでのモデル実行を高速化できる可能性があることです。C++環境、組み込みシステムに統合したり、Webまたはモバイルアプリケーションにデプロイしたりできる、スタンドアロンの製品対応のPyTorchモデル表現が作成されます。
TorchScriptモデルの主な特徴
PyTorchエコシステムの重要な部分であるTorchScriptは、深層学習モデルを最適化およびデプロイするための強力な機能を提供します。

TorchScriptを開発者にとって価値のあるツールにする主要な機能を以下に示します。
静的グラフ実行: TorchScriptは、モデルの計算の静的グラフ表現を使用します。これは、PyTorchの動的グラフ実行とは異なります。静的グラフ実行では、計算グラフは実際の実行前に一度定義およびコンパイルされ、推論中のパフォーマンスが向上します。
モデルのシリアライズ:TorchScriptを使用すると、PyTorchモデルをプラットフォームに依存しない形式にシリアライズできます。シリアライズされたモデルは、元のpythonコードを必要とせずにロードでき、異なるランタイム環境でのデプロイメントが可能になります。
JITコンパイル:TorchScriptは、Just-In-Time(JIT)コンパイルを使用して、PyTorchモデルを最適化された中間表現に変換します。JITはモデルの計算グラフをコンパイルし、ターゲットデバイスでの効率的な実行を可能にします。
クロスランゲージ統合: TorchScriptを使用すると、PyTorchモデルをC++、Java、JavaScriptなどの他の言語にエクスポートできます。これにより、異なる言語で記述された既存のソフトウェアシステムへのPyTorchモデルの統合が容易になります。
段階的な変換: TorchScriptは段階的な変換アプローチを提供し、PyTorchモデルの一部を段階的にTorchScriptに変換できます。この柔軟性は、複雑なモデルを扱う場合や、コードの特定の部分を最適化したい場合に特に役立ちます。
TorchScriptでのデプロイメントオプション
YOLO26モデルをTorchScript形式にエクスポートするためのコードを見る前に、TorchScriptモデルが通常どこで使用されるかを理解しましょう。
TorchScriptは、機械学習モデルに、以下のようなさまざまなデプロイメントオプションを提供します。
C++ API: TorchScriptの最も一般的なユースケースはC++ APIであり、最適化されたTorchScriptモデルをC++アプリケーション内で直接ロードして実行できます。これは、pythonが適切でない、または利用できない本番環境に最適です。C++ APIは、TorchScriptモデルの低オーバーヘッドで効率的な実行を提供し、パフォーマンスの可能性を最大化します。
モバイル展開:TorchScriptは、モデルをモバイルデバイスに簡単に展開できる形式に変換するためのツールを提供します。PyTorch Mobileは、iOSおよびAndroidアプリ内でこれらのモデルを実行するためのランタイムを提供します。これにより、低遅延のオフライン推論機能が実現し、ユーザーエクスペリエンスとデータプライバシーが向上します。
クラウドデプロイメント: TorchScriptモデルは、TorchServeのようなソリューションを使用してクラウドベースのサーバーにデプロイできます。モデルのバージョン管理、バッチ処理、および本番環境でのスケーラブルなデプロイメントのためのメトリクス監視などの機能を提供します。TorchScriptを使用したクラウドデプロイメントにより、APIまたはその他のWebサービスを介してモデルにアクセスできるようになります。
TorchScriptへのエクスポート:YOLO26モデルの変換
YOLO26モデルをTorchScriptにエクスポートすることで、様々な場所での利用が容易になり、より高速かつ効率的に実行できるようになります。これは、実世界アプリケーションで深層学習モデルをより効果的に活用したいと考えているすべての人にとって大きなメリットです。
インストール
必要なパッケージをインストールするには、以下を実行します:
インストール
# Install the required package for YOLO26
pip install ultralytics
インストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO26に必要なパッケージをインストールする際に問題が発生した場合は、解決策とヒントについてよくある問題ガイドを参照してください。
使用法
すべてのUltralytics YOLO26モデルは、すぐにエクスポートをサポートするように設計されており、お好みのデプロイワークフローに簡単に統合できます。サポートされているエクスポート形式と設定オプションの全リストを表示して、アプリケーションに最適なセットアップを選択できます。
使用法
from ultralytics import YOLO
# Load the 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")
# Export a YOLO26n PyTorch model to TorchScript format
yolo export model=yolo26n.pt format=torchscript # creates 'yolo26n.torchscript'
# Run inference with the exported model
yolo predict model=yolo26n.torchscript source='https://ultralytics.com/images/bus.jpg'
エクスポート引数
| 引数 | 種類 | デフォルト | 説明 |
|---|---|---|---|
format | str | 'torchscript' | エクスポートされたモデルのターゲット形式。さまざまなデプロイメント環境との互換性を定義します。 |
imgsz | int または tuple | 640 | モデル入力に必要な画像サイズ。正方形の画像の場合は整数、タプルの場合は (height, width) 特定の寸法の場合。 |
dynamic | bool | False | 動的な入力サイズを許可し、さまざまな画像寸法を処理する際の柔軟性を高めます。 |
optimize | bool | False | モバイルデバイス向けに最適化を適用し、モデルサイズを削減し、パフォーマンスを向上させる可能性があります。 |
nms | bool | False | 正確かつ効率的なdetect後処理に不可欠なNon-Maximum Suppression (NMS)を追加します。 |
batch | int | 1 | エクスポートされたモデルのバッチ推論サイズ、またはエクスポートされたモデルが同時に処理する画像の最大数を指定します。 predict モードを参照してください。 |
device | str | None | エクスポート先のデバイス(GPU(device=0)、CPU (device=cpu)、Apple シリコン用 MPS (device=mps)。 |
エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。
エクスポートされたYOLO26 TorchScriptモデルのデプロイ
Ultralytics YOLO26モデルをTorchScript形式にエクスポートした後、それらをデプロイできます。TorchScriptモデルを実行するための主要かつ推奨される最初のステップは、 YOLO("model.torchscript") メソッドです。これは、以前の使用コードスニペットで概説されています。他の設定でTorchScriptモデルをデプロイするための詳細な手順については、以下のリソースを参照してください。
モバイルデプロイメントを調べる: PyTorch Mobileドキュメントには、モバイルデバイスへのモデルのデプロイに関する包括的なガイドラインが記載されており、アプリケーションの効率性と応答性を確保します。
サーバーサイドデプロイメントをマスターする: スケーラブルで効率的なモデル提供のためのステップごとのチュートリアルを提供するTorchServeを使用して、モデルをサーバーサイドにデプロイする方法を学びます。
C++デプロイメントの実装: C++でのTorchScriptモデルのロードに関するチュートリアルに進み、パフォーマンスと汎用性を高めるために、TorchScriptモデルをC++アプリケーションに統合することを容易にします。
概要
このガイドでは、Ultralytics YOLO26モデルをTorchScript形式にエクスポートするプロセスを解説しました。提供された手順に従うことで、YOLO26モデルをパフォーマンスのために最適化し、様々なプラットフォームや環境に柔軟にデプロイできるようになります。
使用方法の詳細については、TorchScriptの公式ドキュメントをご覧ください。
また、他のUltralytics YOLO26統合について詳しく知りたい場合は、当社の統合ガイドページをご覧ください。そこには役立つリソースと洞察が豊富にあります。
よくある質問
Ultralytics YOLO26 モデルのTorchScriptへのエクスポートとは何ですか?
Ultralytics YOLO26モデルをTorchScriptにエクスポートすることで、柔軟なクロスプラットフォームデプロイメントが可能になります。PyTorchエコシステムの一部であるTorchScriptは、モデルのシリアル化を容易にし、Pythonサポートのない環境でも実行できるようにします。これにより、組み込みシステム、C++環境、モバイルアプリケーション、さらにはWebブラウザへのモデルデプロイに最適です。TorchScriptへのエクスポートは、YOLO26モデルの効率的なパフォーマンスと、多様なプラットフォームでの幅広い適用性を可能にします。
Ultralyticsを使用してYOLO26モデルをTorchScriptにエクスポートするにはどうすればよいですか?
YOLO26モデルをTorchScriptにエクスポートするには、以下のサンプルコードを使用できます。
使用法
from ultralytics import YOLO
# Load the 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")
# Export a YOLO26n PyTorch model to TorchScript format
yolo export model=yolo26n.pt format=torchscript # creates 'yolo26n.torchscript'
# Run inference with the exported model
yolo predict model=yolo26n.torchscript source='https://ultralytics.com/images/bus.jpg'
エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントを参照してください。
YOLO26モデルのデプロイにTorchScriptを使用するべき理由は何ですか?
YOLO26モデルのデプロイにTorchScriptを使用することには、いくつかの利点があります。
- 移植性: エクスポートされたモデルは、C++アプリケーション、組み込みシステム、モバイルデバイスなど、pythonを必要としない環境で実行できます。
- 最適化: TorchScriptは、静的グラフ実行とJust-In-Time(JIT)コンパイルをサポートしており、モデルのパフォーマンスを最適化できます。
- クロスランゲージ統合: TorchScriptモデルは他のプログラミング言語に統合でき、柔軟性と拡張性が向上します。
- シリアライゼーション: モデルはシリアライズできるため、プラットフォームに依存しないロードと推論が可能です。
デプロイに関するより深い洞察については、PyTorch Mobile Documentation、TorchServe Documentation、およびC++ Deployment Guideをご覧ください。
YOLO26モデルをTorchScriptにエクスポートするためのインストール手順は何ですか?
YOLO26モデルのエクスポートに必要なパッケージをインストールするには、以下のコマンドを使用します。
インストール
# Install the required package for YOLO26
pip install ultralytics
詳細な手順については、Ultralyticsのインストールガイドをご覧ください。インストール中に問題が発生した場合は、よくある問題ガイドを参照してください。
エクスポートしたTorchScript YOLO26モデルをデプロイするにはどうすればよいですか?
YOLO26モデルをTorchScript形式にエクスポートした後、様々なプラットフォームにデプロイできます。
- C++ API: 低オーバーヘッドで、非常に効率的な本番環境に最適です。
- モバイルデプロイメント:iOSおよびAndroidアプリケーションには、PyTorch Mobileを使用してください。
- クラウドデプロイメント:TorchServeのようなサービスを利用して、スケーラブルなサーバーサイドデプロイメントを実現します。
TorchScriptの機能を最大限に活用するために、これらの環境にモデルをデプロイするための包括的なガイドラインについて見ていきましょう。