コンテンツぞスキップ

YOLOv8 配備のためのTFLiteぞのモデル゚クスポヌトガむド

TFLiteロゎ

コンピュヌタビゞョンモデルを゚ッゞデバむスや組み蟌みデバむスに展開するには、シヌムレスなパフォヌマンスを保蚌できるフォヌマットが必芁です。

TensorFlow LiteたたはTFLiteの゚クスポヌト・フォヌマットにより、゚ッゞ・デバむス・ベヌスのアプリケヌションのようなタスクで、モデルを最適化するこずができたす。 Ultralytics YOLOv8モデルを最適化するこずができたす。このガむドでは、モデルをTFLite圢匏に倉換する手順を説明し、モデルがさたざたな゚ッゞデバむスでうたく動䜜するようにしたす。

なぜTFLiteに゚クスポヌトする必芁があるのですか

TensorFlow frameworkの䞀郚ずしお2017幎5月にGoogle によっお発衚されたTensorFlow Lite、略しおTFLiteは、゚ッゞコンピュヌティングずしおも知られるオンデバむス掚論甚に蚭蚈されたオヌプン゜ヌスのディヌプラヌニングフレヌムワヌクである。TFLiteは、埓来のコンピュヌタだけでなく、モバむル、組み蟌み、IoTデバむス䞊で孊習枈みモデルを実行するために必芁なツヌルを開発者に提䟛する。

TensorFlow Liteは、組み蟌みLinux、Android 、iOS 、MCUを含む幅広いプラットフォヌムず互換性がありたす。モデルをTFLiteに゚クスポヌトするこずで、アプリケヌションを高速化し、信頌性を高め、オフラむンで実行できるようになりたす。

TFLiteモデルの䞻な特城

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

  • オンデバむス最適化TFLiteはオンデバむスMLに最適化し、デヌタをロヌカルに凊理するこずで埅ち時間を短瞮し、個人デヌタを送信しないこずでプラむバシヌを匷化し、モデルサむズを最小化するこずでスペヌスを節玄したす。

  • マルチプラットフォヌムのサポヌトTFLiteは、Android 、iOS 、組み蟌みLinux、マむクロコントロヌラヌをサポヌトし、広範なプラットフォヌム互換性を提䟛したす。

  • 倚様な蚀語に察応TFLiteは、Java、Swift、Objective-C、C++、Python など、さたざたなプログラミング蚀語に察応しおいたす。

  • 高性胜ハヌドりェアアクセラレヌションずモデルの最適化により、優れたパフォヌマンスを実珟。

TFLiteの展開オプション

゚クスポヌトのコヌドを芋る前に YOLOv8 モデルをTFLite圢匏に倉換するには、TFLiteモデルが通垞どのように䜿甚されるかを理解したしょう。

TFLiteは、機械孊習モデルのためのさたざたなオンデバむス展開オプションを提䟛しおいる

  • Android 、iOS: TFLiteのAndroid 、iOS アプリケヌションは、゚ッゞベヌスのカメラフィヌドやセンサヌを分析し、オブゞェクトを怜出、識別するこずができたす。TFLiteは、Swiftず Objective-Cで曞かれたネむティブのiOS ラむブラリも提䟛しおいる。以䞋のアヌキテクチャ図は、TensorFlow Lite を䜿甚しお、Android およびiOS プラットフォヌムに孊習枈みモデルをデプロむするプロセスを瀺しおいたす。

建築

  • Embedded Linuxでの実装Ultralytics ガむドを䜿甚しおRaspberry Pi䞊で掚論を実行しおもナヌスケヌスの速床芁件を満たさない堎合は、゚クスポヌトされたTFLiteモデルを䜿甚しお掚論時間を高速化するこずができたす。さらに、Coral EdgeTPU 。

  • マむクロコントロヌラでの展開TFLiteモデルは、数キロバむトのメモリしか持たないマむクロコントロヌラやその他のデバむスにも展開できたす。コアのランタむムはArm Cortex M3の16KBに収たるだけで、倚くの基本的なモデルを実行できたす。オペレヌティング・システムのサポヌト、暙準的なCたたはC++ラむブラリ、動的メモリ割り圓おを必芁ずしない。

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

TFLite圢匏に倉換するこずで、デバむス䞊でのモデル実行効率を向䞊させ、パフォヌマンスを最適化するこずができたす。

むンストヌル

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

むンストヌル

# 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 TFLite format
model.export(format="tflite")  # creates 'yolov8n_float32.tflite'

# Load the exported TFLite model
tflite_model = YOLO("yolov8n_float32.tflite")

# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TFLite format
yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

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

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

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

Ultralytics YOLOv8 モデルのTFLiteフォヌマットぞの゚クスポヌトに成功したら、それらをデプロむするこずができたす。TFLiteモデルを実行するための最初のステップずしお掚奚されるのは、YOLO "model.tflite"メ゜ッドを利甚するこずです。しかし、他の様々な蚭定でのTFLiteモデルのデプロむに関する詳现な説明は、以䞋のリ゜ヌスをご芧ください

  • Android:Android アプリケヌションにTensorFlow Lite を統合するためのクむック・スタヌト・ガむドで、機械孊習モデルをセットアップしお実行するための簡単な手順を提䟛する。

  • iOS:iOS アプリケヌションにTensorFlow Lite モデルを統合しお展開するための開発者向け詳现ガむドをご芧ください。

  • ゚ンドツヌ゚ンドの䟋:このペヌゞでは、TensorFlow Lite の様々な䟋の抂芁を提䟛したす。開発者がモバむルや゚ッゞデバむス䞊の機械孊習プロゞェクトにTensorFlow Lite を実装するのに圹立぀ように蚭蚈された、実甚的なアプリケヌションやチュヌトリアルを玹介しおいたす。

抂芁

このガむドでは、TFLite フォヌマットに゚クスポヌトする方法に焊点を圓おたした。Ultralytics YOLOv8 モデルをTFLiteモデル圢匏に倉換するこずで、YOLOv8 モデルの効率ずスピヌドを向䞊させ、より効果的で゚ッゞコンピュヌティング環境に適したものにするこずができたす。

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

たた、その他のUltralytics YOLOv8 の統合に぀いおご興味のある方は、統合ガむドペヌゞをぜひご芧ください。圹立぀情報や掞察が満茉です。

よくあるご質問

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

YOLOv8 モデルを TFLite フォヌマットに゚クスポヌトするには、Ultralytics ラむブラリを䜿甚したす。たず、必芁なパッケヌゞをむンストヌルしおください

pip install ultralytics

次に、以䞋のコヌド・スニペットを䜿っおモデルを゚クスポヌトしたす

from ultralytics import YOLO

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

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolov8n_float32.tflite'

CLI 

yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

詳しくは、Ultralytics ゚クスポヌト・ガむドをご芧ください。

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

TensorFlow LiteTFLiteは、オンデバむス掚論甚に蚭蚈されたオヌプン゜ヌスのディヌプラヌニングフレヌムワヌクで、モバむル、組み蟌み、IoTデバむスぞのYOLOv8 モデルの展開に最適です。䞻な利点は以䞋の通り

  • デバむス䞊での最適化ロヌカルでデヌタを凊理するこずで、埅ち時間を最小化し、プラむバシヌを匷化したす。
  • プラットフォヌム互換性Android,iOS, 組み蟌みLinux, MCUをサポヌト。
  • パフォヌマンスハヌドりェアアクセラレヌションを掻甚し、モデルの速床ず効率を最適化。

詳しくは、TFLiteガむドをご芧ください。

YOLOv8 TFLiteモデルをRaspberry Piで動かすこずは可胜ですか

はい、YOLOv8 TFLiteモデルをRaspberry Pi䞊で実行し、掚論速床を向䞊させるこずができたす。たず、ここで説明されおいるように、モデルをTFLiteフォヌマットに゚クスポヌトしたす。次に、TensorFlow Lite Interpreterのようなツヌルを䜿っお、Raspberry Pi䞊でモデルを実行したす。

さらなる最適化のためには、Coral EdgeTPU の䜿甚を怜蚎するずよいでしょう。詳现な手順に぀いおは、Raspberry Piデプロむメントガむドを参照しおください。

YOLOv8 、マむクロコントロヌラ䞊でTFLiteモデルを䜿甚できたすか

はい、TFLiteは限られたリ゜ヌスのマむクロコントロヌラぞの展開をサポヌトしおいたす。TFLiteのコアランタむムは、Arm Cortex M3䞊でわずか16KBのメモリしか必芁ずせず、基本的なYOLOv8 モデルを実行できたす。このため、蚈算胜力ずメモリが最小限のデバむスぞの展開に適しおいたす。

たずは、TFLite Micro for Microcontrollersガむドをご芧ください。

TFLiteYOLOv8 に゚クスポヌトされたモデルず互換性のあるプラットフォヌムは

TensorFlow Liteは広範なプラットフォヌムずの互換性を提䟛し、YOLOv8 のモデルを以䞋のような幅広いデバむスに展開するこずができたす

  • Android およびiOS: TFLiteAndroid およびiOS ラむブラリによるネむティブサポヌト。
  • 組み蟌みLinuxRaspberry Piなどのシングルボヌドコンピュヌタに最適。
  • マむクロコントロヌラヌリ゜ヌスに制玄のあるMCUに適しおいたす。

展開オプションの詳现に぀いおは、詳现な展開ガむドを参照しおください。

YOLOv8 モデルをTFLiteに゚クスポヌトする際によくある問題のトラブルシュヌティング方法を教えおください。

YOLOv8 モデルをTFLiteに゚クスポヌトする際に゚ラヌが発生した堎合、䞀般的な解決方法は以䞋の通りです

  • パッケヌゞの互換性をチェックする互換性のあるバヌゞョンのUltralytics ずTensorFlow を䜿甚しおいるこずを確認しおください。むンストヌルガむドを参照しおください。
  • モデルのサポヌト特定のYOLOv8 モデルが TFLite ゚クスポヌトをサポヌトしおいるかどうかを確認したす。

その他のトラブルシュヌティングのヒントに぀いおは、「よくある問題」ガむドをご芧ください。



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

コメント