YOLO26からTF SavedModel形式にエクスポートする方法の理解
機械学習モデルのデプロイは困難な場合があります。しかし、効率的で柔軟なモデル形式を使用することで作業を簡素化できます。TF SavedModelは、TensorFlowが機械学習モデルを一貫した方法でロードするために使用するオープンソースの機械学習フレームワークです。これはTensorFlowモデルの「スーツケース」のようなもので、さまざまなデバイスやシステムで簡単に持ち運びや利用ができるようになります。
Ultralytics YOLO26モデルからTF SavedModelへエクスポートする方法を学ぶと、さまざまなプラットフォームや環境間で簡単にモデルをデプロイできるようになります。本ガイドでは、モデルをTF SavedModel形式に変換し、多様なデバイスで推論を実行するプロセスを簡素化する方法を解説します。
TF SavedModelにエクスポートする理由
TensorFlow SavedModel形式は、以下に示す通りGoogleが開発したTensorFlowエコシステムの一部です。これはTensorFlowモデルをシームレスに保存およびシリアル化するように設計されています。モデルのアーキテクチャ、重み、さらにはコンパイル情報といった詳細な情報を完全にカプセル化するため、異なる環境間での共有、デプロイ、継続的なトレーニングが容易になります。
TF SavedModelの重要な利点はその互換性です。これはTensorFlow Serving、TensorFlow Lite、およびTensorFlow.jsでうまく機能します。この互換性により、Webやモバイルアプリケーションを含むさまざまなプラットフォーム間でモデルを共有およびデプロイすることが容易になります。TF SavedModel形式は、研究と本番環境の両方で役立ちます。モデルを管理するための統一された方法を提供し、あらゆるアプリケーションへの準備を確実にします。
TF SavedModelの主な機能
TF SavedModelがAI開発者にとって優れた選択肢である主な機能は以下の通りです。
-
移植性: TF SavedModelは、言語に依存せず、復元可能で、完全なシリアル化形式を提供します。これらにより、上位システムやツールはTensorFlowモデルを生成、消費、変換できます。SavedModelは、さまざまなプラットフォームや環境間で簡単に共有・デプロイできます。
-
デプロイの容易さ: TF SavedModelは、計算グラフ、学習済みパラメータ、必要なメタデータを単一のパッケージにバンドルします。モデルを構築した元のコードを必要とせずに、簡単にロードして推論に使用できます。これにより、さまざまな本番環境でTensorFlowモデルのデプロイが直接的かつ効率的になります。
-
アセット管理: TF SavedModelは、語彙、埋め込み、ルックアップテーブルなどの外部アセットの含めることをサポートします。これらのアセットはグラフ定義や変数とともに保存されるため、モデルをロードした際に利用可能であることが保証されます。この機能により、外部リソースに依存するモデルの管理や配布が簡素化されます。
TF SavedModelによるデプロイの選択肢
YOLO26モデルをTF SavedModel形式にエクスポートするプロセスに進む前に、この形式が使用される一般的なデプロイシナリオをいくつか見てみましょう。
TF SavedModelは、機械学習モデルをデプロイするためのさまざまな選択肢を提供します。
-
TensorFlow Serving: TensorFlow Servingは、本番環境向けに設計された柔軟で高性能なサービングシステムです。TF SavedModelをネイティブでサポートしており、クラウドプラットフォーム、オンプレミスサーバー、またはエッジデバイス上でモデルを簡単にデプロイおよび提供できます。
-
クラウドプラットフォーム: Google Cloud Platform (GCP)、Amazon Web Services (AWS)、Microsoft Azureなどの主要なクラウドプロバイダーは、TF SavedModelを含むTensorFlowモデルをデプロイおよび実行するためのサービスを提供しています。これらのサービスはスケーラブルで管理されたインフラストラクチャを提供し、モデルを簡単にデプロイおよびスケーリングできるようにします。
-
モバイルおよび組み込みデバイス: モバイル、組み込み、IoTデバイスで機械学習モデルを実行するための軽量ソリューションであるTensorFlow Liteは、TF SavedModelからTensorFlow Lite形式への変換をサポートしています。これにより、スマートフォンやタブレットからマイクロコントローラーやエッジデバイスまで、幅広いデバイスにモデルをデプロイできます。
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt)は、TensorFlowグラフを実行するための高性能なランタイムです。C++環境でTF SavedModelをロードして実行するための低レベルAPIを提供します。TensorFlow Runtimeは標準のTensorFlowランタイムと比較して優れたパフォーマンスを提供します。低遅延の推論と既存のC++コードベースとの緊密な統合が必要なデプロイシナリオに適しています。
YOLO26モデルのTF SavedModelへのエクスポート
YOLO26モデルをTF SavedModel形式にエクスポートすることで、さまざまなプラットフォーム間での適応性とデプロイの容易さが向上します。
インストール
必要なパッケージをインストールするには、次を実行します。
# Install the required package for YOLO26
pip install ultralyticsインストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドを確認してください。YOLO26に必要なパッケージをインストールする際に問題が発生した場合は、共通の問題ガイドで解決策とヒントを参照してください。
使用方法
すべてのUltralytics YOLO26モデルは、標準でエクスポートをサポートするように設計されており、好みのデプロイワークフローに簡単に統合できます。サポートされているエクスポート形式と構成オプションの全リストを確認して、アプリケーションに最適なセットアップを選択してください。
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo26n_saved_model'
# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolo26n_saved_model")
# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")エクスポート引数
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
format | str | 'saved_model' | エクスポートされたモデルのターゲットフォーマット。さまざまなデプロイ環境との互換性を定義します。 |
imgsz | int または tuple | 640 | モデル入力に希望する画像サイズ。正方形の画像の場合は整数、特定の寸法のタプル (height, width) で指定できます。 |
keras | bool | False | Keras形式へのエクスポートを有効にし、TensorFlow ServingおよびAPIとの互換性を提供します。 |
int8 | bool | False | INT8量子化をアクティブにし、主にエッジデバイス向けに、精度の損失を最小限に抑えながらモデルをさらに圧縮し、推論を高速化します。 |
nms | bool | False | Non-Maximum Suppression(NMS)を追加します。これは、正確で効率的な検出後処理に不可欠です。 |
batch | int | 1 | エクスポートされたモデルのバッチ推論サイズ、または predict モードでモデルが同時に処理する画像の最大数を指定します。 |
data | str | 'coco8.yaml' | データセット構成ファイルへのパス(デフォルト: coco8.yaml)。量子化に不可欠です。 |
fraction | float | 1.0 | INT8 量子化キャリブレーションに使用するデータセットの割合を指定します。フルデータセットの一部を使用してキャリブレーションを行うことができ、実験時やリソースが限られている場合に便利です。INT8 を有効にして指定されていない場合は、フルデータセットが使用されます。 |
device | str | None | エクスポート用のデバイスを指定します:CPU (device=cpu)、Appleシリコン用MPS (device=mps)。 |
エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。
エクスポートされたYOLO26 TF SavedModelモデルのデプロイ
YOLO26モデルをTF SavedModel形式にエクスポートできたら、次のステップはデプロイです。TF SavedModelモデルを実行するための最初で推奨される手順は、前述のコード例のように YOLO("yolo26n_saved_model/") メソッドを使用することです。
ただし、TF SavedModelモデルのデプロイに関する詳細な手順については、以下のリソースを参照してください。
-
TensorFlow Serving: TensorFlow Servingを使用してTF SavedModelモデルをデプロイする方法に関する開発者向けドキュメントです。
-
Run a TensorFlow SavedModel in Node.js: 変換なしでNode.jsでTensorFlow SavedModelを直接実行する方法に関するTensorFlowのブログ投稿です。
-
Deploying on Cloud: Cloud AI Platform上でTensorFlow SavedModelモデルをデプロイする方法に関するTensorFlowのブログ投稿です。
まとめ
本ガイドでは、Ultralytics YOLO26モデルをTF SavedModel形式にエクスポートする方法について説明しました。TF SavedModelにエクスポートすることで、幅広いプラットフォームでYOLO26モデルを最適化、デプロイ、スケーリングする柔軟性が得られます。
使用方法の詳細については、TF SavedModel公式ドキュメントをご覧ください。
Ultralytics YOLO26と他のプラットフォームやフレームワークの統合に関する詳細については、インテグレーションガイドページを忘れずに確認してください。プロジェクトでYOLO26を最大限に活用するための優れたリソースが満載です。
FAQ
Ultralytics YOLOモデルをTensorFlow SavedModel形式にエクスポートするにはどうすればよいですか?
Ultralytics YOLOモデルをTensorFlow SavedModel形式にエクスポートするのは簡単です。PythonまたはCLIを使用してこれを実行できます。
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo26n_saved_model'
# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo26n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")詳細については、Ultralyticsエクスポートドキュメントを参照してください。
なぜTensorFlow SavedModel形式を使用すべきなのですか?
TensorFlow SavedModel形式は、モデルデプロイにおいていくつかの利点があります。
- 移植性: 言語に依存しない形式を提供するため、異なる環境間でモデルを簡単に共有およびデプロイできます。
- 互換性: TensorFlow Serving、TensorFlow Lite、TensorFlow.jsなどのツールとシームレスに統合され、Webやモバイルアプリケーションを含むさまざまなプラットフォームでモデルをデプロイするために不可欠です。
- 完全なカプセル化: モデルのアーキテクチャ、重み、コンパイル情報をエンコードするため、共有やトレーニングの継続が容易になります。
その他の利点とデプロイの選択肢については、Ultralytics YOLOモデルデプロイオプションを確認してください。
TF SavedModelの典型的なデプロイシナリオは何ですか?
TF SavedModelは、以下を含むさまざまな環境にデプロイできます。
- TensorFlow Serving: スケーラブルで高性能なモデルサービングが必要な本番環境に最適です。
- クラウドプラットフォーム: スケーラブルなモデルデプロイのために、Google Cloud Platform (GCP)、Amazon Web Services (AWS)、Microsoft Azureなどの主要なクラウドサービスをサポートしています。
- モバイルおよび組み込みデバイス: TensorFlow Liteを使用してTF SavedModelを変換することで、モバイルデバイス、IoTデバイス、マイクロコントローラーへのデプロイが可能になります。
- TensorFlow Runtime: パフォーマンスが向上し、低遅延の推論が必要なC++環境向け。
詳細なデプロイの選択肢については、TensorFlowモデルのデプロイに関する公式ガイドをご覧ください。
YOLO26モデルをエクスポートするために必要なパッケージをインストールするにはどうすればよいですか?
YOLO26モデルをエクスポートするには、ultralyticsパッケージをインストールする必要があります。ターミナルで次のコマンドを実行してください。
pip install ultralyticsより詳細なインストール手順とベストプラクティスについては、Ultralyticsインストールガイドを参照してください。問題が発生した場合は、共通の問題ガイドを確認してください。
TensorFlow SavedModel形式の主な特徴は何ですか?
TF SavedModel形式は、以下の機能によりAI開発者にとって有益です。
- 移植性: さまざまな環境間で手間をかけずに共有およびデプロイできます。
- デプロイの容易さ: 計算グラフ、学習済みパラメータ、メタデータを単一のパッケージにカプセル化するため、ロードと推論が簡素化されます。
- アセット管理: 語彙などの外部アセットをサポートしており、モデルのロード時にこれらを利用可能です。
詳細については、TensorFlow公式ドキュメントを確認してください。