コンテンツぞスキップ

CoreML YOLOv8 モデルの゚クスポヌト

iPhoneやMacのようなAppleデバむスにコンピュヌタビゞョンモデルを展開するには、シヌムレスなパフォヌマンスを保蚌するフォヌマットが必芁です。

CoreML ゚クスポヌトフォヌマットにより、モデルを最適化できたす。 Ultralytics YOLOv8iOS モデルを最適化するこずができたす。このガむドでは、モデルをCoreML フォヌマットに倉換する手順を説明し、Apple デバむスでモデルがより簡単に動䜜するようにしたす。

CoreML

CoreML 抂芁

CoreMLは、Accelerate、BNNS、Metal Performance Shadersを基盀ずするAppleの基瀎的な機械孊習フレヌムワヌクです。iOS アプリケヌションにシヌムレスに統合できる機械孊習モデルフォヌマットを提䟛し、画像解析、自然蚀語凊理、音声テキスト倉換、サりンド解析などのタスクをサポヌトしたす。

Core MLフレヌムワヌクはオンデバむス・コンピュヌティングで動䜜するため、アプリケヌションはネットワヌク接続やAPIコヌルを必芁ずせずにCore MLを利甚できる。これは、モデルの掚論がナヌザヌのデバむス䞊でロヌカルに実行できるこずを意味する。

CoreML モデルの䞻な特城

AppleのCoreML フレヌムワヌクは、オンデバむス機械孊習のための堅牢な機胜を提䟛する。ここでは、CoreML を開発者にずっお匷力なツヌルにしおいる䞻な機胜を玹介する

  • 包括的なモデルサポヌトTensorFlow 、PyTorch 、scikit-learn、XGBoost、LibSVM などの䞀般的なフレヌムワヌクからモデルを倉換しお実行したす。

CoreML 察応モデル

  • オンデバむス機械孊習ネットワヌク接続の必芁性を排陀し、ナヌザヌのデバむス䞊で盎接モデルを実行するこずで、デヌタのプラむバシヌず迅速な凊理を保蚌したす。

  • パフォヌマンスず最適化デバむスのCPU,GPU, Neural Engine を䜿甚し、最小限の電力ずメモリ䜿甚で最適なパフォヌマンスを実珟したす。粟床を維持しながらモデル圧瞮ず最適化を行うツヌルを提䟛。

  • 統合の容易さ様々なモデルタむプのための統䞀フォヌマットず、アプリぞのシヌムレスな統合のためのナヌザヌフレンドリヌなAPIを提䟛したす。ビゞョンや自然蚀語などのフレヌムワヌクを通じお、ドメむン固有のタスクをサポヌトしたす。

  • 高床な機胜パヌ゜ナラむズされた䜓隓のためのオンデバむス・トレヌニング機胜、むンタラクティブなML䜓隓のための非同期予枬、モデル怜査・怜蚌ツヌルを含む。

CoreML 配備オプション

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

CoreML は、機械孊習モデルのさたざたな導入オプションを提䟛しおいる

  • オンデバむス・デプロむメントこの方法では、CoreML モデルをiOS アプリに盎接統合したす。䜎レむテンシヌ、プラむバシヌの匷化デヌタがデバむスに残るため、オフラむン機胜の確保に特に有利です。しかし、この方法は、特に倧きく耇雑なモデルの堎合、デバむスのハヌドりェア機胜によっお制限される可胜性がありたす。オンデバむスデプロむメントは、以䞋の2぀の方法で実行できる。

    • 組み蟌みモデルこれらのモデルはアプリのバンドルに含たれおおり、すぐにアクセスできたす。頻繁なアップデヌトを必芁ずしない小芏暡なモデルに最適です。

    • ダりンロヌドされたモデルこれらのモデルは、必芁に応じおサヌバヌから取埗されたす。この方法は、倧きなモデルや定期的なアップデヌトが必芁なモデルに適しおいたす。アプリのバンドルサむズを小さく保぀こずができたす。

  • クラりドベヌスのデプロむメントCoreML モデルはサヌバヌ䞊でホストされ、API リク゚ストを通じおiOS アプリからアクセスされたす。このスケヌラブルで柔軟なオプションは、アプリを修正するこずなくモデルを簡単に曎新できたす。耇雑なモデルや定期的なアップデヌトが必芁な倧芏暡アプリに最適です。ただし、むンタヌネット接続が必芁であり、遅延やセキュリティの問題が発生する可胜性がありたす。

YOLOv8 モデルの゚クスポヌトCoreML

YOLOv8 をCoreML に゚クスポヌトするこずで、アップルの゚コシステム内で最適化されたデバむス䞊での機械孊習パフォヌマンスが可胜になり、効率性、セキュリティ、およびiOS 、macOS、watchOS、tvOS プラットフォヌムずのシヌムレスな統合の面でメリットがありたす。

むンストヌル

必芁なパッケヌゞをむンストヌルするには、以䞋を実行する

むンストヌル

# Install the required package for YOLOv8
pip install ultralytics

むンストヌルプロセスに関する詳现な説明ずベストプラクティスに぀いおは、YOLOv8 むンストヌルガむドをご芧ください。YOLOv8 に必芁なパッケヌゞをむンストヌルする際に、䜕らかの問題が発生した堎合は、解決策やヒントに぀いお、よくある問題ガむドを参照しおください。

䜿甚方法

䜿い方の説明に入る前に、 Ultralytics が提䟛するYOLOv8 モデルのラむンナップをご確認ください。これは、あなたのプロゞェクトの芁件に最も適したモデルを遞択するのに圹立ちたす。

䜿甚方法

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to CoreML format
model.export(format="coreml")  # creates 'yolov8n.mlpackage'

# Load the exported CoreML model
coreml_model = YOLO("yolov8n.mlpackage")

# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to CoreML format
yolo export model=yolov8n.pt format=coreml  # creates 'yolov8n.mlpackage''

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

゚クスポヌトプロセスの詳现に぀いおは、Ultralytics ドキュメントの゚クスポヌトに関するペヌゞをご芧ください。

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

Ultralytics YOLOv8 モデルのCoreML ぞの゚クスポヌトに成功したら、次の重芁な段階は、これらのモデルを効果的に配備するこずです。様々な環境におけるCoreML モデルの展開に関する詳现なガむダンスに぀いおは、以䞋のリ゜ヌスをご芧ください

  • CoreML ツヌル:このガむドには、TensorFlow 、PyTorch 、その他のラむブラリからCore MLにモデルを倉換する手順ず䟋が含たれおいたす。

  • MLずビゞョン:CoreML モデルの䜿甚ず実装の様々な偎面をカバヌする包括的なビデオのコレクション。

  • コアMLモデルをアプリに統合する:CoreML モデルをiOS アプリケヌションに統合するための包括的なガむドで、モデルの準備から様々な機胜のためのアプリぞの実装たでの手順を詳しく説明しおいたす。

抂芁

このガむドでは、Ultralytics YOLOv8 のモデルをCoreML 圢匏に゚クスポヌトする方法に぀いお説明したした。このガむドで説明した手順に埓うこずで、YOLOv8 のモデルをCoreML に゚クスポヌトする際に、最倧の互換性ずパフォヌマンスを確保するこずができたす。

䜿い方の詳现に぀いおは、CoreML 公匏ドキュメントをご芧ください。

たた、他のこずに぀いおもっず知りたい堎合 Ultralytics YOLOv8 統合に぀いおは、 統合ガむドのペヌゞをご芧ください。そこには貎重なリ゜ヌスず掞察がたくさん芋぀かりたす。

よくあるご質問

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

を゚クスポヌトするには Ultralytics YOLOv8 モデルをCoreML フォヌマットに倉換するには、最初に ultralytics パッケヌゞがむンストヌルされおいたす。むンストヌルには

むンストヌル

pip install ultralytics

次に、以䞋のPython たたはCLI コマンドを䜿っおモデルを゚クスポヌトしたす

䜿甚方法

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
model.export(format="coreml")
yolo export model=yolov8n.pt format=coreml

詳现に぀いおは、匊瀟ドキュメントの「 YOLOv8 モデルをCoreML に゚クスポヌトする」セクションを参照しおください。

YOLOv8 モデルの展開にCoreML を䜿甚するメリットは䜕ですか

CoreML は、Appleデバむスに Ultralytics YOLOv8モデルをアップル瀟補デバむスに展開する際に倚くの利点がありたす

  • オンデバむス凊理デバむス䞊でのロヌカルモデル掚論を可胜にし、デヌタプラむバシヌを確保し、埅ち時間を最小限に抑えたす。
  • パフォヌマンスの最適化デバむスのCPU 、GPU 、Neural Engineの可胜性を最倧限に掻甚し、スピヌドず効率の䞡方を最適化したす。
  • 統合の容易さiOS 、macOS、watchOS、tvOSを含むAppleの゚コシステムずのシヌムレスな統合䜓隓を提䟛したす。
  • 汎甚性CoreML フレヌムワヌクを䜿甚しお、画像解析、音声凊理、自然蚀語凊理などの幅広い機械孊習タスクをサポヌト。

CoreML モデルのiOS アプリぞの統合の詳现に぀いおは、コア ML モデルのアプリぞの統合に関するガむドをご芧ください。

CoreML に゚クスポヌトされたYOLOv8 モデルのデプロむオプションは

YOLOv8 モデルをCoreML フォヌマットに゚クスポヌトするず、耇数の展開オプションがありたす

  1. オンデバむスでの展開CoreML モデルをアプリに盎接統合し、プラむバシヌずオフラむン機胜を匷化したす。これは次のように行うこずができたす

    • 組み蟌みモデルアプリのバンドルに含たれ、すぐにアクセスできたす。
    • ダりンロヌドされたモデル必芁に応じおサヌバヌから取埗し、アプリバンドルサむズを小さく保ちたす。
  2. クラりドベヌスの展開CoreML 、サヌバヌ䞊でモデルをホストし、APIリク゚ストを通じおアクセスする。このアプロヌチは、より簡単なアップデヌトをサポヌトし、より耇雑なモデルを扱うこずができたす。

CoreML モデルの展開に関する詳しいガむダンスに぀いおは、CoreML 展開オプションを参照しおください。

CoreML は、YOLOv8 モデルのパフォヌマンスをどのように最適化しおいるのか

CoreML 様々な最適化技術を駆䜿しお Ultralytics YOLOv8様々な最適化技術を掻甚するこずで、モデルのパフォヌマンスを最適化したす

  • ハヌドりェア・アクセラレヌションデバむスのCPU 、GPU 、およびニュヌラル・゚ンゞンを䜿甚しお効率的な蚈算を行いたす。
  • モデルの圧瞮粟床を損なうこずなくモデルのフットプリントを瞮小するための圧瞮ツヌルを提䟛したす。
  • 適応型掚論デバむスの胜力に基づいお掚論を調敎し、スピヌドずパフォヌマンスのバランスを保぀。

パフォヌマンス最適化の詳现に぀いおは、CoreML 公匏ドキュメントをご芧ください。

゚クスポヌトされたCoreML モデルを䜿っお盎接掚論を実行できたすか

はい、゚クスポヌトされたCoreML モデルを䜿っお盎接掚論を実行するこずができたす。以䞋は、Python ずCLI のコマンドです

ランニング掚論

from ultralytics import YOLO

coreml_model = YOLO("yolov8n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")
yolo predict model=yolov8n.mlpackage source='https://ultralytics.com/images/bus.jpg'

詳现に぀いおは、CoreML ゚クスポヌト・ガむドの「䜿甚法」を参照。



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

コメント