Meet YOLO26: next-gen vision AI.

Link to this section迅速なデプロイのためのYOLO26モデルのTorchScriptエクスポート#

埋め込みシステム、Webブラウザ、Pythonサポートが限定的なプラットフォームなど、さまざまな環境全体でコンピュータービジョンモデルをデプロイするには、柔軟でポータブルなソリューションが必要です。TorchScriptは、ポータビリティと、完全なPythonフレームワークが利用できない環境でモデルを実行できる機能に重点を置いています。これにより、さまざまなデバイスやプラットフォーム間でコンピュータービジョン機能をデプロイする必要があるシナリオに最適です。

Ultralytics YOLO26モデルをTorchScriptにエクスポートしてシリアライズし、クロスプラットフォームの互換性と効率化されたデプロイを実現しましょう。このガイドでは、YOLO26モデルをTorchScript形式にエクスポートする方法を紹介し、より幅広いアプリケーションで使いやすくする方法を説明します。

Link to this sectionなぜTorchScriptにエクスポートするのでしょうか?#

TorchScriptモデルのシリアライズおよびデプロイワークフローの概要

PyTorchの作成者によって開発されたTorchScriptは、多様なプラットフォーム全体でPyTorchモデルを最適化およびデプロイするための強力なツールです。YOLO26モデルをTorchScriptにエクスポートすることは、研究から実世界のアプリケーションへの移行において極めて重要です。PyTorchフレームワークの一部であるTorchScriptは、Pythonをサポートしていない環境でもPyTorchモデルを使用できるようにすることで、この移行をより円滑にするのに役立ちます。

このプロセスには、トレーシング(tracing)とスクリプティング(scripting)という2つの技術が含まれます。トレーシングはモデル実行中の操作を記録し、スクリプティングはPythonのサブセットを使用してモデルを定義できるようにします。これらの技術により、YOLO26のようなモデルは、通常のPython環境外でもその能力を発揮できます。

TorchScriptのスクリプティングとトレーシングの比較

TorchScriptモデルは、演算子の融合やメモリ使用の改善といった手法を通じて最適化することもでき、効率的な実行を保証します。TorchScriptにエクスポートするもう1つの利点は、さまざまなハードウェアプラットフォーム全体でモデル実行を高速化できる可能性があることです。これは、PyTorchモデルのスタンドアロンで本番環境対応の表現を作成し、C++環境や組み込みシステムに統合したり、Webやモバイルアプリケーションにデプロイしたりすることを可能にします。

Link to this sectionTorchScriptモデルの主な機能#

PyTorchエコシステムの重要な一部であるTorchScriptは、ディープラーニングモデルを最適化およびデプロイするための強力な機能を提供します。

TorchScriptの主な機能の概要

開発者にとってTorchScriptが価値あるツールである理由は、主に以下の機能によるものです。

  • 静的グラフ実行: TorchScriptは、PyTorchの動的グラフ実行とは異なる、モデルの計算の静的グラフ表現を使用します。静的グラフ実行では、計算グラフは実際の実行前に一度定義およびコンパイルされるため、推論時のパフォーマンスが向上します。

  • モデルのシリアライズ: TorchScriptを使用すると、PyTorchモデルをプラットフォーム非依存の形式にシリアライズできます。シリアライズされたモデルは、元のPythonコードを必要とせずに読み込むことができるため、さまざまなランタイム環境でのデプロイが可能になります。

  • JITコンパイル: TorchScriptは、Just-In-Time (JIT) コンパイルを使用して、PyTorchモデルを最適化された中間表現に変換します。JITはモデルの計算グラフをコンパイルし、ターゲットデバイス上での効率的な実行を可能にします。

  • 言語間統合: TorchScriptを使用すると、PyTorchモデルをC++、Java、JavaScriptなどの他の言語にエクスポートできます。これにより、異なる言語で記述された既存のソフトウェアシステムにPyTorchモデルを統合することが容易になります。

  • 段階的な変換: TorchScriptは段階的な変換アプローチを提供しており、PyTorchモデルの一部を徐々にTorchScriptに変換できます。この柔軟性は、複雑なモデルを扱う場合や、コードの特定部分を最適化したい場合に特に役立ちます。

Link to this sectionTorchScriptにおけるデプロイオプション#

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サービスを介してモデルにアクセスできるようになります。

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形式は、ExportPredict、および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エクスポートの引数#

引数タイプデフォルト説明
formatstr'torchscript'エクスポートするモデルのターゲット形式。さまざまなデプロイ環境との互換性を定義します。
imgszintまたはtuple640モデル入力用の希望する画像サイズ。正方形画像の場合は整数、特定の寸法の場合はタプル(height, width)を指定できます。
dynamicboolFalse動的な入力サイズを許可し、さまざまな画像次元を扱う際の柔軟性を高めます。
quantizeint または strNone量子化精度: 16 (FP16) は device=0 を指定したGPUエクスポートが必要です。32 または未設定の場合はFP32となります。これは非推奨となった half フラグを置き換えるものです。
optimizeboolFalseモバイルデバイス向けに最適化を適用し、モデルサイズを縮小してパフォーマンスを向上させる可能性があります。
nmsboolFalseNon-Maximum Suppression (NMS) を追加します。これは正確で効率的な検出後処理に不可欠です。
batchint1エクスポートされたモデルのバッチ推論サイズ、あるいはpredictモードで同時に処理する画像の最大数を指定します。
devicestrNoneエクスポート用のデバイスを指定します。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モバイルドキュメントでは、モバイルデバイス上にモデルをデプロイするための包括的なガイドラインを提供しており、アプリケーションの効率と応答性を確保します。

  • サーバーサイドデプロイの習得: 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++環境、モバイルアプリケーション、さらにはWebブラウザ上でのモデルデプロイに最適です。TorchScriptにエクスポートすることで、多様なプラットフォーム間でのYOLO26モデルの効率的なパフォーマンスと幅広い適用性が可能になります。

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を使用することには、いくつかの利点があります。

  • ポータビリティ: エクスポートされたモデルは、C++アプリケーション、埋め込みシステム、モバイルデバイスなど、Pythonを必要としない環境で実行できます。
  • 最適化: 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: 低オーバーヘッドで高効率な本番環境に最適です。
  • Mobile Deployment: Run TorchScript models on-device with LibTorch (the PyTorch C++ runtime). For new mobile projects, PyTorch recommends ExecuTorch, a separate .pte export pipeline.
  • クラウドデプロイ: TorchServeなどのサービスを利用して、スケーラブルなサーバーサイドデプロイを実現します。

これらの環境でモデルをデプロイするための包括的なガイドラインを確認し、TorchScriptの機能を最大限に活用してください。

コメント