YOLO26からTF SavedModel形式にエクスポートする方法#
機械学習モデルのデプロイは難しい場合があります。しかし、効率的で柔軟なモデル形式を使用すれば、作業を簡単にできます。TF SavedModelは、機械学習モデルを一貫した方法で保存および読み込むためのTensorFlow標準シリアライズ形式です。TensorFlowモデルを入れて持ち運べるスーツケースのようなもので、さまざまなデバイスやシステムで簡単に使用できます。
Ultralytics YOLO26モデルからTF SavedModelにエクスポートする方法を学ぶと、さまざまなプラットフォームや環境にモデルを簡単にデプロイできます。このガイドでは、モデルをTF SavedModel形式に変換する方法を説明し、さまざまなデバイスでモデルの推論を実行する手順を簡素化します。
TF SavedModelにエクスポートする理由#
以下に示すように、TensorFlow SavedModel形式はGoogleが開発したTensorFlowエコシステムの一部です。TensorFlowモデルをシームレスに保存してシリアライズできるように設計されています。モデルのアーキテクチャや重み、コンパイル情報まで、完全な詳細をまとめて格納します。これにより、さまざまな環境間での共有、デプロイ、トレーニングの継続が簡単になります。
TF SavedModelの主なメリットは互換性です。TensorFlow Serving、LiteRT(旧TensorFlow Lite)、TensorFlow.jsで適切に動作します。この互換性により、Webアプリケーションやモバイルアプリケーションなど、さまざまなプラットフォーム間でモデルを簡単に共有してデプロイできます。TF SavedModel形式は、研究にも本番環境にも役立ちます。モデルを一元的に管理できるため、あらゆるアプリケーションですぐに使える状態にできます。
TF SavedModelの主な機能#
TF SavedModelがAI開発者に適した選択肢となる主な機能は次のとおりです。
-
移植性: TF SavedModelは、言語に依存せず、復元可能で、自己完結型のシリアライズ形式を提供します。これにより、上位レベルのシステムやツールでTensorFlowモデルを生成、利用、変換できます。SavedModelは、さまざまなプラットフォームや環境間で簡単に共有してデプロイできます。
-
デプロイの容易さ: TF SavedModelは、計算グラフ、学習済みパラメーター、必要なメタデータを1つのパッケージにまとめます。モデルを構築した元のコードがなくても簡単に読み込んで推論に使用できます。これにより、さまざまな本番環境で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デバイスで機械学習モデルを実行するための軽量ソリューションであるLiteRT(旧TensorFlow Lite)は、TF SavedModelからLiteRT形式への変換をサポートします。これにより、スマートフォンやタブレットからマイクロコントローラーやエッジデバイスまで、幅広いデバイスにモデルをデプロイできます。
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt)は、TensorFlowグラフを実行するための高性能ランタイムです。C++環境でTF SavedModelを読み込んで実行するための低レベルAPIを提供します。TensorFlow Runtimeは、標準のTensorFlowランタイムよりも優れたパフォーマンスを発揮します。低レイテンシー推論と既存のC++コードベースとの緊密な統合が必要なデプロイ環境に適しています。
対応タスク#
TF SavedModelへのエクスポートは、7つすべてのUltralyticsタスクをサポートします。セマンティックセグメンテーションと深度推定を利用できるのは、これらのヘッドを備えた唯一のファミリーであるYOLO26のみです。
YOLO26モデルをTF SavedModelにエクスポートする#
YOLO26モデルをTF SavedModel形式にエクスポートすると、さまざまなプラットフォームでの適応性とデプロイの容易さが向上します。
インストール#
必要なパッケージをインストールするには、次を実行します。
# Install the required package for YOLO26
pip install ultralyticsインストール手順の詳細とベストプラクティスについては、Ultralyticsのインストールガイドをご覧ください。YOLO26に必要なパッケージのインストールで問題が発生した場合は、解決策とヒントが記載されたよくある問題のガイドをご確認ください。
使用方法#
すべてのUltralytics YOLO26モデルは、追加設定なしでエクスポートできるように設計されているため、希望するデプロイワークフローに簡単に統合できます。アプリケーションに最適な設定を選ぶには、対応するエクスポート形式と設定オプションの一覧をご覧ください。
TF SavedModel形式は、エクスポート、予測、検証モードに対応しています。モデルをエクスポートしてから、エクスポートしたモデルを読み込み、推論を実行するか精度を検証してください。
from ultralytics import YOLO
# YOLO26モデルを読み込みます
model = YOLO("yolo26n.pt")
# モデルをTF SavedModel形式にエクスポート
model.export(format="saved_model") # creates 'yolo26n_saved_model'from ultralytics import YOLO
# エクスポートしたTF SavedModelモデルを読み込む
model = YOLO("./yolo26n_saved_model")
# 推論を実行
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# エクスポートしたTF SavedModelモデルを読み込む
model = YOLO("./yolo26n_saved_model")
# COCO8データセットで精度を検証します
metrics = model.val(data="coco8.yaml")エクスポート引数#
| 引数 | 種類 | デフォルト | 説明 |
|---|---|---|---|
format | str | 'saved_model' | エクスポートしたモデルのターゲットフォーマットです。さまざまなデプロイ環境との互換性を定義します。 |
imgsz | intまたはtuple | 640 | モデル入力の画像サイズです。正方形画像の場合は整数、特定のサイズの場合はタプル(height, width)を指定できます。 |
quantize | intまたはstr | None | 量子化精度: 8(INT8/PTQ。キャリブレーションにはdata/fractionが必要)または32/未設定(FP32)。SavedModelへのエクスポートではFP16はサポートされていません。非推奨のint8フラグを置き換えます。 |
opset | int | None | 中間ONNXグラフのONNX opsetバージョンを指定します。設定しない場合は、サポートされている最新バージョンが使用されます。 |
nms | bool、省略可 | None | raw出力(None、デフォルト)、組み込みNMS(True)、NMSなしのヘッド(False)から選択します。 |
batch | int | 1 | エクスポートモデルのバッチ推論サイズ、またはpredictモードでエクスポートモデルが同時に処理する画像の最大数を指定します。 |
data | str | None | 量子化に必須のデータセットのYAMLへのパスです。分類の場合は、代わりにデータセットディレクトリまたは組み込みデータセット名を指定します。quantize=8を指定しない場合、Ultralyticsはモデルタスクに応じたデフォルトのキャリブレーションデータセットを選択します。 |
fraction | float、int、またはlist | 1.0 | キャリブレーション用サブセットを、比率、画像数、または[train, val, test]の比率/件数として指定します。2項目のリストではtestがすべて含まれ、0では除外されます。 |
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モデルをデプロイする方法については、開発者向けドキュメントをご覧ください。
-
Node.jsでTensorFlow SavedModelを実行する: 変換せずにTensorFlow SavedModelをNode.jsで直接実行する方法を紹介するTensorFlowブログ記事です。
-
クラウドへのデプロイ: TensorFlow SavedModelモデルをCloud AI Platformにデプロイする方法を紹介するTensorFlowのブログ記事です。
概要#
このガイドでは、Ultralytics YOLO26モデルをTF SavedModel形式にエクスポートする方法を説明しました。TF SavedModelにエクスポートすると、幅広いプラットフォームでYOLO26モデルを柔軟に最適化、デプロイ、スケーリングできます。
使用方法の詳細については、TF SavedModel公式ドキュメントをご覧ください。
Ultralytics YOLO26を他のプラットフォームやフレームワークと統合する方法については、統合ガイドページをご確認ください。YOLO26をプロジェクトで最大限に活用するための役立つリソースを多数掲載しています。
よくある質問#
Ultralytics YOLOモデルのTensorFlow SavedModel形式へのエクスポートは簡単です。PythonまたはCLIを使用して実行できます。
YOLO26をTF SavedModelにエクスポートfrom ultralytics import YOLO # YOLO26モデルを読み込みます model = YOLO("yolo26n.pt") # モデルをTF SavedModel形式にエクスポート model.export(format="saved_model") # creates 'yolo26n_saved_model' # エクスポートしたTF SavedModelを推論用に読み込む tf_savedmodel_model = YOLO("./yolo26n_saved_model") results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")詳細については、Ultralyticsのエクスポートに関するドキュメントをご覧ください。
TensorFlow SavedModel形式には、モデルのデプロイにおいて、次のような利点があります。
- 移植性: 言語に依存しない形式であるため、異なる環境間でモデルを簡単に共有、デプロイできます。
- 互換性: TensorFlow Serving、LiteRT、TensorFlow.jsなどのツールとシームレスに連携します。これらのツールは、Webやモバイルアプリを含むさまざまなプラットフォームでモデルをデプロイする際に不可欠です。
- 完全なカプセル化: モデルのアーキテクチャ、重み、コンパイル情報をエンコードするため、共有やトレーニングの再開が簡単になります。
その他のメリットやデプロイ方法については、Ultralytics YOLOモデルのデプロイオプションをご覧ください。
TF SavedModelは、次のようなさまざまな環境にデプロイできます。
- TensorFlow Serving: スケーラブルで高性能なモデルサービングが求められる本番環境に最適です。
- クラウドプラットフォーム: Google Cloud Platform(GCP)、Amazon Web Services(AWS)、Microsoft Azureなどの主要なクラウドサービスに対応し、スケーラブルなモデルデプロイを実現します。
- モバイルデバイスと組み込みデバイス: LiteRT(旧TensorFlow Lite)を使用してTF SavedModelを変換すると、モバイルデバイス、IoTデバイス、マイクロコントローラーにデプロイできます。
- TensorFlow Runtime: 低レイテンシでより高性能な推論が必要なC++環境に適しています。
詳しいデプロイ方法については、TensorFlowモデルのデプロイに関する公式ガイドをご覧ください。
YOLO26モデルをエクスポートするには、
ultralyticsパッケージをインストールする必要があります。ターミナルで次のコマンドを実行してください。pip install ultralytics詳しいインストール手順とベストプラクティスについては、Ultralyticsのインストールガイドをご覧ください。問題が発生した場合は、よくある問題のガイドをご参照ください。
TF SavedModel形式には、次のような特徴があり、AI開発者にとって有用です。
- 移植性: さまざまな環境間で簡単に共有、デプロイできます。
- デプロイの容易さ: 計算グラフ、学習済みパラメーター、メタデータを単一のパッケージにまとめるため、読み込みと推論が簡単になります。
- アセット管理: 語彙データなどの外部アセットに対応し、モデルの読み込み時に利用できるようにします。
詳しくは、TensorFlow公式ドキュメントをご覧ください。