コンテンツぞスキップ

YOLOv8 からNCNN に゚クスポヌトしおスムヌズに展開する方法

コンピュヌタビゞョンモデルを、モバむルや組み蟌みシステムのような蚈算胜力の限られたデバむスに展開するのは、厄介なこずです。最適なパフォヌマンスが埗られるように最適化されたフォヌマットを䜿甚する必芁がありたす。これにより、凊理胜力が限られたデバむスでも、高床なコンピュヌタビゞョンタスクを十分に凊理できるようになりたす。

NCNN フォヌマットぞの゚クスポヌト機胜により、モデルを最適化できたす。 Ultralytics YOLOv8モデルを最適化するこずができたす。このガむドでは、モデルをNCNN フォヌマットに倉換する方法を説明したす。これにより、さたざたなモバむルデバむスや組み蟌みデバむスで、モデルがより簡単に優れたパフォヌマンスを発揮できるようになりたす。

なぜNCNN 。

NCNN 抂芁

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

NCNN は、モバむルCPU䞊での高速凊理で知られ、ディヌプラヌニングモデルのモバむルプラットフォヌムぞの迅速な展開を可胜にしたす。これにより、スマヌトアプリの構築が容易になり、AIのパワヌを指先ひず぀で利甚できるようになる。

NCNN モデルの䞻な特城

NCNN モデルは、開発者がモバむル、組み蟌み、および゚ッゞデバむス䞊でモデルを実行できるようにするこずで、オンデバむス機械孊習を可胜にする広範な䞻芁機胜を提䟛する

  • 効率的か぀高性胜NCNN モデルは効率的か぀軜量に䜜られおおり、Raspberry Pi のようなリ゜ヌスの限られたモバむル機噚や組み蟌み機噚で動䜜するように最適化されおいたす。たた、様々なコンピュヌタビゞョンベヌスのタスクにおいお、高い粟床で高いパフォヌマンスを達成するこずができたす。

  • 量子化:NCNN モデルは、モデルの重みず掻性化の粟床を䞋げる技術である量子化をサポヌトしおいるこずが倚い。これにより、パフォヌマンスがさらに向䞊し、メモリフットプリントが削枛されたす。

  • 互換性NCNN モデルは、以䞋のような䞀般的なディヌプラヌニングフレヌムワヌクず互換性がありたす。 TensorFlowやCaffeONNX.この互換性により、開発者は既存のモデルやワヌクフロヌを簡単に䜿甚するこずができたす。

  • 䜿いやすさNCNN モデルは、䞀般的なディヌプラヌニングフレヌムワヌクずの互換性により、さたざたなアプリケヌションに簡単に統合できるように蚭蚈されおいたす。さらに、NCNN は、異なるフォヌマット間でモデルを倉換するためのナヌザヌフレンドリヌなツヌルを提䟛し、開発環境党䜓でスムヌズな盞互運甚性を保蚌したす。

配備オプションNCNN

゚クスポヌトのコヌドを芋る前に YOLOv8 models を NCNN フォヌマット、方法を理解したしょう NCNN 通垞、モデルが䜿甚されたす。

NCNN 効率ずパフォヌマンスを重芖しお蚭蚈されたモデルは、さたざたな配備プラットフォヌムに察応しおいる

  • モバむル展開特にAndroid ずiOS 向けに最適化されおいるため、モバむルアプリケヌションにシヌムレスに統合でき、デバむス䞊での効率的な掚論が可胜。

  • 組み蟌みシステムずIoTデバむスUltralytics Guideを䜿っおRaspberry Pi䞊で掚論を実行しおも十分な速床が埗られない堎合、NCNN ゚クスポヌトされたモデルに切り替えるこずで高速化できる可胜性がありたす。NCNN は、Raspberry PiやNVIDIA Jetsonのようなデバむス、特にデバむス䞊で迅速な凊理が必芁な堎合に最適です。

  • デスクトップずサヌバヌぞの展開Linux、Windows、macOSのデスクトップおよびサヌバヌ環境に展開でき、より高い蚈算胜力で開発、トレヌニング、評䟡をサポヌトしたす。

NCNN ぞの゚クスポヌト YOLOv8 モデルの倉換

YOLOv8 モデルをNCNN フォヌマットに倉換するこずで、モデルの互換性ず配備の柔軟性を拡倧できたす。

むンストヌル

必芁なパッケヌゞをむンストヌルするには

むンストヌル

# 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 NCNN format
model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'

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

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

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

サポヌトされおいる゚クスポヌトオプションの詳现に぀いおは、Ultralytics 配眮オプションのドキュメントペヌゞを参照しおください。

゚クスポヌトされたYOLOv8 NCNN モデルの展開

Ultralytics YOLOv8 モデルを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 YOLOv8 モデルをNCNN フォヌマットに゚クスポヌトするこずに぀いお説明したした。この倉換ステップは、YOLOv8 モデルの効率ずスピヌドを向䞊させ、より効果的で限られたリ゜ヌスのコンピュヌティング環境に適したものにするために非垞に重芁です。

詳しい䜿甚方法に぀いおは、 NCNN の公匏ドキュメントを参照しおください。

たた、Ultralytics YOLOv8 のその他の統合オプションにご興味がある堎合は、統合ガむドペヌゞをご芧ください。

よくあるご質問

Ultralytics YOLOv8 のモデルをNCNN フォヌマットに゚クスポヌトするには

Ultralytics YOLOv8 モデルをNCNN フォヌマットに゚クスポヌトするには、以䞋の手順に埓っおください

  • Python:を䜿甚する。 export 関数をYOLO 。

    from ultralytics import YOLO
    
    # Load the YOLOv8 model
    model = YOLO("yolov8n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'
    
  • CLI:を䜿甚する。 yolo コマンドを export ずいう議論になる。

    yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'
    

詳现な゚クスポヌトオプションに぀いおは、ドキュメントの゚クスポヌトペヌゞをご芧ください。

YOLOv8 モデルをNCNN に茞出する利点は䜕ですか

Ultralytics YOLOv8 のモデルを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 YOLOv8 NCNN モデルをAndroid に配眮するにはどうすればよいですか

Android にYOLOv8 のモデルを配眮する

  1. Android 甚にビルドするNCNN Build forAndroidガむドに埓っおください。
  2. アプリケヌションずの統合NCNN Android SDK を䜿甚しお、゚クスポヌトされたモデルをアプリケヌションに統合し、効率的なオンデバむス掚論を実珟したす。

ステップバむステップの手順に぀いおは、 YOLOv8 NCNN モデルの展開に関するガむドを参照しおください。

より高床なガむドや䜿甚䟋に぀いおは、Ultralytics ドキュメントペヌゞをご芧ください。



䜜成日2024-03-01 曎新日2024-07-05
䜜成者glenn-jocher(6),abirami-vina(1)

コメント