Link to this section迅速なデプロイのためのYOLO26モデルのTorchScriptエクスポート#
PyTorchはTorchScriptを非推奨とし、段階的に機能を削除しています。新しいモバイルおよびエッジ環境へのデプロイには、サポートされているExecuTorch統合を使用してください。Ultralyticsは、レガシーなC++互換性のためにTorchScriptエクスポートを維持しています。
Pythonを使用しないC++環境でコンピュータービジョンモデルをデプロイするには、ポータブルなシリアライズ表現が必要です。TorchScriptは、レガシーなLibTorchアプリケーションに対してその互換性を提供します。
Ultralytics YOLO26モデルをTorchScriptにエクスポートしてシリアライズし、クロスプラットフォームの互換性と効率化されたデプロイを実現しましょう。このガイドでは、YOLO26モデルをTorchScript形式にエクスポートする方法を紹介し、より幅広いアプリケーションで使いやすくする方法を説明します。
Link to this sectionなぜTorchScriptにエクスポートするのでしょうか?#

PyTorchの作成者によって開発されたTorchScriptは、多様なプラットフォーム全体でPyTorchモデルを最適化およびデプロイするための強力なツールです。YOLO26モデルをTorchScriptにエクスポートすることは、研究から実世界のアプリケーションへの移行において極めて重要です。PyTorchフレームワークの一部であるTorchScriptは、Pythonをサポートしていない環境でもPyTorchモデルを使用できるようにすることで、この移行をより円滑にするのに役立ちます。
このプロセスには、トレーシング(tracing)とスクリプティング(scripting)という2つの技術が含まれます。トレーシングはモデル実行中の操作を記録し、スクリプティングはPythonのサブセットを使用してモデルを定義できるようにします。これらの技術により、YOLO26のようなモデルは、通常のPython環境外でもその能力を発揮できます。

TorchScriptモデルは、演算子の統合やメモリ使用量の最適化といった手法を通じて最適化でき、効率的な実行を実現します。TorchScriptへエクスポートするもう一つの利点は、さまざまなハードウェアプラットフォーム全体でモデルの実行を加速できる可能性がある点です。これにより、PyTorchモデルのスタンドアロンで本番環境対応の表現が作成され、C++環境へ統合できるようになります。
Link to this sectionTorchScriptモデルの主な機能#
PyTorchエコシステムの重要な一部であるTorchScriptは、ディープラーニングモデルを最適化およびデプロイするための強力な機能を提供します。

開発者にとってTorchScriptが価値あるツールである理由は、主に以下の機能によるものです。
-
静的グラフ実行: TorchScriptは、PyTorchの動的グラフ実行とは異なる、モデルの計算の静的グラフ表現を使用します。静的グラフ実行では、計算グラフは実際の実行前に一度定義およびコンパイルされるため、推論時のパフォーマンスが向上します。
-
モデルのシリアライズ: TorchScriptを使用すると、PyTorchモデルをプラットフォーム非依存の形式にシリアライズできます。シリアライズされたモデルは、元のPythonコードを必要とせずに読み込むことができるため、さまざまなランタイム環境でのデプロイが可能になります。
-
JITコンパイル: TorchScriptは、Just-In-Time (JIT) コンパイルを使用して、PyTorchモデルを最適化された中間表現に変換します。JITはモデルの計算グラフをコンパイルし、ターゲットデバイス上での効率的な実行を可能にします。
-
段階的な変換: TorchScriptは段階的な変換アプローチを提供しており、PyTorchモデルの一部を徐々にTorchScriptに変換できます。この柔軟性は、複雑なモデルを扱う場合や、コードの特定部分を最適化したい場合に特に役立ちます。
Link to this sectionTorchScriptにおけるデプロイオプション#
YOLO26モデルをTorchScript形式にエクスポートするためのコードを確認する前に、TorchScriptモデルが通常どこで使用されているかを理解しておきましょう。
TorchScriptは、以下のような機械学習モデルのさまざまなデプロイオプションを提供します。
-
C++ API: TorchScriptの最も一般的なユースケースは、LibTorch C++ APIです。これを使用することで、最適化されたTorchScriptモデルをC++アプリケーション内で直接読み込み、実行できます。これは、Pythonが適していない、あるいは使用できない本番環境に最適です。C++ APIは、TorchScriptモデルのオーバーヘッドを抑えた効率的な実行を提供し、パフォーマンスの可能性を最大限に引き出します。
-
モバイルデプロイメント: モバイルデバイス上での低遅延なオフライン推論およびデータプライバシーのために、TorchScript Mobileの代替であるPyTorchのExecuTorchを使用してください。
-
クラウドデプロイ: TorchScriptモデルは、TorchServeのようなソリューションを使用してクラウドベースのサーバーにデプロイできます。これにより、本番環境でのスケーラブルなデプロイのためのモデルバージョニング、バッチ処理、メトリクス監視などの機能が提供されます。TorchScriptを使用したクラウドデプロイにより、APIやその他のWebサービスを介してモデルにアクセスできるようになります。
Link to this sectionTorchScriptへのエクスポート:YOLO26モデルの変換#
YOLO26モデルをTorchScriptにエクスポートすると、さまざまな場所で使いやすくなり、より高速かつ効率的に実行できるようになります。これは、実世界のアプリケーションでディープラーニングモデルをより効果的に使用したいと考えている人にとって最適です。
Link to this sectionインストール#
必要なパッケージをインストールするには、以下を実行してください:
# Install the required package for YOLO26
pip install ultralyticsインストールプロセスの詳細およびベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO26に必要なパッケージをインストールする際に問題が発生した場合は、解決策とヒントについて共通の問題ガイドを参照してください。
Link to this section使用方法#
すべてのUltralytics YOLO26モデルは、導入後すぐにエクスポートをサポートするように設計されており、好みの展開ワークフローに簡単に統合できます。サポートされているエクスポートフォーマットと設定オプションの全リストを表示して、アプリケーションに最適な構成を選択してください。
TorchScript形式は、Export、Predict、およびValidateモードをサポートしています。モデルをエクスポートしてから、エクスポートされたモデルを読み込んで推論を実行するか、精度を検証してください。
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 sectionエクスポートの引数#
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
format | str | 'torchscript' | エクスポートするモデルのターゲット形式。さまざまなデプロイ環境との互換性を定義します。 |
imgsz | intまたはtuple | 640 | モデル入力用の希望する画像サイズ。正方形画像の場合は整数、特定の寸法の場合はタプル(height, width)を指定できます。 |
dynamic | bool | False | 動的な入力サイズを許可し、さまざまな画像次元を扱う際の柔軟性を高めます。 |
quantize | int または str | None | 量子化精度: 16 (FP16) は device=0 を指定したGPUエクスポートが必要です。32 または未設定の場合はFP32となります。これは非推奨となった half フラグを置き換えるものです。 |
nms | bool | False | Non-Maximum Suppression (NMS) を追加します。これは正確で効率的な検出後処理に不可欠です。 |
batch | int | 1 | エクスポートされたモデルのバッチ推論サイズ、あるいはpredictモードで同時に処理する画像の最大数を指定します。 |
device | str | None | エクスポート用のデバイスを指定します。GPU (device=0)、CPU (device=cpu)、Appleシリコン用MPS (device=mps)など。 |
エクスポートプロセスの詳細については、Ultralyticsのエクスポートに関するドキュメントページを参照してください。
Link to this sectionエクスポートされたYOLO26 TorchScriptモデルのデプロイ#
Ultralytics YOLO26モデルをTorchScript形式に正常にエクスポートした後、デプロイが可能になります。TorchScriptモデルを実行するための最初の手順として、前述のコードスニペットで説明したように、YOLO("model.torchscript")メソッドを使用することを推奨します。他の設定でTorchScriptモデルをデプロイするための詳細な手順については、以下のリソースを参照してください。
-
モバイルデプロイメントを探索する: 現在のPyTorchモバイルデプロイメントには、ExecuTorchの独立した
torch.export()→.pteパイプラインを使用してください。 -
サーバーサイドデプロイの習得: TorchServeを使用してサーバーサイドでモデルをデプロイする方法を学びます。スケーラブルで効率的なモデル提供のためのステップバイステップのチュートリアルが用意されています。
-
C++デプロイの実装: C++でTorchScriptモデルを読み込むためのチュートリアルを確認し、TorchScriptモデルをC++アプリケーションに統合してパフォーマンスと汎用性を高める方法を学びます。
Link to this section要約#
このガイドでは、Ultralytics YOLO26モデルをTorchScript形式にエクスポートするプロセスについて説明しました。提供された手順に従うことで、YOLO26モデルをパフォーマンスのために最適化し、さまざまなプラットフォームや環境にデプロイする柔軟性を得ることができます。
使用法の詳細については、TorchScriptの公式ドキュメントをご覧ください。
また、その他のUltralytics YOLO26インテグレーションについて知りたい場合は、インテグレーションガイドページをご覧ください。そこには役立つリソースや洞察が多数掲載されています。
Link to this sectionよくある質問 (FAQ)#
Link to this sectionUltralytics YOLO26モデルのTorchScriptエクスポートとは何ですか?#
Ultralytics YOLO26モデルをTorchScriptにエクスポートすることで、柔軟なクロスプラットフォームデプロイメントが可能になります。PyTorchエコシステムの一部であるTorchScriptはモデルのシリアライズを容易にし、Pythonサポートのない環境でも実行できるようにします。これにより、C++環境でのモデルデプロイメントに役立ちます。
Link to this sectionUltralyticsを使用してYOLO26モデルをTorchScriptにエクスポートするにはどうすればよいですか?#
YOLO26モデルをTorchScriptにエクスポートするには、以下のコード例を使用できます。
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")エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントを参照してください。
Link to this sectionなぜYOLO26モデルのデプロイにTorchScriptを使用する必要があるのですか?#
YOLO26モデルのデプロイにTorchScriptを使用することには、いくつかの利点があります。
- 移植性: エクスポートされたモデルは、PythonなしでC++アプリケーション内で実行できます。
- 最適化: TorchScriptは静的グラフ実行とJust-In-Time (JIT) コンパイルをサポートしており、モデルのパフォーマンスを最適化できます。
- 言語間統合: TorchScriptモデルは他のプログラミング言語に統合でき、柔軟性と拡張性が向上します。
- シリアライズ: モデルをシリアライズできるため、プラットフォーム非依存の読み込みと推論が可能になります。
デプロイメントの詳細については、TorchServe Documentation および C++ Deployment Guide を参照してください。モバイル端末へのデプロイメントについて、PyTorchは現在 ExecuTorch を推奨しています。これはTorchScriptではなく、独自の torch.export() → .pte パイプラインを使用します。
Link to this sectionYOLO26モデルをTorchScriptにエクスポートするためのインストール手順を教えてください。#
YOLO26モデルをエクスポートするために必要なパッケージをインストールするには、以下のコマンドを使用してください。
# Install the required package for YOLO26
pip install ultralytics詳細な手順については、Ultralyticsインストールガイドを参照してください。インストール中に問題が発生した場合は、共通の問題ガイドを参照してください。
Link to this sectionエクスポートしたTorchScript YOLO26モデルをデプロイするにはどうすればよいですか?#
YOLO26モデルをTorchScript形式にエクスポートした後は、さまざまなプラットフォームにデプロイできます。
- C++ API: 低オーバーヘッドで非常に効率的な本番環境には、LibTorchを使用してください。
- Mobile Deployment: Use ExecuTorch, PyTorch's supported replacement with a separate
.pteexport pipeline. - クラウドデプロイ: TorchServeなどのサービスを利用して、スケーラブルなサーバーサイドデプロイを実現します。
これらの環境でモデルをデプロイするための包括的なガイドラインを確認し、TorchScriptの機能を最大限に活用してください。