グリーンチェック
クリップボードにコピーされたリンク

PaddlePaddle 統合を使用したUltralytics YOLO11 エクスポート

Ultralytics YOLO YOLO11 ようなUltralytics YOLO モデルをPaddlePaddle エクスポートし、エッジ、モバイル、クラウドプラットフォームに効率的に展開する方法をご紹介します。

人工知能(AI)の進歩に伴い、機械は周囲の世界を理解する能力が向上している。この進歩を促進する重要な分野のひとつが、視覚データを基に機械が解釈し、意思決定を行うことを可能にするAIの一分野であるコンピューター・ビジョンである。

自動車が交通標識を認識するのを助けることから、小売店の棚をチェックすることまで、コンピューター・ビジョンは今や多くの日常ツールの一部となっている。これらのタスクは、写真やビデオを素早くスキャンして何が重要かを特定できるビジョンAIモデルに依存している。

時間の経過とともに、これらのモデルはより速く、より正確になり、農業、医療、セキュリティ、小売などの分野で有用になっている。例えば Ultralytics YOLO11は、さまざまなコンピュータ・ビジョン・タスクを迅速かつ正確に処理するために構築されたモデルである。物体の検出と分類、動きの追跡、体のポーズの推定が可能です。

コンピュータ・ビジョンを研究から実世界のアプリケーションに移行させるために不可欠なのは、デプロイメントである。モデルの学習が完了したら、次のステップは携帯電話、エッジハードウェア、クラウドサーバーなどのデバイス上で実行することだ。 

図1.コンピュータ・ビジョンのプロジェクトでは、モデルの展開が重要な役割を果たします。

これをサポートするために、YOLO11 ようなUltralytics YOLO モデルは、ターゲットプラットフォームに応じて様々なフォーマットにエクスポートすることができます。これらのフォーマットの1つはPaddlePaddle、オープンソースのAIフレームワークであり、幅広いデバイスやシステムで効率的なモデルの展開と推論を可能にします。

この記事では、Ultralytics サポートするPaddlePaddle 統合を通じて、Ultralytics YOLO11 どのようにエクスポートし、様々なプラットフォームへの効率的な展開を可能にするかを探ります。

PaddlePaddle? 

モバイル・デバイスやエッジ・ハードウェアのような研究環境以外でのAIモデルの導入は、特に効率的かつ最小限のリソースで実行する必要がある場合、時として厄介なことがある。PaddlePaddle 、まさにそれを支援するために設計された深層学習フレームワークです。

これは中国のオープンソースプラットフォームで、その名前はParallel Distributed Deep Learningの略である。AIとソフトウェア・インフラストラクチャーで知られる百度(バイドゥ)によって開発されたPaddlePaddle 、研究だけでなく実際のアプリケーションのために特別に作られた。

開発者はPaddlePaddle 形式のモデルをサーバー、エッジデバイス、さらにはモバイルハードウェア上で実行することができる。また、ローコードやノーコードのオプションなど、AI開発を簡素化するツールもサポートしている。このプラットフォームは、470万人以上のユーザーからなる強力な開発者コミュニティを持ち、ヘルスケア、農業、製造、金融など、さまざまな業界で利用されている。

PaddlePaddle主な特徴

ここでは、PaddlePaddle 実世界のデバイス上でより効率的にモデルを実行するための主な機能のいくつかを紹介する:

  • 動的グラフから静的グラフへの変換: この機能は、柔軟なモデルを、よりスムーズで予測可能な固定バージョンに変えます。固定モデルは最適化が容易で、予測を行う際にも高速です。
  • オペレーターの融合: PaddlePaddle モデル内の複数のステップを1つにまとめることができます。これにより、モデルのメモリ使用量を減らし、より高速に動作させることができます。時間を節約するために複数のタスクを1つのアクションにまとめるようなものだと考えてください。
  • 量子化: これは、より単純な数値(小数点以下の四捨五入など)を使用することでモデルを小さくします。これにより、携帯電話やスマートカメラのようなパワーが限られたデバイスでも、精度をあまり落とさずにモデルを実行できるようになります。
図2.PaddlePaddle使う利点。画像は筆者による

PaddlePaddle使ったYOLO11 展開の概要

Ultralytics サポートするPaddlePaddle 統合により、トレーニングからデプロイメントへの移行が容易になります。すでにPaddlePaddle ツールを使用している開発者は、YOLO11 より簡単にワークフローに取り入れることができます。

Ultralytics Python パッケージは、YOLO11 モデルのPaddlePaddle フォーマットへの直接エクスポートをサポートしているため、開発者は余分なツールや手作業による変換ステップなしに、学習済みモデルを展開することができます。 

エクスポート処理は、コマンドラインまたはPython コードを使用して行うことができるため、開発者はワークフローに最も適した方法を選択することができます。これにより、物事をシンプルに保つことができ、セットアップの問題が発生する可能性も低くなります。一度エクスポートされたモデルは、物体検出、画像分類、ポーズ推定、インスタンス分割などのコンピュータビジョンタスクに使用することができます。

デバイスのメモリが限られていたり、高速処理が必要な配備シナリオに最適なオプションです。エクスポートされたモデルは、リソースに制約のあるシステムでも効率的に実行できるように最適化されています。 

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

YOLO11 PaddlePaddle モデルフォーマットにエクスポートするには、ほんの数ステップしか必要ない。

最初のステップは、'pip'のようなパッケージマネージャを使用してUltralytics Python パッケージをインストールすることです。これは、コマンドプロンプトまたはターミナルで "pip installultralytics"コマンドを実行することで開始できます。

Ultralytics パッケージは、様々なコンピュータビジョンタスクのためのモデルのトレーニング、評価、微調整、エクスポート、およびデプロイのためのツールを提供します。インストール中に問題が発生した場合は、「よくある問題」ガイドでトラブルシューティングのヒントを確認してください。

環境がセットアップされたら、下図のような "yolo11n.pt "のような事前にトレーニングされたYOLO11 モデルをロードし、エクスポートすることができます。また、自分でカスタムトレーニングしたYOLO11 モデルをエクスポートすることもできます。

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="paddle")

モデルがPaddlePaddle フォーマットに変換された後、様々なタイプのハードウェア上で様々なシナリオに展開することができます。

例えば、以下の例では、PaddlePaddle 形式にエクスポートされたYOLO11 モデルをロードし、それを使って予測を行っています。推論の実行として知られるこのプロセスは、単に新しいデータを分析するためにモデルを使用することを意味します。ここでは、2匹の犬の画像を使ってテストしています。

paddle_model = YOLO("./yolo11n_paddle_model")

results = paddle_model("https://www.pexels.com/photo/2-vizsla-dogs-standing-on-brown-wood-plank-33287/")

コード実行後、モデルの予測値を含む出力画像は自動的に "runs/detect/predict "フォルダに保存される。

図3.エクスポートされたYOLO11 モデルを使って画像内の物体を検出する。画像は著者によるものです。

PaddlePaddle フレームワークを使ったYOLO11 デプロイ

PaddlePaddle いくつかのデプロイツールを提供しており、それぞれが異なるデバイスやクラウド環境、組み込みシステム、ウェブアプリケーションなどのユースケースに適している。ここでは主なデプロイメントオプションの一部を紹介する:

  • パドルサーブ: モデルをREST APIとしてデプロイできるため、バージョン管理やオンラインテストなどの機能を必要とするクラウドやサーバー環境に適している。
  • パドル推論API:モデルの実行方法をよりコントロールできるようになり、パフォーマンスの微調整やカスタム・アプリケーション・ロジックの構築が必要な場合に役立つ。
  • Paddle Lite:モバイルデバイス、タブレット、組込みシステム上での軽量なデプロイメント用に設計されています。
    ‍リソースが限られたハードウェア上で、より小さなモデルとより高速な推論のために最適化されている。
  • Paddle.js: WebGLやWebAssemblyのようなテクノロジーを使って、ウェブブラウザ上でAIモデルを動かすことができる。
図4.PaddlePaddle可能にする展開オプション。画像は著者による

あなたのセットアップに適したツールを選んだら、エクスポートしたモデルをロードします。PaddlePaddle エンジンが次のステップを行います。モデルをロードし、入力画像を処理し、結果を返します。

どのような場合にPaddlePaddle 統合を選ぶべきでしょうか?

Ultralytics Python パッケージは他にも様々なエクスポートフォーマットをサポートしています:どのような場合にPaddlePaddle 選択するのが正しいのでしょうか?

PaddlePaddle 、スマートフォン、組み込みシステム、エッジハードウェアなど、リソースが限られたデバイスにモデルを展開する場合に信頼できるオプションです。また、モバイルアプリでの物体検出、スマートカメラでのビジョンベースのモニタリング、クラウドサポートなしでデバイス上で直接実行される姿勢推定など、高速で効率的なパフォーマンスを必要とするリアルタイムアプリケーションにも最適です。

プロジェクトがオフラインまたは低接続環境で実行される必要がある場合は、PaddlePaddle 統合の使用を検討できます。製造業における目視検査ツール、現場調査用のハンドヘルドデバイス、またはAI対応リテールスキャナのようなアプリケーションは、PaddlePaddle軽量ランタイムと柔軟な導入オプションの恩恵を受けることができます。 

PaddlePaddle 制限

PaddlePaddle 興味深い展開能力を提供するが、注意すべき制約要因もある:

  • グローバルコミュニティが小さい:中国以外では、ユーザーやコントリビューターの数は比較的少ない。そのため、コミュニティのサポートや解決済みのGitHubの問題、Stack Overflowの回答を見つけるのが難しくなります。
  • Baidu以外のツールは学習曲線が速い:PaddlePaddle Baiduのエコシステムとスムーズに統合されるが、そのコンテキスト外で使用する場合は、余分な設定やセットアップの手順が必要になる場合がある。
  • 主流のMLツールとの統合が少ない:PaddlePaddle 、Hugging Face Transformers、MLflow、またはKubernetesネイティブAIサービスのような一般的なツールとの互換性が限られている。

要点

Ultralytics サポートするPaddlePaddle 統合により、様々なデバイスにYOLO11 モデルを簡単にエクスポートし、展開することができます。モバイルアプリ、スマートカメラ、組み込みシステムなど、効率的なオンデバイスパフォーマンスを必要とするプロジェクトに特に役立ちます。

わずか数ステップで、強力なビジョンモデルを実世界のアプリケーションに導入することができます。コンピュータ・ビジョンの進歩に伴い、YOLO PaddlePaddle ようなツールは、消費者向け機器から産業用ツールまで、あらゆるものにおいて高速でインテリジェントなシステムの構築をかつてないほど容易にしています。

今すぐ成長中のコミュニティに参加しましょう!GitHubリポジトリでAIを深く掘り下げましょう。独自のコンピュータビジョンプロジェクトを構築したいですか?ライセンスオプションをご覧ください。ヘルスケアにおけるコンピュータビジョンがどのように効率を向上させているかを学び、小売業におけるAIの影響を探るには、当社のソリューションページをご覧ください!

リンクトインのロゴツイッターのロゴFacebookのロゴコピー・リンク・シンボル

このカテゴリの続きを読む

AIの未来
を一緒に作りましょう!

機械学習の未来への旅を始めよう