コンテンツへスキップ

から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をネイティブにサポートし、クラウドプラットフォーム、オンプレミスサーバー、エッジデバイスへのモデルのデプロイと提供を容易にします。

  • Cloud Platforms: Major cloud providers like Google Cloud Platform (GCP), Amazon Web Services (AWS), and Microsoft Azure offer services for deploying and running TensorFlow models, including TF SavedModels. These services provide scalable and managed infrastructure, allowing you to deploy and scale your models easily.

  • モバイルおよび組み込みデバイス: 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 サービングスケーラブルで高性能なモデルサービングを必要とするプロダクション環境に最適。
  • Cloud Platforms: Supports major cloud services like Google Cloud Platform (GCP), Amazon Web Services (AWS), and Microsoft Azure for scalable model deployment.
  • モバイルおよび組み込みデバイス: 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)

コメント