YOLO26モデルをPaddlePaddle形式にエクスポートする方法#
さまざまな条件下にある実環境でコンピュータービジョンモデルを開発してデプロイするには、両者の隔たりを埋めることが難しい場合があります。PaddlePaddleは、柔軟性とパフォーマンスを重視し、分散環境での並列処理にも対応することで、このプロセスを容易にします。そのため、スマートフォンからクラウドベースのサーバーまで、幅広いデバイスやプラットフォームでYOLO26のコンピュータービジョンモデルを利用できます。
視聴: Ultralytics YOLOモデルをPaddlePaddle形式にエクスポートする方法|PaddlePaddle形式の主な機能
PaddlePaddleのモデル形式にエクスポートすると、Ultralytics YOLO26モデルをPaddlePaddleフレームワークで使えるように最適化できます。PaddlePaddleは産業分野へのデプロイを容易にすることで知られており、さまざまな領域の実環境でコンピュータービジョンアプリケーションをデプロイする際に適しています。
PaddlePaddleにエクスポートする理由は何ですか?#
Baiduが開発したPaddlePaddle(並列 分散 深層 学習)は、中国初のオープンソースディープラーニングプラットフォームです。主に研究向けに構築された一部のフレームワークとは異なり、PaddlePaddleは使いやすさと、さまざまな業界へのスムーズな統合を重視しています。
TensorFlowやPyTorchなどの一般的なフレームワークに似たツールやリソースを提供しており、あらゆる経験レベルの開発者が利用できます。農業や工場からサービス業まで、477万人を超えるPaddlePaddleの大規模な開発者コミュニティが、AIアプリケーションの開発とデプロイを支えています。
Ultralytics YOLO26モデルをPaddlePaddle形式にエクスポートすると、PaddlePaddleのパフォーマンス最適化機能を活用できます。PaddlePaddleはモデルの効率的な実行とメモリ使用量の削減を重視しているため、YOLO26モデルを実用的なシナリオで効率よく実行できます。
PaddlePaddleモデルの主な特長#
PaddlePaddleモデルには、さまざまなデプロイシナリオにおける柔軟性、パフォーマンス、スケーラビリティに貢献する、次のような重要な特長があります。
-
動的グラフから静的グラフへの変換: PaddlePaddleは動的グラフから静的グラフへのコンパイルに対応しており、モデルを静的な計算グラフに変換できます。これにより、ランタイムのオーバーヘッドを削減し、推論パフォーマンスを高める最適化が可能になります。
-
演算子融合: PaddlePaddleはTensorRTと同様に、計算を効率化してオーバーヘッドを削減するために演算子融合を使用します。互換性のある演算を統合してメモリ転送と計算ステップを減らすことで、推論を高速化します。
-
量子化: PaddlePaddleは、学習後の量子化や量子化を考慮した学習などの量子化手法に対応しています。これらの手法では、より低精度のデータ表現を使用してパフォーマンスを高め、モデルサイズを縮小します。
PaddlePaddleのデプロイオプション#
PaddlePaddleモデルは、複数の方法でデプロイできます。
PaddlePaddleにはさまざまなオプションがあり、それぞれ使いやすさ、柔軟性、パフォーマンスのバランスが異なります。
-
Paddle Serving: PaddlePaddleモデルを高性能なRESTful APIとしてデプロイするプロセスを簡素化するフレームワークです。モデルのバージョン管理、オンラインA/Bテスト、大量のリクエストに対応するスケーラビリティなどの機能を備えているため、本番環境に適しています。
-
Paddle Inference API: モデルの実行を低レベルで制御できるAPIです。モデルをカスタムアプリケーションに緊密に統合する必要がある場合や、特定のハードウェア向けにパフォーマンスを最適化する場合に適しています。
-
Paddle Lite: リソースが限られたモバイルデバイスや組み込みデバイスへのデプロイ向けに設計されています。ARM CPU、GPU、その他の専用ハードウェアでの推論を高速化し、モデルサイズを縮小します。
-
Paddle.js: Paddle.jsを使用すると、PaddlePaddleモデルをウェブブラウザー内に直接デプロイできます。事前学習済みモデルを読み込むことも、Paddle.jsが提供するモデル変換ツールを使用してpaddle-hubのモデルを変換することもできます。WebGL/WebGPU/WebAssemblyに対応したブラウザーで実行できます。
対応タスク#
PaddlePaddleへのエクスポートは、Ultralyticsの7つすべてのタスクに対応しています。セマンティックセグメンテーションと深度推定は、これらのヘッドを搭載した唯一のファミリーであるYOLO26のみで利用できます。
PaddlePaddleへのエクスポート: YOLO26モデルの変換#
YOLO26モデルをPaddlePaddle形式に変換すると、実行時の柔軟性を高め、さまざまなデプロイシナリオに合わせてパフォーマンスを最適化できます。
インストール#
必要なパッケージをインストールするには、次を実行します。
# Install the required package for YOLO26
pip install ultralyticsインストール手順の詳細とベストプラクティスについては、Ultralyticsのインストールガイドをご覧ください。YOLO26に必要なパッケージのインストールで問題が発生した場合は、解決策とヒントが記載されたよくある問題のガイドをご確認ください。
使用方法#
すべてのUltralytics YOLO26モデルはエクスポートに対応しています。デプロイのニーズに最適な形式を見つけるには、エクスポート形式とオプションの全リストをご覧ください。
PaddlePaddle形式は、Export、Predict、Validateモードに対応しています。モデルをエクスポートした後、エクスポート済みモデルを読み込んで推論を実行するか、精度を検証してください。
from ultralytics import YOLO
# YOLO26モデルを読み込みます
model = YOLO("yolo26n.pt")
# モデルをPaddlePaddle形式にエクスポートします
model.export(format="paddle") # creates 'yolo26n_paddle_model'from ultralytics import YOLO
# エクスポート済みのPaddlePaddleモデルを読み込みます
model = YOLO("./yolo26n_paddle_model")
# 推論を実行
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# エクスポート済みのPaddlePaddleモデルを読み込みます
model = YOLO("./yolo26n_paddle_model")
# COCO8データセットで精度を検証します
metrics = model.val(data="coco8.yaml")エクスポート引数#
| 引数 | 種類 | デフォルト | 説明 |
|---|---|---|---|
format | str | 'paddle' | エクスポートしたモデルのターゲットフォーマットです。さまざまなデプロイ環境との互換性を定義します。 |
imgsz | intまたはtuple | 640 | モデル入力の画像サイズです。正方形画像の場合は整数、特定のサイズの場合はタプル(height, width)を指定できます。 |
quantize | intまたはstr | None | FP32固定のエクスポートです。PaddlePaddleへのエクスポートでは、エクスポート時のFP16、INT8、W8A16への精度変換に対応していません。 |
batch | int | 1 | エクスポートモデルのバッチ推論サイズ、またはpredictモードでエクスポートモデルが同時に処理する画像の最大数を指定します。 |
device | str | None | エクスポートに使用するデバイスを指定します。CPU (device=cpu)、Appleシリコン向けMPS (device=mps)です。 |
エクスポートプロセスの詳細については、Ultralyticsのエクスポートに関するドキュメントページをご覧ください。
エクスポート済みYOLO26 PaddlePaddleモデルのデプロイ#
Ultralytics YOLO26モデルをPaddlePaddle形式に正常にエクスポートしたら、デプロイできるようになります。PaddlePaddleモデルを実行するための最初の手順として推奨されるのは、前述の使用例コードに示したYOLO("yolo26n_paddle_model/")メソッドを使用することです。
さまざまな環境でPaddlePaddleモデルをデプロイする詳しい手順については、次のリソースをご覧ください。
-
Paddle Serving: Paddle Servingを使用して、PaddlePaddleモデルを高性能なサービスとしてデプロイする方法を学びます。
-
Paddle Lite: Paddle Liteを使用して、モバイルデバイスや組み込みデバイス向けにモデルを最適化してデプロイする方法をご覧ください。
-
Paddle.js: Paddle.jsを使用して、クライアントサイドAI向けにウェブブラウザーでPaddlePaddleモデルを実行する方法をご確認ください。
概要#
このガイドでは、Ultralytics YOLO26モデルをPaddlePaddle形式にエクスポートする手順を説明しました。これらの手順に従うことで、さまざまなデプロイシナリオでPaddlePaddleの強みを活用し、異なるハードウェアおよびソフトウェア環境向けにモデルを最適化できます。
使用方法の詳細については、PaddlePaddle公式ドキュメントをご覧ください。
よくある質問#
Ultralytics YOLO26モデルをPaddlePaddle形式にエクスポートするのは簡単です。YOLOクラスの
exportメソッドを使用して変換できます。Pythonを使用する例を以下に示します。使用方法from ultralytics import YOLO # YOLO26モデルを読み込みます model = YOLO("yolo26n.pt") # モデルをPaddlePaddle形式にエクスポートします model.export(format="paddle") # creates 'yolo26n_paddle_model' # エクスポート済みのPaddlePaddleモデルを読み込みます paddle_model = YOLO("./yolo26n_paddle_model") # 推論を実行 results = paddle_model("https://ultralytics.com/images/bus.jpg")セットアップとトラブルシューティングの詳細については、Ultralyticsインストールガイドと一般的な問題のガイドをご確認ください。
PaddlePaddleには、モデルのデプロイに関して次のような重要なメリットがあります。
- パフォーマンス最適化: PaddlePaddleは、モデルの効率的な実行とメモリ使用量の削減を重視しています。
- 動的グラフから静的グラフへのコンパイル: 動的グラフから静的グラフへのコンパイルに対応しており、ランタイムの最適化が可能です。
- 演算子融合: 互換性のある演算を統合して、計算オーバーヘッドを削減します。
- 量子化手法: 学習後の量子化と量子化を考慮した学習の両方に対応しており、より低精度のデータ表現によってパフォーマンスを向上できます。
Ultralytics YOLO26モデルをPaddlePaddleにエクスポートすると、さまざまなアプリケーションやハードウェアプラットフォームで柔軟性と高いパフォーマンスを実現できます。
Baiduが開発したPaddlePaddleは、産業用および商用AIのデプロイ向けに最適化されています。大規模な開発者コミュニティと成熟したフレームワークを備え、TensorFlowやPyTorchと同様のツールを提供しています。YOLO26モデルをPaddlePaddleにエクスポートすると、次の利点が得られます。
- パフォーマンスの向上: 高速な実行とメモリフットプリントの削減を実現します。
- 柔軟性: スマートフォンからクラウドサーバーまで、さまざまなデバイスとの幅広い互換性。
- スケーラビリティ: 分散環境で効率的に並列処理できる機能。
これらの機能により、PaddlePaddleは本番環境でYOLO26モデルをデプロイする際の有力な選択肢となります。
PaddlePaddleは柔軟なデプロイオプションを提供しています。
- Paddle Serving: モデルをRESTful APIとしてデプロイします。モデルのバージョン管理やオンラインA/Bテストなどの機能を備えており、本番環境に適しています。
- Paddle Inference API: カスタムアプリケーション向けに、モデルの実行を低レベルで制御できます。
- Paddle Lite: モバイルデバイスや組み込みデバイスの限られたリソースに合わせてモデルを最適化します。
- Paddle.js: モデルをウェブブラウザー内に直接デプロイできます。
これらのオプションは、デバイス上での推論からスケーラブルなクラウドサービスまで、幅広いデプロイシナリオに対応します。デプロイ方法の詳細については、Ultralyticsのモデルデプロイオプションページをご覧ください。
コメント4
cadpm Dear team, your converter does not work with PaddleX as it does not generate the YAML file in the inference folder, making it impossible to deploy the converted model. PaddlePaddle cannot teach how to work with this file due to licensing conflicts.
n fact, nowhere in the PaddlePaddle or PaddleX repositories do they teach how to work with external or converted models.
Glenn JocherUltralytics @cadpm thank you for bringing this to our attention. While the Ultralytics export tool facilitates converting YOLO11 models to PaddlePaddle format, it currently doesn't generate a YAML file for PaddleX inference. For specific guidance on handling PaddlePaddle models in PaddleX, consulting their official documentation or community forums might provide additional insights. If you encounter issues with the export process itself, please refer to our Ultralytics documentation for troubleshooting tips.
cadpm Unfortunately, I haven't been able to find a solution on either side. For this reason, I have written to you to report this issue. If I ask in the Paddle forum, no one has worked on this issue, and the same happens on the YOLOv11 side—they don't work with Paddle.
Glenn JocherUltralytics @cadpm thank you for reporting this issue. While our export tool supports conversion to PaddlePaddle, integration with PaddleX requires additional steps beyond our current documentation. I recommend reaching out to the PaddlePaddle community for specific guidance on importing and using converted models with PaddleX, as they might have insights on handling this integration. If you need further assistance with the export process itself, feel free to check our PaddlePaddle export guide.
