コンテンツぞスキップ

YOLO11 迅速な展開のためのTorchScript ぞのモデル゚クスポヌト

組み蟌みシステム、りェブブラりザ、Python のサポヌトが限定されたプラットフォヌムなど、さたざたな環境にコンピュヌタビゞョンモデルを展開するには、柔軟で移怍性の高い゜リュヌションが必芁です。TorchScript は、移怍性ず、Python フレヌムワヌク党䜓が利甚できない環境でもモデルを実行できる機胜に重点を眮いおいたす。このため、さたざたなデバむスやプラットフォヌムにコンピュヌタ・ビゞョン機胜を展開する必芁があるシナリオに最適です。

Torchscript に゚クスポヌトしおシリアラむズ Ultralytics YOLO11このガむドでは、 のモデルを 圢匏に゚クスポヌトする方法を玹介したす。このガむドでは、YOLO11 のモデルをTorchScript フォヌマットに゚クスポヌトし、より幅広いアプリケヌションで䜿甚できるようにする方法を玹介したす。

なぜTorchScript 。

Torchscript 抂芁

PyTorch のクリ゚ヌタヌによっお開発されたTorchScript は、PyTorch のモデルをさたざたなプラットフォヌムで最適化し、展開するための匷力なツヌルです。YOLO11 モデルを TorchScriptに゚クスポヌトするこずは、研究から実䞖界のアプリケヌションに移行するために非垞に重芁です。TorchScript PyTorch フレヌムワヌクの䞀郚であるPyTorch は、Python をサポヌトしおいない環境でも モデルを䜿甚できるようにするこずで、この移行をスムヌズにしたす。

このプロセスには、トレヌスずスクリプティングずいう2぀の技法がある。トレヌスはモデル実行䞭のオペレヌションを蚘録し、スクリプトはPython のサブセットを䜿ったモデルの定矩を可胜にする。これらのテクニックは、YOLO11 のようなモデルが、通垞のPython 環境の倖でも魔法を䜿えるこずを保蚌する。

TorchScript スクリプトずトレヌス

TorchScript たた、挔算子融合やメモリ䜿甚量の改良などの技術によっおモデルを最適化し、効率的な実行を保蚌するこずもできたす。TorchScript に゚クスポヌトするもう䞀぀の利点は、様々なハヌドりェアプラットフォヌムでモデルの実行を高速化できる可胜性があるこずです。これは、C++環境、組み蟌みシステム、たたはりェブやモバむルアプリケヌションに統合できる、PyTorch モデルのスタンドアロンで量産可胜な衚珟を䜜成したす。

TorchScript モデルの䞻な特城

TorchScript PyTorch 、゚コシステムの重芁な郚分であり、ディヌプラヌニングモデルの最適化ず展開のための匷力な機胜を提䟛したす。

TorchScript 特城

ここでは、TorchScript を開発者にずっお䟡倀あるツヌルにしおいる䞻な機胜を玹介する

  • 静的グラフ実行TorchScript は、モデルの蚈算を静的グラフで衚珟しおおり、PyTorch の動的グラフ実行ずは異なる。静的グラフ実行では、蚈算グラフは実際の実行の前に䞀床定矩され、コンパむルされる。

  • モデルのシリアラむズ:TorchScript では、PyTorch のモデルをプラットフォヌムに䟝存しない圢匏にシリアラむズするこずができたす。シリアラむズされたモデルは、元のPython 。

  • JITコンパむル:TorchScript は、PyTorch のモデルを最適化された䞭間衚珟に倉換するために、ゞャスト・むン・タむムJITコンパむルを䜿甚したす。JITはモデルの蚈算グラフをコンパむルし、タヌゲット・デバむス䞊での効率的な実行を可胜にする。

  • 蚀語間の統合TorchScript を䜿えば、PyTorch のモデルを、C++、Java、JavaScript などの他の蚀語に゚クスポヌトするこずができる。これにより、PyTorch のモデルを、異なる蚀語で曞かれた既存の゜フトりェア・システムに統合するこずが容易になりたす。

  • 段階的な倉換TorchScript は段階的な倉換アプロヌチを提䟛し、PyTorch モデルの䞀郚を段階的にTorchScript に倉換するこずができたす。この柔軟性は、耇雑なモデルを扱う堎合や、コヌドの特定の郚分を最適化したい堎合に特に圹立ちたす。

配備オプションTorchScript

YOLO11 モデルをTorchScript フォヌマットに゚クスポヌトするコヌドを芋る前に、TorchScript モデルが通垞どこで䜿われるのかを理解しよう。

TorchScript は、機械孊習モデルのさたざたな導入オプションを提䟛しおいる

  • C++ APITorchScript の最も䞀般的な䜿甚䟋は、その C++ API である。この API を䜿甚するず、最適化されたTorchScript モデルを C++ アプリケヌション内で盎接ロヌドしお実行するこずができる。これは、Python が適しおいなかったり、利甚できなかったりする本番環境に最適です。C++ APIは、TorchScript モデルの䜎オヌバヌヘッドか぀効率的な実行を提䟛し、朜圚的なパフォヌマンスを最倧限に匕き出したす。

  • モバむル・デプロむメントTorchScript は、モデルをモバむル・デバむスに容易にデプロむ可胜な圢匏に倉換するためのツヌルを提䟛する。PyTorch モバむルは、iOS およびAndroid アプリ内でこれらのモデルを実行するためのランタむムを提䟛する。これにより、䜎レむテンシヌのオフラむン掚論機胜が実珟し、ナヌザヌ゚クスペリ゚ンスずデヌタプラむバシヌが向䞊する。

  • クラりドデプロむメント:TorchScript のモデルは、TorchServeのような゜リュヌションを䜿っおクラりドベヌスのサヌバヌにデプロむできる。TorchServeは、モデルのバヌゞョン管理、バッチ凊理、本番環境でのスケヌラブルなデプロむのためのメトリクス監芖などの機胜を提䟛したす。TorchScript を䜿ったクラりドデプロむメントにより、APIやその他のりェブサヌビス経由でモデルにアクセスできるようになりたす。

TorchScript ぞの゚クスポヌト YOLO11 モデルの倉換

YOLO11 モデルをTorchScript に゚クスポヌトするこずで、さたざたな堎所での䜿甚が容易になり、より高速か぀効率的に実行できるようになりたす。これは、ディヌプラヌニング・モデルを実䞖界のアプリケヌションでより効果的に䜿いたい人にずっお玠晎らしいこずだ。

むンストヌル

必芁なパッケヌゞをむンストヌルするには、以䞋を実行する

むンストヌル

# Install the required package for YOLO11
pip install ultralytics

むンストヌルプロセスに関する詳现な説明ずベストプラクティスに぀いおは、Ultralytics むンストヌルガむドをご芧ください。YOLO11 に必芁なパッケヌゞをむンストヌルする際に、䜕らかの問題が発生した堎合は、解決策やヒントに぀いお、よくある問題ガむドを参照しおください。

䜿甚方法

䜿い方の説明に入る前に、Ultralytics YOLO11 の党モデルが゚クスポヌトに察応しおいるこずを確認しおおきたしょう 。

䜿甚方法

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'

゚クスポヌトプロセスの詳现に぀いおは、Ultralytics ドキュメントの゚クスポヌトに関するペヌゞをご芧ください。

゚クスポヌトされたYOLO11 TorchScript モデルの展開

Ultralytics YOLO11 モデルをTorchScript フォヌマットに゚クスポヌトするこずに成功したら、それらをデプロむするこずができたす。TorchScript モデルを実行するための最初のステップずしお掚奚されるのは、YOLO("model.torchscript") メ゜ッドを利甚するこずです。しかし、その他の様々な蚭定におけるTorchScript モデルのデプロむに関する詳现な説明に぀いおは、以䞋のリ゜ヌスをご芧ください

  • モバむル配備を探る:モバむル展開 PyTorchモバむルドキュメントは、モバむルデバむスにモデルを展開するための包括的なガむドラむンを提䟛し、アプリケヌションの効率性ず応答性を保蚌したす。

  • マスタヌサヌバヌ偎の展開:スケヌラブルで効率的なモデル配信のためのステップバむステップのチュヌトリアルを提䟛したす。

  • C++の導入:C++ でのTorchScript モデルのロヌドに関するチュヌトリアルをご芧ください。C++ アプリケヌションぞのTorchScript モデルの統合が容易になり、パフォヌマンスず汎甚性が向䞊したす。

抂芁

このガむドでは、Ultralytics YOLO11 モデルをTorchScript フォヌマットに゚クスポヌトするプロセスに぀いお説明したす。提䟛された指瀺に埓うこずで、YOLO11 モデルのパフォヌマンスを最適化し、さたざたなプラットフォヌムや環境に展開する柔軟性を埗るこずができたす。

䜿い方の詳现に぀いおは、TorchScript の公匏ドキュメントをご芧ください。

たた、その他のUltralytics YOLO11 の統合に぀いお詳しくお知りになりたい堎合は、統合ガむドのペヌゞをご芧ください。有甚なリ゜ヌスや芋識がたくさん芋぀かりたす。

よくあるご質問

Ultralytics YOLO11 モデルからTorchScript ぞの゚クスポヌトずは

Ultralytics YOLO11 モデルをTorchScript に゚クスポヌトするこずで、柔軟なクロスプラットフォヌム展開が可胜になる。TorchScriptたた、PyTorch ゚コシステムの䞀郚であるC++は、モデルのシリアラむズを容易にし、Python のサポヌトがない環境でも実行できるようにしたす。このため、組み蟌みシステム、C++環境、モバむル・アプリケヌション、さらにはりェブ・ブラりザでのモデルのデプロむに最適です。TorchScript に゚クスポヌトするこずで、効率的なパフォヌマンスず、様々なプラットフォヌムにおけるYOLO11 モデルの幅広い適甚が可胜になりたす。

Ultralytics を䜿っお、YOLO11 のモデルをTorchScript に゚クスポヌトするには

YOLO11 モデルをTorchScript に゚クスポヌトするには、以䞋のコヌド䟋を䜿甚したす

䜿甚方法

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'

゚クスポヌト凊理の詳现に぀いおは、Ultralytics の゚クスポヌトに関するドキュメントを参照しおください。

YOLO11 モデルのデプロむにTorchScript を䜿うべき理由は

YOLO11 モデルの展開にTorchScript を䜿甚するず、いく぀かの利点がある

  • 移怍性゚クスポヌトされたモデルは、C++アプリケヌション、組み蟌みシステム、モバむル機噚など、Python を必芁ずしない環境で実行できたす。
  • 最適化:TorchScript は、静的グラフ実行ずJITJust-In-Timeコンパむルをサポヌトしおおり、モデルのパフォヌマンスを最適化するこずができたす。
  • 蚀語間の統合:TorchScript のモデルは他のプログラミング蚀語に統合するこずができ、柔軟性ず拡匵性を高めたす。
  • シリアラむズモデルをシリアラむズするこずで、プラットフォヌムに䟝存しないロヌドず掚論が可胜になる。

配備に関する詳现に぀いおは、PyTorch Mobile Documentation、TorchServe Documentation、C++ Deployment Guideをご芧ください。

YOLO11 のモデルをTorchScript に゚クスポヌトするためのむンストヌル手順を教えおください。

YOLO11 モデルの゚クスポヌトに必芁なパッケヌゞをむンストヌルするには、以䞋のコマンドを䜿甚したす

むンストヌル

# Install the required package for YOLO11
pip install ultralytics

詳しい手順に぀いおは、Ultralytics むンストヌルガむドをご芧ください。むンストヌル䞭に問題が発生した堎合は、「よくある問題」ガむドを参照しおください。

゚クスポヌトしたTorchScript YOLO11 のモデルはどのように配眮するのですか

YOLO11 モデルをTorchScript フォヌマットに゚クスポヌトした埌、様々なプラットフォヌムに展開するこずができたす

  • C++ API䜎オヌバヌヘッドで高効率な生産環境に最適。
  • モバむル展開iOS およびAndroid アプリケヌションにはPyTorch Mobileを䜿甚する。
  • クラりド展開スケヌラブルなサヌバヌサむドデプロむメントにTorchServeのようなサヌビスを掻甚する。

TorchScript の機胜をフルに掻甚するために、これらの環境でモデルを展開するための包括的なガむドラむンを探る。

📅䜜成8ヶ月前 ✏曎新したした 1ヶ月前

コメント