Ultralytics YOLO27:

YOLO26モデルをPaddlePaddle形式にエクスポートする方法#

さまざまな条件下にある実環境でコンピュータービジョンモデルを開発してデプロイするには、両者の隔たりを埋めることが難しい場合があります。PaddlePaddleは、柔軟性とパフォーマンスを重視し、分散環境での並列処理にも対応することで、このプロセスを容易にします。そのため、スマートフォンからクラウドベースのサーバーまで、幅広いデバイスやプラットフォームでYOLO26のコンピュータービジョンモデルを利用できます。



視聴: Ultralytics YOLO26モデルをPaddlePaddle形式にエクスポートする方法 | PaddlePaddle形式の主な機能

PaddlePaddleモデル形式にエクスポートすることで、Ultralytics YOLO26モデルをPaddlePaddleフレームワークで使用できるように最適化できます。PaddlePaddleは産業分野でのデプロイを支援することで知られており、さまざまな分野の実環境でコンピュータービジョンアプリケーションをデプロイするのに適しています。

PaddlePaddleにエクスポートする理由は何ですか?#

PaddlePaddle deep learning framework logo

Baiduが開発したPaddlePaddle(並列 分散 深層 学習)は、中国初のオープンソースディープラーニングプラットフォームです。主に研究向けに構築された一部のフレームワークとは異なり、PaddlePaddleは使いやすさと、さまざまな業界へのスムーズな統合を重視しています。

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

Ultralytics YOLO26モデルをPaddlePaddle形式にエクスポートすると、パフォーマンス最適化におけるPaddlePaddleの強みを活用できます。PaddlePaddleは、効率的なモデル実行とメモリ使用量の削減を重視しています。その結果、YOLO26モデルはさらに優れたパフォーマンスを発揮し、実用的なシナリオで高品質な結果を実現できる可能性があります。

PaddlePaddleモデルの主な特長#

PaddlePaddleモデルには、さまざまなデプロイシナリオにおける柔軟性、パフォーマンス、スケーラビリティに貢献する、次のような重要な特長があります。

  • 動的グラフから静的グラフへの変換: PaddlePaddleは動的グラフから静的グラフへのコンパイルに対応しており、モデルを静的な計算グラフに変換できます。これにより、ランタイムのオーバーヘッドを削減し、推論パフォーマンスを高める最適化が可能になります。

  • 演算子融合: PaddlePaddleはTensorRTと同様に、計算を効率化してオーバーヘッドを削減するために演算子融合を使用します。互換性のある演算を統合してメモリ転送と計算ステップを減らすことで、推論を高速化します。

  • 量子化: PaddlePaddleは、学習後量子化や量子化対応学習などの量子化手法に対応しています。これらの手法では、より低精度のデータ表現を使用できるため、パフォーマンスを高めながらモデルサイズを削減できます。

PaddlePaddleのデプロイオプション#

YOLO26モデルを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のみで利用できます。

タスクYOLOv8YOLO11YOLO26
検出✅✅✅
セグメンテーション✅✅✅
セマンティック❌❌✅
深度❌❌✅
分類✅✅✅
姿勢推定✅✅✅
OBB✅✅✅

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")

エクスポート引数#

引数種類デフォルト説明
formatstr'paddle'エクスポートしたモデルのターゲットフォーマットです。さまざまなデプロイ環境との互換性を定義します。
imgszintまたはtuple640モデル入力の画像サイズです。正方形画像の場合は整数、特定のサイズの場合はタプル(height, width)を指定できます。
quantizeintまたはstrNoneFP32固定のエクスポートです。PaddlePaddleへのエクスポートでは、エクスポート時のFP16、INT8、W8A16への精度変換に対応していません。
batchint1エクスポートモデルのバッチ推論サイズ、またはpredictモードでエクスポートモデルが同時に処理する画像の最大数を指定します。
devicestrNoneエクスポートに使用するデバイスを指定します。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モデルを統合する方法をさらに知りたい方は、統合ガイドページでさまざまなオプションを紹介しています。役立つリソースや知見を活用できます。

よくある質問#

  • 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にエクスポートすると、さまざまなアプリケーションやハードウェアプラットフォームで柔軟性と高いパフォーマンスを確保しながら、より優れた結果を得られます。PaddlePaddleの主な特長と機能については、PaddlePaddle公式ドキュメントをご覧ください。

  • Baiduが開発したPaddlePaddleは、産業・商業分野におけるAIのデプロイ向けに最適化されています。大規模な開発者コミュニティと堅牢なフレームワークにより、TensorFlowやPyTorchに似た幅広いツールを利用できます。YOLO26モデルをPaddlePaddleにエクスポートすることで、次の特長を活用できます。

    • パフォーマンスの向上: 最適な実行速度とメモリ使用量の削減。
    • 柔軟性: スマートフォンからクラウドサーバーまで、さまざまなデバイスとの幅広い互換性。
    • スケーラビリティ: 分散環境で効率的に並列処理できる機能。

    こうした特長により、本番環境でYOLO26モデルをデプロイする際にPaddlePaddleが有力な選択肢となります。

  • PaddlePaddleは、モデルのパフォーマンスを最適化するために、次のような高度な手法を採用しています。

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

    これらの手法は効率的なモデル実行を重視しており、高性能なYOLO26モデルをデプロイするうえでPaddlePaddleは優れた選択肢です。最適化の詳細については、PaddlePaddle公式ドキュメントをご覧ください。

  • PaddlePaddleは柔軟なデプロイオプションを提供しています。

    • Paddle Serving: モデルをRESTful APIとしてデプロイできます。モデルのバージョン管理やオンラインA/Bテストなどの機能を備えており、本番環境に適しています。
    • Paddle Inference API: カスタムアプリケーション向けに、モデルの実行を低レベルで制御できます。
    • Paddle Lite: モバイルデバイスや組み込みデバイスの限られたリソースに合わせてモデルを最適化します。
    • Paddle.js: モデルをウェブブラウザー内に直接デプロイできます。

    これらのオプションは、デバイス上での推論からスケーラブルなクラウドサービスまで、幅広いデプロイシナリオに対応します。デプロイ方法の詳細については、Ultralyticsのモデルデプロイオプションページをご覧ください。

コメント