コンテンツへスキップ

YOLOv8 モデルからPaddlePaddle 形式にエクスポートする方法

PaddlePaddle 、柔軟性、パフォーマンス、分散環境での並列処理機能に重点を置くことで、このプロセスを容易にします。これは、スマートフォンからクラウドベースのサーバーまで、さまざまなデバイスやプラットフォームでYOLOv8 コンピュータビジョンモデルを使用できることを意味します。

PaddlePaddle モデル形式へのエクスポート機能により、 フレームワークで使用するためにモデルを最適化することができます。 Ultralytics YOLOv8モデルをPaddlePaddle フレームワークで使用するために最適化することができます。PaddlePaddle は、産業界への展開を容易にすることで知られており、さまざまなドメインにわたる実環境でコンピュータビジョンアプリケーションを展開するのに適した選択肢です。

なぜPaddlePaddle 。

PaddlePaddle ロゴ

バイドゥが開発、 PaddlePaddle(PArallel Distributed Deep LEarning)は、中国初のオープンソースのディープラーニング・プラットフォームである。主に研究用に構築されたいくつかのフレームワークとは異なり、PaddlePaddle 、使いやすさと業界を超えたスムーズな統合を優先している。

TensorFlow やPyTorch のような一般的なフレームワークと同様のツールやリソースを提供しており、あらゆる経験レベルの開発者が利用しやすい。農業や工場からサービス業まで、PaddlePaddle の477万人を超える大規模な開発者コミュニティは、AIアプリケーションの作成と展開を支援している。

エクスポートすることで、 Ultralytics YOLOv8 models を PaddlePaddle フォーマットでは、 PaddlePaddleのパフォーマンス最適化における強み。 PaddlePaddle 効率的なモデル実行とメモリ使用量の削減を優先します。その結果、 YOLOv8 モデルは、さらに優れたパフォーマンスを達成し、実際のシナリオで最高の結果を提供できる可能性があります。

PaddlePaddle モデルの主な特徴

PaddlePaddle モデルは、多様な展開シナリオに対応する柔軟性、パフォーマンス、スケーラビリティに貢献するさまざまな主要機能を備えている:

  • Dynamic-to-Static Graph:PaddlePaddle は、モデルを静的な計算グラフに変換できる、動的から静的へのコンパイルをサポートしている。これにより、実行時のオーバーヘッドを削減し、推論性能を向上させる最適化が可能になる。

  • 演算子融合:PaddlePaddle TensorRT と同様、演算子フュージョンを使って計算を効率化し、オーバーヘッドを削減する。このフレームワークは、互換性のある演算をマージすることで、メモリ転送と計算ステップを最小化し、推論を高速化する。

  • 量子化:PaddlePaddle は、トレーニング後の量子化や量子化を考慮したトレーニングなど、量子化テクニックをサポートしています。これらのテクニックは、より精度の低いデータ表現を使用することを可能にし、パフォーマンスを効果的に向上させ、モデルサイズを縮小します。

配備オプションPaddlePaddle

YOLOv8 モデルをPaddlePaddle にエクスポートするコードに入る前に、PaddlePaddle モデルが得意とするさまざまな展開シナリオを見てみましょう。

PaddlePaddle は、使いやすさ、柔軟性、性能のバランスがそれぞれ異なる、さまざまなオプションを提供している:

  • パドルサーヴィング:このフレームワークはPaddlePaddle 、高性能なRESTful APIとしてモデルのデプロイを簡素化する。Paddle Servingは本番環境に最適で、モデルのバージョン管理、オンラインA/Bテスト、大量のリクエストを処理するスケーラビリティなどの機能を提供します。

  • パドル推論APIPaddle Inference APIは、モデルの実行を低レベルで制御することができます。このオプションは、カスタムアプリケーション内にモデルを緊密に統合する必要がある場合や、特定のハードウェアに対してパフォーマンスを最適化する必要がある場合に適しています。

  • パドルライトPaddle Liteは、リソースが限られているモバイル機器や組み込み機器への展開のために設計されています。Paddle Liteは、ARM CPU、GPU、その他の特殊なハードウェア上で、モデルのサイズを小さくし、推論を高速化するために最適化されています。

  • Paddle.js:Paddle.jsはウェブブラウザ内で直接PaddlePaddle 。Paddle.jsは事前にトレーニングされたモデルを読み込むことも、Paddle.jsが提供するモデル変換ツールを使ってpaddle-hubからモデルを変換することもできます。WebGL/WebGPU/WebAssemblyをサポートするブラウザで実行できます。

PaddlePaddle へのエクスポート :YOLOv8 モデルの変換

YOLOv8 モデルをPaddlePaddle フォーマットに変換することで、実行の柔軟性を向上させ、さまざまな展開シナリオに対してパフォーマンスを最適化することができます。

インストール

必要なパッケージをインストールするには、以下を実行する:

インストール

# Install the required package for YOLOv8
pip install ultralytics

インストールプロセスに関する詳細な説明とベストプラクティスについては、Ultralytics インストールガイドをご覧ください。YOLOv8 に必要なパッケージをインストールする際に、何らかの問題が発生した場合は、解決策やヒントについて、よくある問題ガイドを参照してください。

使用方法

使い方の説明に入る前に、Ultralytics YOLOv8 の全モデルでエクスポートが可能ですが、 ここで選択したモデルがエクスポート機能をサポートしているかどうかを確認することができます。

使用方法

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolov8n_paddle_model' source='https://ultralytics.com/images/bus.jpg'

サポートされているエクスポートオプションの詳細については、Ultralytics 配置オプションのドキュメントページを参照してください。

エクスポートされたYOLOv8 PaddlePaddle モデルの展開

Ultralytics YOLOv8 モデルのPaddlePaddle 形式へのエクスポートに成功したら、それらをデプロイすることができます。PaddlePaddle モデルを実行するための最初のステップとして推奨されるのは、YOLO("./model_paddle_model") メソッドを使用することです。

しかし、PaddlePaddle のモデルを他の様々な環境で展開するための詳細な手順については、以下のリソースをご覧ください:

  • パドルサーブ:Paddle Servingを使って、PaddlePaddle のモデルをパフォーマントなサービスとしてデプロイする方法を学びましょう。

  • パドルライト:Paddle Liteを使用して、モバイルおよび組み込みデバイス上でモデルを最適化し、展開する方法を探ります。

  • パドル:Paddle.jsを使って、クライアントサイドのAIのためにウェブブラウザでPaddlePaddle 。

概要

このガイドでは、Ultralytics YOLOv8 のモデルをPaddlePaddle フォーマットにエクスポートするプロセスについて説明しました。これらのステップに従うことで、PaddlePaddle の強みをさまざまな展開シナリオで活用し、モデルをさまざまなハードウェアやソフトウェア環境に最適化することができます。

使い方の詳細については、PaddlePaddle 公式ドキュメントをご覧ください。

Ultralytics YOLOv8 モデルを統合する方法をもっと検討したいですか?私たちの統合ガイドページでは、様々なオプションを検討し、貴重なリソースと洞察を提供します。

よくあるご質問

Ultralytics YOLOv8 のモデルをPaddlePaddle フォーマットにエクスポートするには?

Ultralytics YOLOv8 モデルをPaddlePaddle フォーマットにエクスポートするのは簡単です。エクスポートするには export YOLO メソッドを使ってエクスポートします。以下はPython を使った例です:

使用方法

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolov8n_paddle_model' source='https://ultralytics.com/images/bus.jpg'

より詳細なセットアップとトラブルシューティングについては、Ultralytics インストールガイドと 共通の問題ガイドを参照してください。

モデルのデプロイにPaddlePaddle を使用する利点は何ですか?

PaddlePaddle には、モデル展開においていくつかの重要な利点がある:

  • パフォーマンスの最適化:PaddlePaddle は、効率的なモデル実行とメモリ使用量の削減に優れています。
  • ダイナミックからスタティックへのグラフ・コンパイル:動的から静的へのコンパイルをサポートし、実行時の最適化を可能にする。
  • 演算子の融合:互換性のある演算を融合することで、計算オーバーヘッドを削減する。
  • 量子化テクニック:ポストトレーニングおよび量子化を考慮したトレーニングの両方をサポートし、より精度の低いデータ表現を可能にすることで、パフォーマンスを向上。

Ultralytics YOLOv8 のモデルをPaddlePaddle にエクスポートすることで、様々なアプリケーションやハードウェアプラットフォームで柔軟性と高いパフォーマンスを確保し、より優れた結果を得ることができます。PaddlePaddle の機能については、こちらをご覧ください。

YOLOv8 モデルの展開にPaddlePaddle を選ぶ理由は?

PaddlePaddleバイドゥによって開発されたこのAIは、産業用および商業用のAI導入に最適化されている。その大規模な開発者コミュニティと堅牢なフレームワークは、TensorFlow やPyTorch と同様の広範なツールを提供する。YOLOv8 のモデルをPaddlePaddle にエクスポートすることで、これを活用することができる:

  • パフォーマンスの向上:最適な実行速度とメモリフットプリントの削減。
  • 柔軟性:スマートフォンからクラウドサーバーまで、様々なデバイスに幅広く対応。
  • スケーラビリティ:分散環境における効率的な並列処理機能

これらの機能により、PaddlePaddle は、YOLOv8 モデルを本番環境で展開するための魅力的な選択肢となっている。

PaddlePaddle 、他のフレームワークと比較してモデルのパフォーマンスはどのように向上するのか?

PaddlePaddle モデルの性能を最適化するために、いくつかの高度な技術を採用している:

  • 動的グラフから静的グラフへ:実行時の最適化のために、モデルを静的な計算グラフに変換します。
  • 演算子の融合:互換性のある演算を組み合わせることで、メモリ転送を最小限に抑え、推論速度を向上させる。
  • 量子化:精度を維持しながら、モデルサイズを縮小し、低精度データを使用して効率を向上させます。

これらのテクニックは効率的なモデル実行を優先するため、PaddlePaddle はハイパフォーマンスなYOLOv8 モデルを展開するための優れたオプションとなっている。最適化の詳細については、PaddlePaddle 公式ドキュメントを参照してください。

PaddlePaddle 、YOLOv8 モデルにはどのような展開オプションがありますか?

PaddlePaddle は柔軟な展開オプションを提供する:

  • パドルサーブ:モデルをRESTful APIとしてデプロイし、モデルのバージョニングやオンラインA/Bテストなどの機能を備えたプロダクションに理想的なサービスです。
  • パドル推論API:カスタムアプリケーションのモデル実行を低レベルで制御。
  • パドルライト:モバイル機器や組み込み機器の限られたリソースにモデルを最適化します。
  • Paddle.js:ウェブブラウザ内でモデルを直接デプロイできる。

これらのオプションは、デバイス上での推論からスケーラブルなクラウドサービスまで、幅広い展開シナリオをカバーしています。Ultralytics Model Deployment Options のページで、より多くのデプロイメント戦略をご覧ください。



作成日:2024-03-11 更新日:2024-07-05
作成者:glenn-jocher(5),Burhan-Q(1),abirami-vina(2)

コメント