コンテンツへスキップ

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

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

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

なぜPaddlePaddle 。

PaddlePaddle ロゴ

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

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

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



作成 2024-03-11 更新 2024-04-02
著者Burhan-Q(1),abirami-vina(2)

コメント