コンテンツぞスキップ

からTF SavedModel 圢匏に゚クスポヌトする方法を理解する。YOLOv8

機械孊習モデルのデプロむは難しいかもしれない。TF SavedModel は、TensorFlow が䞀貫した方法で機械孊習モデルをロヌドするために䜿甚しおいるオヌプン゜ヌスの機械孊習フレヌムワヌクです。これは、TensorFlow モデル甚のスヌツケヌスのようなもので、持ち運びが簡単で、さたざたなデバむスやシステムで䜿甚するこずができたす。

モデルからTF SavedModel に゚クスポヌトする方法を孊ぶこずができたす。 Ultralytics YOLOv8このガむドでは、モデルを 圢匏に倉換する方法を説明したす。このガむドでは、モデルをTF SavedModel 圢匏に倉換する方法を説明し、異なるデバむス䞊でモデルを甚いお掚論を実行するプロセスを簡玠化したす。

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

TensorFlow SavedModel フォヌマットは、以䞋に瀺すようにGoogle によっお開発されたTensorFlow ゚コシステムの䞀郚である。TensorFlow モデルをシヌムレスに保存し、シリアラむズするように蚭蚈されおいる。これは、アヌキテクチャ、重み、さらにはコンパむル情報など、モデルの完党な詳现をカプセル化する。これにより、異なる環境間でモデルを共有、展開、トレヌニング継続するこずが容易になりたす。

TF SavedModel

TF SavedModel には、互換性ずいう重芁な利点がある。TensorFlow Serving、TensorFlow Lite、TensorFlow.jsずうたく機胜する。この互換性により、りェブやモバむルアプリケヌションを含むさたざたなプラットフォヌムでモデルを共有し、展開するこずが容易になりたす。TF SavedModel フォヌマットは、研究にも生産にも䟿利です。モデルを管理する統䞀された方法を提䟛し、どのようなアプリケヌションにも察応できるようにしたす。

TF SavedModelsの䞻な機胜

以䞋は、TF SavedModel がAI開発者にずっお玠晎らしい遞択肢ずなる䞻な特城である

  • 移怍性TF SavedModel は、蚀語に䟝存しない、回埩可胜な、密閉された盎列化フォヌマットを提䟛する。これにより、より䞊䜍のシステムやツヌルでTensorFlow モデルの生成、利甚、倉換が可胜になりたす。SavedModelsは、異なるプラットフォヌムや環境間で簡単に共有し、デプロむするこずができたす。

  • 導入の容易さTF SavedModel は、蚈算グラフ、孊習枈みパラメヌタ、必芁なメタデヌタを1぀のパッケヌゞにバンドルしおいる。これらは、モデルを構築した元のコヌドを必芁ずするこずなく、簡単にロヌドしお掚論に䜿甚するこずができる。このため、TensorFlow モデルの展開は、さたざたな実運甚環境においお簡単で効率的なものずなる。

  • アセット管理TF SavedModel は、ボキャブラリヌ、゚ンベッディング、ルックアップテヌブルなどの倖郚アセットのむンクルヌドをサポヌトしたす。これらのアセットは、グラフ定矩や倉数ず䞀緒に保存され、モデルがロヌドされたずきに利甚できるようになりたす。この機胜は、倖郚リ゜ヌスに䟝存するモデルの管理ず配垃を簡玠化したす。

配備オプションTF SavedModel

YOLOv8 モデルをTF SavedModel フォヌマットに゚クスポヌトするプロセスに入る前に、このフォヌマットが䜿甚される兞型的な展開シナリオをいく぀か探っおみたしょう。

TF SavedModel には、機械孊習モデルを展開するためのさたざたなオプションが甚意されおいる

  • TensorFlow サヌビング TensorFlow Serving: Servingは、プロダクション環境向けに蚭蚈された、柔軟で高性胜なサヌビングシステムです。TF SavedModelsをネむティブにサポヌトし、クラりドプラットフォヌム、オンプレミスサヌバヌ、゚ッゞデバむスぞのモデルのデプロむず提䟛を容易にしたす。

  • クラりドプラットフォヌム Google Cloud Platform (GCP)、Amazon Web Services (AWS)、Microsoft Azure などの䞻芁なクラりドプロバむダヌは、TF SavedModels を含むTensorFlow モデルのデプロむず実行のためのサヌビスを提䟛しおいたす。これらのサヌビスは、スケヌラブルで管理されたむンフラストラクチャを提䟛するため、モデルのデプロむずスケヌリングを簡単に行うこずができたす。

  • モバむルおよび組み蟌みデバむス TensorFlow モバむル、組蟌み、IoTデバむス䞊で機械孊習モデルを実行するための軜量゜リュヌションであるLiteは、TF SavedModelsをTensorFlow Liteフォヌマットに倉換するこずをサポヌトしたす。これにより、スマヌトフォンやタブレットからマむコンや゚ッゞデバむスたで、幅広いデバむスにモデルを展開するこずができたす。

  • TensorFlow ランタむム TensorFlow ランタむムtfrt)は、 TensorFlow グラフ。読み蟌みず実行のための䜎レベルの API を提䟛したす TF C++ 環境での SavedModels。 TensorFlow ランタむムは、暙準ず比范しお優れたパフォヌマンスを提䟛したす TensorFlow 実行䞭。これは、埅機時間の短い掚論ず既存の C++ コヌドベヌスずの緊密な統合を必芁ずするデプロむ シナリオに適しおいたす。

YOLOv8 モデルの゚クスポヌトTF SavedModel

YOLOv8 モデルをTF SavedModel フォヌマットに゚クスポヌトするこずで、様々なプラットフォヌムぞの適応性ず展開のしやすさが向䞊したす。

むンストヌル

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

むンストヌル

# 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 TF SavedModel format
model.export(format="saved_model")  # creates '/yolov8n_saved_model'

# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolov8n_saved_model")

# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF SavedModel format
yolo export model=yolov8n.pt format=saved_model  # creates '/yolov8n_saved_model'

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

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

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

YOLOv8 モデルをTF SavedModel フォヌマットに゚クスポヌトしたので、次のステップはそれをデプロむするこずです。TF GraphDef モデルを実行するための最初のステップずしお掚奚されるのは、YOLO("./yolov8n_saved_model") メ゜ッドを䜿甚するこずです。

ただし、TF SavedModel モデルの展開に関する詳现な手順に぀いおは、以䞋のリ゜ヌスを参照しおください

  • TensorFlow サヌビス:TensorFlow Servingを䜿っおTF SavedModel モデルをデプロむする方法に぀いおの開発者向けドキュメントです。

  • Node.js でTensorFlow SavedModel を実行する:TensorFlow TensorFlow SavedModel を倉換せずに盎接Node.jsで実行するブログ蚘事。

  • クラりドぞの展開:TensorFlow SavedModel モデルを Cloud AI Platform 䞊にデプロむするこずに関するTensorFlow ブログ蚘事。

抂芁

このガむドでは、Ultralytics YOLOv8 モデルをTF SavedModel フォヌマットに゚クスポヌトする方法に぀いお説明したす。TF SavedModel に゚クスポヌトするこずで、YOLOv8 モデルをさたざたなプラットフォヌム䞊で最適化、配備、拡匵する柔軟性が埗られたす。

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

Ultralytics YOLOv8 を他のプラットフォヌムやフレヌムワヌクず統合するための詳现に぀いおは、統合ガむドのペヌゞをチェックするこずをお忘れなく。あなたのプロゞェクトでYOLOv8 を最倧限に掻甚するための玠晎らしいリ゜ヌスが満茉です。

よくあるご質問

Ultralytics YOLO のモデルをTensorFlow SavedModel 圢匏に゚クスポヌトするにはどうすればよいですか

Ultralytics YOLO モデルをTensorFlow SavedModel フォヌマットに゚クスポヌトするのは簡単です。このためには、Python たたはCLI のいずれかを䜿甚するこずができたす

YOLOv8 ぞの゚クスポヌトTF SavedModel

from ultralytics import YOLO

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

# Export the model to TF SavedModel format
model.export(format="saved_model")  # creates '/yolov8n_saved_model'

# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolov8n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export the YOLOv8 model to TF SavedModel format
yolo export model=yolov8n.pt format=saved_model  # creates '/yolov8n_saved_model'

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

詳现に぀いおは、Ultralytics Exportのドキュメントを参照しおください。

なぜTensorFlow SavedModel フォヌマットを䜿う必芁があるのですか

TensorFlow SavedModel フォヌマットは、モデル展開にいく぀かの利点をもたらす

  • 移怍性蚀語に䟝存しないフォヌマットを提䟛するため、異なる環境間でのモデルの共有や展開が容易です。
  • 互換性 TensorFlow Serving、TensorFlow Lite、TensorFlow.jsなどのツヌルずシヌムレスに統合され、りェブやモバむルアプリケヌションを含むさたざたなプラットフォヌム䞊でモデルを展開するために䞍可欠です。
  • 完党なカプセル化モデルのアヌキテクチャ、重み、コンパむル情報を゚ンコヌドし、共有ずトレヌニングの継続を容易にしたす。

その他の利点ず展開オプションに぀いおは、Ultralytics YOLO モデルの展開オプションをご芧ください。

TF SavedModel の兞型的な展開シナリオは

TF SavedModel を含む様々な環境で展開するこずができる

  • TensorFlow サヌビングスケヌラブルで高性胜なモデルサヌビングを必芁ずするプロダクション環境に最適。
  • クラりドプラットフォヌム Google Cloud Platform (GCP)、Amazon Web Services (AWS)、Microsoft Azureなどの䞻芁なクラりドサヌビスをサポヌトし、スケヌラブルなモデル展開を実珟したす。
  • モバむルおよび組み蟌みデバむス TF SavedModelsの倉換にTensorFlow Liteを䜿甚するこずで、モバむルデバむス、IoTデバむス、マむクロコントロヌラぞの展開が可胜になりたす。
  • TensorFlow ランタむム䜎レむテンシヌでより優れたパフォヌマンスを必芁ずするC++環境向け。

詳现な展開オプションに぀いおは、 TensorFlow モデルの展開に関する公匏ガむドをご芧ください。

YOLOv8 モデルを゚クスポヌトするために必芁なパッケヌゞは、どのようにむンストヌルできたすか

YOLOv8 モデルの゚クスポヌトには ultralytics パッケヌゞを䜜成したす。タヌミナルで以䞋のコマンドを実行する

pip install ultralytics

より詳现なむンストヌル手順ずベストプラクティスに぀いおは、Ultralytics むンストヌルガむドを参照しおください。問題が発生した堎合は、よくある問題ガむドを参照しおください。

TensorFlow SavedModel フォヌマットの䞻な特城は䜕ですか

TF SavedModel フォヌマットは、以䞋のような特城があり、AI開発者にずっお有益である

  • 移怍性さたざたな環境での共有ず展開が容易になりたす。
  • 導入の容易さ蚈算グラフ、孊習枈みパラメヌタ、メタデヌタを単䞀のパッケヌゞにカプセル化し、ロヌドず掚論を簡玠化。
  • 資産管理語圙のような倖郚アセットをサポヌトし、モデルのロヌド時に利甚できるようにしたす。

詳しくは、 TensorFlow の公匏ドキュメントをご芧ください。



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

コメント