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は、PyTorchモデルをPythonをサポートしていない環境でも使用できるようにすることで、この移行をよりスムーズにするのに役立ちます。

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

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

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

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形式は、エクスポート予測検証モードをサポートしています。モデルをエクスポートした後、エクスポートされたモデルをロードして推論を実行したり、精度を検証したりできます。

エクスポート
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動的な入力サイズを許可し、さまざまな画像サイズを扱う際の柔軟性を高めます。
halfboolFalseFP16(半精度)量子化を有効にし、モデルサイズを縮小して、対応ハードウェアでの推論を高速化する可能性があります。
optimizeboolFalseモバイルデバイス向けの最適化を適用し、モデルサイズを縮小してパフォーマンスを向上させる可能性があります。
nmsboolFalseNMS (Non-Maximum Suppression) を追加します。これは、正確かつ効率的な検出後処理に不可欠です。
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 sectionFAQ#

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 sectionYOLO26モデルのデプロイにTorchScriptを使用すべきなのはなぜですか?#

YOLO26モデルのデプロイにTorchScriptを使用することには、いくつかの利点があります:

  • 移植性: エクスポートされたモデルは、C++アプリケーション、組み込みシステム、モバイルデバイスなど、Pythonを必要としない環境で実行できます。
  • 最適化: TorchScriptは静的グラフ実行とJust-In-Time(JIT)コンパイルをサポートしており、モデルのパフォーマンスを最適化できます。
  • クロス言語統合: TorchScriptモデルは他のプログラミング言語に統合できるため、柔軟性と拡張性が向上します。
  • シリアライズ: モデルをシリアライズすることで、プラットフォームに依存しないロードと推論が可能になります。

デプロイに関する詳細な洞察については、TorchServeドキュメントおよびC++デプロイガイドをご覧ください。オンデバイスのモバイルデプロイについては、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の機能を最大限に活用するために、これらの設定でモデルをデプロイするための包括的なガイドラインを確認してください。

コメント