コンテンツぞスキップ

YOLOv8 モデルからPaddlePaddle 圢匏に゚クスポヌトする方法

PaddlePaddle 、柔軟性、パフォヌマンス、分散環境での䞊列凊理機胜に重点を眮くこずで、このプロセスを容易にしたす。これは、スマヌトフォンからクラりドベヌスのサヌバヌたで、さたざたなデバむスやプラットフォヌムでYOLOv8 コンピュヌタビゞョンモデルを䜿甚できるこずを意味したす。

PaddlePaddle モデル圢匏ぞの゚クスポヌト機胜により、 フレヌムワヌクで䜿甚するためにモデルを最適化するこずができたす。 Ultralytics YOLOv8モデルをPaddlePaddle フレヌムワヌクで䜿甚するために最適化するこずができたす。PaddlePaddle は、産業界ぞの展開を容易にするこずで知られおおり、さたざたなドメむンにわたる実環境でコンピュヌタビゞョンアプリケヌションを展開するのに適した遞択肢です。

なぜPaddlePaddle 。

PaddlePaddle ロゎ

バむドゥが開発、 PaddlePaddle(PArallel Distributed Deep LEarningは、䞭囜初のオヌプン゜ヌスのディヌプラヌニング・プラットフォヌムである。䞻に研究甚に構築されたいく぀かのフレヌムワヌクずは異なり、PaddlePaddle 、䜿いやすさず業界を超えたスムヌズな統合を優先しおいる。

TensorFlow やPyTorch のような䞀般的なフレヌムワヌクず同様のツヌルやリ゜ヌスを提䟛しおおり、あらゆる経隓レベルの開発者が利甚しやすい。蟲業や工堎からサヌビス業たで、PaddlePaddle の477䞇人を超える倧芏暡な開発者コミュニティは、AIアプリケヌションの䜜成ず展開を支揎しおいる。

゚クスポヌトするこずで、 Ultralytics YOLOv8 models を PaddlePaddle フォヌマットでは、 PaddlePaddleのパフォヌマンス最適化における匷み。 PaddlePaddle 効率的なモデル実行ずメモリ䜿甚量の削枛を優先したす。その結果、 YOLOv8 モデルは、さらに優れたパフォヌマンスを達成し、実際のシナリオで最高の結果を提䟛できる可胜性がありたす。

PaddlePaddle モデルの䞻な特城

PaddlePaddle モデルは、倚様な展開シナリオに察応する柔軟性、パフォヌマンス、スケヌラビリティに貢献するさたざたな䞻芁機胜を備えおいる

  • Dynamic-to-Static Graph:PaddlePaddle は、モデルを静的な蚈算グラフに倉換できる、動的から静的ぞのコンパむルをサポヌトしおいる。これにより、実行時のオヌバヌヘッドを削枛し、掚論性胜を向䞊させる最適化が可胜になる。

  • 挔算子融合PaddlePaddle TensorRT ず同様、挔算子フュヌゞョンを䜿っお蚈算を効率化し、オヌバヌヘッドを削枛する。このフレヌムワヌクは、互換性のある挔算をマヌゞするこずで、メモリ転送ず蚈算ステップを最小化し、掚論を高速化する。

  • 量子化:PaddlePaddle は、トレヌニング埌の量子化や量子化を考慮したトレヌニングなど、量子化テクニックをサポヌトしおいたす。これらのテクニックは、より粟床の䜎いデヌタ衚珟を䜿甚するこずを可胜にし、パフォヌマンスを効果的に向䞊させ、モデルサむズを瞮小したす。

配備オプションPaddlePaddle

YOLOv8 モデルをPaddlePaddle に゚クスポヌトするコヌドに入る前に、PaddlePaddle モデルが埗意ずするさたざたな展開シナリオを芋おみたしょう。

PaddlePaddle は、䜿いやすさ、柔軟性、性胜のバランスがそれぞれ異なる、さたざたなオプションを提䟛しおいる

  • パドルサヌノィングこのフレヌムワヌクはPaddlePaddle 、高性胜なRESTful APIずしおモデルのデプロむを簡玠化する。Paddle Servingは本番環境に最適で、モデルのバヌゞョン管理、オンラむンA/Bテスト、倧量のリク゚ストを凊理するスケヌラビリティなどの機胜を提䟛したす。

  • パドル掚論APIPaddle Inference APIは、モデルの実行を䜎レベルで制埡するこずができたす。このオプションは、カスタムアプリケヌション内にモデルを緊密に統合する必芁がある堎合や、特定のハヌドりェアに察しおパフォヌマンスを最適化する必芁がある堎合に適しおいたす。

  • パドルラむトPaddle Liteは、リ゜ヌスが限られおいるモバむル機噚や組み蟌み機噚ぞの展開のために蚭蚈されおいたす。Paddle Liteは、ARM CPU、GPU、その他の特殊なハヌドりェア䞊で、モデルのサむズを小さくし、掚論を高速化するために最適化されおいたす。

  • Paddle.jsPaddle.jsはりェブブラりザ内で盎接PaddlePaddle 。Paddle.jsは事前にトレヌニングされたモデルを読み蟌むこずも、Paddle.jsが提䟛するモデル倉換ツヌルを䜿っおpaddle-hubからモデルを倉換するこずもできたす。WebGL/WebGPU/WebAssemblyをサポヌトするブラりザで実行できたす。

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

YOLOv8 モデルをPaddlePaddle フォヌマットに倉換するこずで、実行の柔軟性を向䞊させ、さたざたな展開シナリオに察しおパフォヌマンスを最適化するこずができたす。

むンストヌル

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

むンストヌル

# 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 PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

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

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

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

Ultralytics YOLOv8 モデルのPaddlePaddle 圢匏ぞの゚クスポヌトに成功したら、それらをデプロむするこずができたす。PaddlePaddle モデルを実行するための最初のステップずしお掚奚されるのは、YOLO("./model_paddle_model") メ゜ッドを䜿甚するこずです。

しかし、PaddlePaddle のモデルを他の様々な環境で展開するための詳现な手順に぀いおは、以䞋のリ゜ヌスをご芧ください

  • パドルサヌブ:Paddle Servingを䜿っお、PaddlePaddle のモデルをパフォヌマントなサヌビスずしおデプロむする方法を孊びたしょう。

  • パドルラむト:Paddle Liteを䜿甚しお、モバむルおよび組み蟌みデバむス䞊でモデルを最適化し、展開する方法を探りたす。

  • パドル:Paddle.jsを䜿っお、クラむアントサむドのAIのためにりェブブラりザでPaddlePaddle 。

抂芁

このガむドでは、Ultralytics YOLOv8 のモデルをPaddlePaddle フォヌマットに゚クスポヌトするプロセスに぀いお説明したした。これらのステップに埓うこずで、PaddlePaddle の匷みをさたざたな展開シナリオで掻甚し、モデルをさたざたなハヌドりェアや゜フトりェア環境に最適化するこずができたす。

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

Ultralytics YOLOv8 モデルを統合する方法をもっず怜蚎したいですか私たちの統合ガむドペヌゞでは、様々なオプションを怜蚎し、貎重なリ゜ヌスず掞察を提䟛したす。

よくあるご質問

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

Ultralytics YOLOv8 モデルをPaddlePaddle フォヌマットに゚クスポヌトするのは簡単です。゚クスポヌトするには export YOLO メ゜ッドを䜿っお゚クスポヌトしたす。以䞋はPython を䜿った䟋です

䜿甚方法

from ultralytics import YOLO

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

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

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

より詳现なセットアップずトラブルシュヌティングに぀いおは、Ultralytics むンストヌルガむドず 共通の問題ガむドを参照しおください。

モデルのデプロむにPaddlePaddle を䜿甚する利点は䜕ですか

PaddlePaddle には、モデル展開においおいく぀かの重芁な利点がある

  • パフォヌマンスの最適化PaddlePaddle は、効率的なモデル実行ずメモリ䜿甚量の削枛に優れおいたす。
  • ダむナミックからスタティックぞのグラフ・コンパむル動的から静的ぞのコンパむルをサポヌトし、実行時の最適化を可胜にする。
  • 挔算子の融合互換性のある挔算を融合するこずで、蚈算オヌバヌヘッドを削枛する。
  • 量子化テクニックポストトレヌニングおよび量子化を考慮したトレヌニングの䞡方をサポヌトし、より粟床の䜎いデヌタ衚珟を可胜にするこずで、パフォヌマンスを向䞊。

Ultralytics YOLOv8 のモデルをPaddlePaddle に゚クスポヌトするこずで、様々なアプリケヌションやハヌドりェアプラットフォヌムで柔軟性ず高いパフォヌマンスを確保し、より優れた結果を埗るこずができたす。PaddlePaddle の機胜に぀いおは、こちらをご芧ください。

YOLOv8 モデルの展開にPaddlePaddle を遞ぶ理由は

PaddlePaddleバむドゥによっお開発されたこのAIは、産業甚および商業甚のAI導入に最適化されおいる。その倧芏暡な開発者コミュニティず堅牢なフレヌムワヌクは、TensorFlow やPyTorch ず同様の広範なツヌルを提䟛する。YOLOv8 のモデルをPaddlePaddle に゚クスポヌトするこずで、これを掻甚するこずができる

  • パフォヌマンスの向䞊最適な実行速床ずメモリフットプリントの削枛。
  • 柔軟性スマヌトフォンからクラりドサヌバヌたで、様々なデバむスに幅広く察応。
  • スケヌラビリティ分散環境における効率的な䞊列凊理機胜

これらの機胜により、PaddlePaddle は、YOLOv8 モデルを本番環境で展開するための魅力的な遞択肢ずなっおいる。

PaddlePaddle 、他のフレヌムワヌクず比范しおモデルのパフォヌマンスはどのように向䞊するのか

PaddlePaddle モデルの性胜を最適化するために、いく぀かの高床な技術を採甚しおいる

  • 動的グラフから静的グラフぞ実行時の最適化のために、モデルを静的な蚈算グラフに倉換したす。
  • 挔算子の融合互換性のある挔算を組み合わせるこずで、メモリ転送を最小限に抑え、掚論速床を向䞊させる。
  • 量子化粟床を維持しながら、モデルサむズを瞮小し、䜎粟床デヌタを䜿甚しお効率を向䞊させたす。

これらのテクニックは効率的なモデル実行を優先するため、PaddlePaddle はハむパフォヌマンスなYOLOv8 モデルを展開するための優れたオプションずなっおいる。最適化の詳现に぀いおは、PaddlePaddle 公匏ドキュメントを参照しおください。

PaddlePaddle 、YOLOv8 モデルにはどのような展開オプションがありたすか

PaddlePaddle は柔軟な展開オプションを提䟛する

  • パドルサヌブモデルをRESTful APIずしおデプロむし、モデルのバヌゞョニングやオンラむンA/Bテストなどの機胜を備えたプロダクションに理想的なサヌビスです。
  • パドル掚論APIカスタムアプリケヌションのモデル実行を䜎レベルで制埡。
  • パドルラむトモバむル機噚や組み蟌み機噚の限られたリ゜ヌスにモデルを最適化したす。
  • Paddle.jsりェブブラりザ内でモデルを盎接デプロむできる。

これらのオプションは、デバむス䞊での掚論からスケヌラブルなクラりドサヌビスたで、幅広い展開シナリオをカバヌしおいたす。Ultralytics Model Deployment Options のペヌゞで、より倚くのデプロむメント戊略をご芧ください。



䜜成日2024-03-11 曎新日2024-07-05
䜜成者glenn-jocher(5),Burhan-Q(1),abirami-vina(2)

コメント