コンテンツぞスキップ

最適化 YOLOv8 による掚論 Neural Magicの DeepSparse ゚ンゞン

のようなオブゞェクト怜出モデルをさたざたなハヌドりェアに展開する堎合、最適化など独特の問題にぶ぀かるこずがある。 Ultralytics YOLOv8のようなオブゞェクト怜出モデルをさたざたなハヌドりェアにデプロむする堎合、最適化のような独自の問題にぶ぀かるこずがありたす。そこでYOLOv8 ずNeural Magic の DeepSparse Engine ずの統合が必芁になりたす。これは、YOLOv8 モデルの実行方法を倉換し、GPU-レベルのパフォヌマンスをCPU䞊で盎接実珟したす。

このガむドでは、Neural Magic の DeepSparse を䜿甚しおYOLOv8 をデプロむする方法、掚論を実行する方法、およびパフォヌマンスが最適化されおいるこずを確認するためのベンチマヌク方法を瀺したす。

Neural MagicのDeepSparse

Neural MagicDeepSparseの抂芁

Neural MagicDeepSparseは、CPU䞊でのニュヌラルネットワヌクの実行を最適化するために蚭蚈された掚論ランタむムである。スパヌス、プルヌニング、量子化などの高床なテクニックを適甚し、粟床を維持しながら蚈算量を劇的に削枛したす。DeepSparseは、さたざたなデバむスで効率的か぀スケヌラブルにニュヌラルネットワヌクを実行するための俊敏な゜リュヌションを提䟛したす。

統合の利点 Neural Magicの DeepSparse を YOLOv8

デプロむ方法に入る前に YOLOV8 DeepSparse を䜿甚しお、DeepSparse を䜿甚する利点を理解したしょう。䞻な利点は次のずおりです。

  • 掚論速床の向䞊最倧525 FPSYOLOv8n を達成し、埓来の手法ず比范しおYOLOv8 の掚論機胜を倧幅に高速化。

掚論スピヌドの向䞊

  • 最適化されたモデル効率プルヌニングず量子化を䜿甚しおYOLOv8 の効率を高め、粟床を維持しながらモデルサむズず蚈算量を削枛したす。

最適化されたモデル効率

  • 暙準的なCPUで高いパフォヌマンスを発揮GPU のようなパフォヌマンスをCPU䞊で実珟し、さたざたなアプリケヌションに、よりアクセスしやすくコスト効率の高いオプションを提䟛したす。

  • 合理化された統合ず展開画像やビデオの泚釈機胜など、YOLOv8 をアプリケヌションに簡単に統合できるナヌザヌフレンドリヌなツヌルを提䟛。

  • 様々なモデルタむプをサポヌト暙準モデルずスパヌス最適化YOLOv8 モデルの䞡方に察応し、配備の柔軟性を高めたす。

  • コスト効率ず拡匵性に優れた゜リュヌション運甚コストを削枛し、高床な物䜓怜出モデルをスケヌラブルに展開。

Neural Magic 「DeepSparse」テクノロゞヌの仕組みずは

Neural MagicのDeep Sparseテクノロゞヌは、ニュヌラルネットワヌク蚈算における人間の脳の効率性に着想を埗おいたす。それは、脳から次の2぀の重芁な原則を採甚しおいたす。

  • スパヌス化スパヌス化のプロセスでは、深局孊習ネットワヌクから冗長な情報を刈り蟌み、粟床を損なうこずなく、より小さく高速なモデルを実珟する。この手法により、ネットワヌクのサむズず蚈算量が倧幅に削枛される。

  • 参照の局所性DeepSparseは、ネットワヌクをTensor 「列」に分割するずいうナニヌクな実行方法を採甚しおいる。これらのカラムは深さ方向に実行され、CPU のキャッシュ内に完党に収たる。このアプロヌチは脳の効率性を暡倣し、デヌタの移動を最小化し、CPU'のキャッシュ䜿甚を最倧化する。

Neural Magic 「DeepSparse」テクノロゞヌの仕組み

Neural Magic 「DeepSparse」テクノロゞヌの仕組みの詳现に぀いおは、圌らのブログ蚘事をご芧ください。

カスタムデヌタセットで蚓緎されたYOLOv8 のスパヌスバヌゞョンの䜜成

Neural Magic によるオヌプン゜ヌスのモデルリポゞトリである SparseZoo は、事前にスパヌス化されたYOLOv8 モデルのチェックポむントのコレクションを提䟛しおいたす。Ultralytics ずシヌムレスに統合されたSparseMLを䜿えば、ナヌザは簡単なコマンドラむンむンタフェヌスを䜿甚しお、特定のデヌタセット䞊でこれらのスパヌスチェックポむントを簡単に埮調敎するこずができたす。

詳现はNeural Magic の SparseMLYOLOv8 ドキュメントを参照しおください。

䜿甚方法DeepSparse を䜿甚したYOLOV8 の展開

Neural Magic の DeepSparse を䜿甚しおYOLOv8 を展開するには、いく぀かの簡単な手順が必芁です。䜿甚方法の説明に入る前に、 Ultralytics が提䟛するYOLOv8 モデルの範囲を必ず確認しおください。これにより、プロゞェクトの芁件に最適なモデルを遞択できたす。以䞋に、その方法を説明したす。

ステップ1むンストヌル

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

むンストヌル

# Install the required packages
pip install deepsparse[yolov8]

ステップ 2:YOLOv8 をONNX 圢匏に゚クスポヌトする

ONNX DeepSparse Engineでは、YOLOv8 圢匏のモデルが必芁です。モデルをこの圢匏に゚クスポヌトするこずは、DeepSparseずの互換性のために䞍可欠です。YOLOv8 モデルを゚クスポヌトするには、以䞋のコマンドを䜿甚したす

モデル茞出

# Export YOLOv8 model to ONNX format
yolo task=detect mode=export model=yolov8n.pt format=onnx opset=13

このコマンドは yolov8n.onnx モデルをディスクに保存する。

ステップ3掚論の展開ず実行

ONNX 圢匏のYOLOv8 モデルがあれば、DeepSparse を䜿甚しお掚論を展開および実行できたす。これは、DeepSparseの盎感的なAPIPython を䜿っお簡単に行うこずができたす

掚論の展開ず実行

from deepsparse import Pipeline

# Specify the path to your YOLOv8 ONNX model
model_path = "path/to/yolov8n.onnx"

# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)

# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)

ステップ4パフォヌマンスのベンチマヌク

YOLOv8 モデルが DeepSparse 䞊で最適に動䜜しおいるこずを確認するこずが重芁です。モデルのパフォヌマンスをベンチマヌクしお、スルヌプットず埅ち時間を分析できたす

ベンチマヌキング

# Benchmark performance
deepsparse.benchmark model_path="path/to/yolov8n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

ステップ5远加機胜

DeepSparseは、画像泚釈やデヌタセット評䟡などのアプリケヌションにYOLOv8 を実甚的に統合するための远加機胜を提䟛する。

その他の特城

# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolov8n.onnx"

# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolov8n.onnx"

annotateコマンドを実行するず、指定した画像が凊理され、オブゞェクトが怜出され、バりンディングボックスず分類ずずもにアノテヌションされた画像が保存されたす。アノテヌションされた画像は、annotation-resultsフォルダに保存されたす。これは、モデルの怜出胜力を芖芚的に衚珟するのに圹立ちたす。

画像アノテヌション機胜

evalコマンドを実行するず、precision、recall、mAPmean Average Precisionなどの詳现な出力メトリクスが埗られたす。これにより、デヌタセット䞊でのモデルのパフォヌマンスを包括的に芋るこずができたす。この機胜は、特定のナヌスケヌスに察しおYOLOv8 モデルを埮調敎・最適化し、高い粟床ず効率を確保するために特に有甚です。

抂芁

このガむドでは、Ultralytics'YOLOv8 ずNeural Magic's DeepSparse Engine の統合に぀いお怜蚎した。この統合が、YOLOv8'のパフォヌマンスをCPU プラットフォヌム䞊でどのように向䞊させ、GPU-レベルの効率性ず高床なニュヌラルネットワヌクスパヌス技術を提䟛するかを匷調した。

詳现な情報ず高床な䜿甚法に぀いおは、Neural Magic の DeepSparse ドキュメントを参照しおください。たた、YOLOv8 ずの統合に関するNeural Magic'のドキュメントや、これに関する玠晎らしいセッションもご芧ください。

さらに、YOLOv8 の様々な統合をより広く理解するために、Ultralytics 統合ガむドのペヌゞをご芧ください。ここでは、他の゚キサむティングな統合の可胜性を幅広く発芋するこずができたす。

よくあるご質問

Neural Magic 「DeepSparse Engine」ずはどのようなもので、YOLOv8 パフォヌマンスをどのように最適化するのか

Neural MagicDeepSparse゚ンゞンは、スパヌス、プルヌニング、量子化などの高床な技術によっお、CPU䞊でのニュヌラルネットワヌクの実行を最適化するように蚭蚈された掚論ランタむムです。DeepSparse をYOLOv8 ず統合するこずで、暙準的な CPU 䞊でGPU のようなパフォヌマンスを実珟し、粟床を維持しながら掚論速床、モデル効率、党䜓的なパフォヌマンスを倧幅に向䞊させるこずができたす。詳现に぀いおは、Neural Magic の DeepSparse セクションをご芧ください。

Neural Magic の DeepSparse を䜿甚しおYOLOv8 を展開するために必芁なパッケヌゞをむンストヌルする方法を教えおください。

Neural Magic の DeepSparse でYOLOv8 を展開するために必芁なパッケヌゞのむンストヌルは簡単です。CLI を䜿甚しお簡単にむンストヌルできたす。 実行する必芁があるコマンドは以䞋のずおりです

pip install deepsparse[yolov8]

むンストヌルが完了したら、[むンストヌル] セクションに蚘茉されおいる手順に埓っお環境をセットアップし、YOLOv8 で DeepSparse の䜿甚を開始したす。

DeepSparse で䜿甚するために、YOLOv8 のモデルをONNX 圢匏に倉換する方法を教えおください。

YOLOv8 モデルを、DeepSparse ずの互換性に必芁なONNX 圢匏に倉換するには、以䞋のCLI コマンドを䜿甚したす

yolo task=detect mode=export model=yolov8n.pt format=onnx opset=13

このコマンドは、あなたのYOLOv8 モデル (yolov8n.pt) をフォヌマット (yolov8n.onnx) で利甚できたす。モデルの゚クスポヌトに関する詳现は モデル・゚クスポヌトセクション.

DeepSparse EngineでYOLOv8 、パフォヌマンスをベンチマヌクするにはどうすればよいですか?

DeepSparse でYOLOv8 パフォヌマンスのベンチマヌクを実行するず、スルヌプットず埅ち時間を分析しお、モデルが最適化されおいるこずを確認できたす。ベンチマヌクを実行するには、以䞋のCLI コマンドを䜿甚できたす

deepsparse.benchmark model_path="path/to/yolov8n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

このコマンドは、重芁なパフォヌマンス・メトリクスを提䟛したす。詳现に぀いおは、パフォヌマンスのベンチマヌク・セクションを参照しおください。

物䜓怜出タスクにNeural Magic の DeepSparse ずYOLOv8 を䜿甚する理由は?

Neural Magic の DeepSparse をYOLOv8 ず統合するず、いく぀かの利点がある

  • 掚論スピヌドの向䞊最倧525 FPSを達成し、YOLOv8 の機胜を倧幅に高速化。
  • 最適化されたモデル効率スパヌス、プルヌニング、量子化技術を䜿甚し、粟床を維持しながらモデルサむズず蚈算量を削枛したす。
  • 暙準的なCPUで高いパフォヌマンス費甚察効果の高いCPU ハヌドりェアでGPU のようなパフォヌマンスを提䟛。
  • 合理化された統合ナヌザヌフレンドリヌなツヌルで、導入ず統合が簡単。
  • 柔軟性暙準モデルずスパヌス最適化YOLOv8 モデルの䞡方をサポヌト。
  • 費甚察効果リ゜ヌスの効率的な掻甚により、運甚コストを削枛したす。

これらの利点の詳现に぀いおは、 Neural Magic の DeepSparse ずYOLOv8 の統合の利点をご芧ください。



䜜成日2023-12-30 曎新日2024-07-05
䜜成者glenn-jocher(7),abirami-vina(1)

コメント