コンテンツへスキップ

YOLO11からNCNN 、スムーズに展開するためのエクスポート方法

コンピュータビジョンモデルを、モバイルや組み込みシステムのような計算能力の限られたデバイスに展開するのは、厄介なことです。最適なパフォーマンスが得られるように最適化されたフォーマットを使用する必要があります。これにより、処理能力が限られたデバイスでも、高度なコンピュータビジョンタスクを十分に処理できるようになります。

NCNN フォーマットへのエクスポート機能により、Ultralytics YOLO11モデルを軽量デバイスベースのアプリケーション用に最適化することができます。このガイドでは、モデルをNCNN フォーマットに変換する方法を説明します。これにより、様々なモバイルデバイスや組み込みデバイスで、モデルがより簡単に動作するようになります。

なぜNCNN 。

NCNN 概要

テンセントが開発した NCNNNCNN は、Linux、Android 、iOS 、macOS を含む幅広いプラットフォームと互換性がある。

NCNN は、モバイルCPU上での高速処理で知られ、ディープラーニングモデルのモバイルプラットフォームへの迅速な展開を可能にします。これにより、スマートアプリの構築が容易になり、AIのパワーを指先ひとつで利用できるようになる。

NCNN モデルの主な特徴

NCNN モデルは、開発者がモバイル、組み込み、およびエッジデバイス上でモデルを実行できるようにすることで、オンデバイス機械学習を可能にする広範な主要機能を提供する:

  • 効率的かつ高性能:NCNN モデルは効率的かつ軽量に作られており、Raspberry Pi のようなリソースの限られたモバイル機器や組み込み機器で動作するように最適化されています。また、様々なコンピュータビジョンベースのタスクにおいて、高い精度で高いパフォーマンスを達成することができます。

  • 量子化:NCNN モデルは多くの場合、モデルの重みと活性度の精度を下げる技術である量子化をサポートしている。これにより、パフォーマンスがさらに向上し、メモリフットプリントが削減されます。

  • 互換性:NCNN モデルは、以下のような一般的なディープラーニングフレームワークと互換性があります。 TensorFlowCaffeONNX.この互換性により、開発者は既存のモデルやワークフローを簡単に使用することができます。

  • 使いやすさ:NCNN モデルは、一般的なディープラーニングフレームワークとの互換性により、さまざまなアプリケーションに簡単に統合できるように設計されています。さらに、NCNN は、異なるフォーマット間でモデルを変換するためのユーザーフレンドリーなツールを提供し、開発環境全体でスムーズな相互運用性を保証します。

配備オプションNCNN

YOLO11モデルをNCNN フォーマットにエクスポートするコードを見る前に、NCNN モデルが通常どのように使われるかを理解しよう。

NCNN 効率とパフォーマンスを重視して設計されたモデルは、さまざまな配備プラットフォームに対応している:

  • モバイル展開:特にAndroid とiOS 向けに最適化されているため、モバイルアプリケーションにシームレスに統合でき、デバイス上での効率的な推論が可能。

  • 組み込みシステムとIoTデバイスUltralytics Guideを使ってRaspberry Pi上で推論を実行しても十分な速度が得られない場合、NCNN エクスポートされたモデルに切り替えることで高速化できる可能性があります。NCNN は、Raspberry PiやNVIDIA Jetsonのようなデバイス、特にデバイス上で迅速な処理が必要な場合に最適です。

  • デスクトップとサーバーへの展開:Linux、Windows、macOSのデスクトップおよびサーバー環境に展開でき、より高い計算能力で開発、トレーニング、評価をサポートします。

NCNN にエクスポート :YOLO11モデルの変換

YOLO11モデルをNCNN フォーマットに変換することで、モデルの互換性と展開の柔軟性を拡大できます。

インストール

必要なパッケージをインストールするには

インストール

# Install the required package for YOLO11
pip install ultralytics

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

使用方法

使い方の説明に入る前に、Ultralytics YOLO11の全モデルがエクスポートに対応していることを確認しておきましょう

使用方法

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolo11n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO("./yolo11n_ncnn_model")

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to NCNN format
yolo export model=yolo11n.pt format=ncnn  # creates '/yolo11n_ncnn_model'

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

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

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

Ultralytics YOLO11モデルをNCNN フォーマットにエクスポートした後、デプロイすることができます。NCNN モデルを実行するための最初のステップは、YOLO("./model_ncnn_model") メソッドを使うことです。しかしながら、他の様々な設定におけるNCNN モデルのデプロイに関する詳細な説明については、以下のリソースをご覧ください:

  • Android:このブログでは、Android アプリケーションを通して物体検出のようなタスクを実行するためにNCNN モデルを使用する方法について説明します。

  • マックオス:macOSでタスクを実行するためのNCNN モデルの使い方を理解する。

  • リナックス:このページでは、Raspberry Piやその他の類似デバイスのような限られたリソースのデバイスにNCNN 。

  • VS2017を使用したWindows x64:このブログでは、Visual Studio Community 2017を使用してWindows x64でNCNN モデルをデプロイする方法について説明します。

概要

このガイドでは、Ultralytics YOLO11モデルをNCNN フォーマットにエクスポートする方法について説明した。この変換ステップは、YOLO11モデルの効率とスピードを向上させ、より効果的で、限られたリソースの計算環境に適したものにするために非常に重要です。

詳しい使用方法については、 NCNN の公式ドキュメントを参照してください。

また、Ultralytics YOLO11のその他の統合オプションにご興味のある方は、統合ガイドのページでさらに詳しい情報をご覧ください。

よくあるご質問

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

Ultralytics YOLO11モデルをNCNN フォーマットにエクスポートするには、以下の手順に従ってください:

  • Python:を使用する。 export 関数をYOLO 。

    from ultralytics import YOLO
    
    # Load the YOLO11 model
    model = YOLO("yolo11n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolo11n_ncnn_model'
    
  • CLI:を使用する。 yolo コマンドを export という議論になる。

    yolo export model=yolo11n.pt format=ncnn  # creates '/yolo11n_ncnn_model'
    

詳細なエクスポートオプションについては、ドキュメントのエクスポートページをご覧ください。

YOLO11モデルをNCNN に輸出する利点は何ですか?

Ultralytics YOLO11モデルをNCNN にエクスポートすると、いくつかの利点があります:

  • 効率性:NCNN モデルはモバイルおよび組み込みデバイス用に最適化されており、限られた計算リソースでも高いパフォーマンスを発揮します。
  • 量子:NCNN は、モデルの速度を向上させ、メモリ使用量を削減する量子化のようなテクニックをサポートしています。
  • 幅広い互換性:Android 、iOS 、Linux、macOSなど、複数のプラットフォームでNCNN モデルを展開できます。

詳細は、マニュアルの「 NCNN へのエクスポート」セクションを参照してください。

モバイルAIアプリケーションにNCNN 。

NCNNTencentによって開発され、特にモバイルプラットフォーム用に最適化されています。NCNN :

  • 高性能:モバイルCPUでの効率的で高速な処理のために設計されています。
  • クロスプラットフォーム:や のような一般的なフレームワークと互換性があり、異なるプラットフォーム間でのモデルの変換とデプロイが容易になります。 TensorFlowやONNX などの一般的なフレームワークと互換性があるため、異なるプラットフォーム間でのモデルの変換やデプロイが簡単になります。
  • コミュニティ・サポート:コミュニティの活発なサポートにより、継続的な改善とアップデートが保証されます。

詳しくは、ドキュメントのNCNN 概要をご覧ください。

NCNN 、どのようなプラットフォームに対応していますか?

NCNN は汎用性が高く、さまざまなプラットフォームに対応している:

  • モバイル:Android iOS.
  • 組み込みシステムとIoTデバイス:Raspberry PiやNVIDIA Jetsonなどのデバイス。
  • デスクトップとサーバー:Linux、Windows、macOS。

Raspberry Pi上でモデルを実行するのが十分速くない場合は、Raspberry Piガイドで詳しく説明しているように、NCNN フォーマットに変換することでスピードアップできる。

Ultralytics YOLO11NCNN のモデルをAndroid にデプロイするには?

YOLO11モデルをAndroid :

  1. Android 用にビルドする:NCNN Build forAndroidガイドに従ってください。
  2. アプリケーションとの統合:NCNN Android SDK を使用して、エクスポートされたモデルをアプリケーションに統合し、効率的なオンデバイス推論を実現します。

ステップバイステップの手順については、YOLO11NCNN モデルの展開に関するガイドを参照してください。

より高度なガイドや使用例については、Ultralytics ドキュメントページをご覧ください。

📅作成 8ヶ月前 ✏️更新しました 1ヶ月前

コメント