YOLO26モデル形式からTF.jsモデル形式へのエクスポート#
Ultralytics 8.4.83時点以降、tfjs(TensorFlow.js)のエクスポート形式は削除され、統合された**Google LiteRT**形式に置き換えられました。LiteRTはLiteRT.js(WebGPUアクセラレーション付き)を介してブラウザで実行され、TF.jsが処理していたブラウザおよびNode.jsのユースケースに加え、モバイル、組み込み、エッジを単一の .tflite モデルからカバーします。
format="tfjs"は引き続き機能しますが、非推奨の警告が出力され、代わりにLiteRTモデルがエクスポートされます。今後は**format="litert"を使用してください**。現在のエクスポート手順およびブラウザでのデプロイパスについては、**LiteRT export guide**を参照してください。
機械学習モデルをブラウザ上やNode.js上で直接デプロイするのは複雑な場合があります。モデルをユーザーのデバイス上でローカルに実行してインタラクティブなアプリケーションを動かせるよう、パフォーマンス向上のためにモデル形式が最適化されていることを確認する必要があります。TensorFlow.js、すなわちTF.jsのモデル形式は、最小限の電力消費で高速なパフォーマンスを発揮するように設計されています。
「TF.jsモデル形式へエクスポート」機能を使用すると、Ultralytics YOLO26モデルを最適化して、高速かつローカルで実行される物体検出推論を行うことができます。このガイドでは、モデルをTF.js形式に変換する手順を説明し、さまざまなローカルブラウザやNode.jsアプリケーションでモデルが優れたパフォーマンスを発揮できるようにします。
なぜTF.jsへエクスポートする必要があるのか?#
機械学習モデルを、より広範なTensorFlowエコシステムの一部としてTensorFlowチームによって開発されたTensorFlow.jsへエクスポートすると、機械学習アプリケーションのデプロイにおいて多くの利点が得られます。機密データをデバイス上に保持することで、ユーザーのプライバシーとセキュリティの向上に役立ちます。下の画像は、TensorFlow.jsのアーキテクチャと、機械学習モデルがどのように変換され、WebブラウザとNode.jsの両方にデプロイされるかを示しています。
モデルをローカルで実行すると、レイテンシが削減され、より応答性の高いユーザー体験が提供されます。TensorFlow.jsにはオフライン機能も備わっており、インターネット接続がない状態でもユーザーがアプリケーションを使用できるようになります。TF.jsはGPUアクセラレーションのサポートにより拡張性を考慮して設計されているため、リソースが制限されたデバイス上でも複雑なモデルを効率的に実行できるように設計されています。
TF.jsの主な機能#
開発者にとってTF.jsを強力なツールにしている主な機能は以下の通りです:
-
クロスプラットフォーム対応: TensorFlow.jsはブラウザとNode.jsの両方の環境で使用でき、さまざまなプラットフォーム間でのデプロイに柔軟性を提供します。これにより、開発者はアプリケーションの構築とデプロイをより簡単に行うことができます。
-
マルチバックエンド対応: TensorFlow.jsは、CPU、GPUアクセラレーションのためのWebGL、ほぼネイティブの実行速度を実現するWebAssembly (WASM)、高度なブラウザベースの機械学習機能のためのWebGPUなど、計算のためのさまざまなバックエンドをサポートしています。
-
オフライン機能: TensorFlow.jsを使用すると、インターネット接続なしでブラウザ内でモデルを実行できるため、オフラインでも機能するアプリケーションの開発が可能です。
TensorFlow.jsでのデプロイオプション#
YOLO26モデルをTF.js形式にエクスポートするプロセスを詳しく説明する前に、この形式が一般的に使用されるデプロイシナリオをいくつか紹介します。
TF.jsは、機械学習モデルをデプロイするためのさまざまなオプションを提供しています:
-
ブラウザ内MLアプリケーション: ブラウザ内で直接機械学習モデルを実行するWebアプリケーションを構築できます。サーバー側の計算の必要性がなくなり、サーバーの負荷が軽減されます。
-
Node.jsアプリケーション: TensorFlow.jsはNode.js環境でのデプロイもサポートしており、サーバーサイドの機械学習アプリケーションの開発を可能にします。サーバーの処理能力やサーバー側データへのアクセスが必要なアプリケーションに特に有用です。
-
Chrome拡張機能: 興味深いデプロイシナリオとして、TensorFlow.jsを使用したChrome拡張機能の作成があります。例えば、ユーザーがWebページ上の画像を右クリックして、事前学習済みのMLモデルを使用して分類できる拡張機能を開発できます。TensorFlow.jsを日常のWebブラウジング体験に統合することで、機械学習に基づいた即時のインサイトや拡張機能を提供できます。
YOLO26モデルをTensorFlow.jsへエクスポートする#
YOLO26モデルをTF.jsに変換することで、モデルの互換性とデプロイの柔軟性を高めることができます。
インストール#
必要なパッケージをインストールするには、以下を実行してください:
# Install the required package for YOLO26
pip install ultralyticsインストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO26に必要なパッケージのインストール中に問題が発生した場合は、一般的な問題ガイドを参照して解決策とヒントを確認してください。
使用方法#
すべての Ultralytics YOLO26 モデルは、標準でエクスポートをサポートするように設計されているため、お好みのデプロイワークフローに簡単に統合できます。サポートされているエクスポート形式と構成オプションの全リストを表示して、アプリケーションに最適なセットアップを選択できます。
tfjs引数は現在、LiteRTの .tfliteモデルをエクスポートします。これは、Export、Predict、Validateの各モードをローカルでサポートし、LiteRT.jsを介してブラウザで実行されます。現在のブラウザおよびオンデバイスのデプロイパスについては、LiteRT export guideを参照してください。
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="litert", imgsz=640) # use imgsz=224 for classificationエクスポートされたLiteRTの .tfliteモデルは、yolo predictおよび yolo valを使用して直接読み込まれ、LiteRT.jsを介してブラウザで実行されます。LiteRT export guideを参照してください。
エクスポートの引数#
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
format | str | 'tfjs' | エクスポートするモデルのターゲット形式。さまざまなデプロイ環境との互換性を定義します。 |
imgsz | int または tuple | 640 | モデル入力の希望する画像サイズ。正方形の画像の場合は整数、特定の寸法の指定にはタプル (height, width) を使用できます。 |
quantize | int または str | None | 量子化精度: 8(静的 INT8、int8 重み + int8 活性化関数; キャリブレーション data/fraction が必要)、'w8a16'(静的、int8 重み + int16 活性化関数; キャリブレーション data/fraction が必要)、'w8a32'(動的 INT8、int8 重み + FP32 活性化関数; キャリブレーション不要)、または 32 / 未設定(FP32)。FP16 は個別にエクスポートされません。FP32 モデルは GPU デリゲート上で自動的に FP16 で実行されます。非推奨の half/int8 フラグに代わるものです。 |
batch | int | 1 | エクスポートモデルのバッチ推論サイズ、またはpredictモードでエクスポートされたモデルが同時に処理する画像の最大数を指定します。 |
data | str | None | データセット YAML へのパスであり、量子化に不可欠です。分類の場合は代わりにデータセットディレクトリまたは組み込みデータセット名を指定します。quantize=8 または 'w8a16' で省略した場合、Ultralytics はモデルタスクのデフォルトのキャリブレーションデータセットを選択します。 |
fraction | float、int、または list | 1.0 | 比率、画像数、または[train, val, test]の比率/数としてのキャリブレーションサブセット。2項目のリストはtestをそのまま維持し、一方0はそれをスキップします。 |
device | str | None | エクスポートするデバイスを指定します: CPU(device=cpu)、Apple シリコン用 MPS(device=mps)。 |
エクスポートプロセスの詳細については、Ultralytics documentation page on exporting をご覧ください。
エクスポートされたYOLO26 TensorFlow.jsモデルのデプロイ#
YOLO26モデルのエクスポートが完了したら、次のステップはデプロイです。エクスポートにより、オンデバイスおよびLiteRT.jsを介してブラウザで実行されるLiteRTの .tfliteモデルが生成されます。現在のパスについては、LiteRT export guideを参照してください。
参考として、従来のTensorFlow.jsランタイムリソースを以下に示します:
-
Chrome Extension: TF.jsモデルをChrome拡張機能にデプロイする方法に関する開発者向けドキュメントです。
-
Run TensorFlow.js in Node.js: TensorFlow.jsをNode.jsで直接実行する方法についてのTensorFlow公式ブログ記事です。
-
Deploying TensorFlow.js - Node Project on Cloud Platform: クラウドプラットフォーム上でTensorFlow.jsモデルをデプロイする方法についてのTensorFlow公式ブログ記事です。
要約#
このガイドでは、Ultralytics YOLO26モデルをTensorFlow.js形式にエクスポートする方法を学びました。TF.jsへエクスポートすることで、YOLO26モデルをさまざまなプラットフォームで最適化、デプロイ、スケーリングする柔軟性が得られます。
使用方法の詳細については、TensorFlow.js公式ドキュメントをご覧ください。
Ultralytics YOLO26を他のプラットフォームやフレームワークと統合する方法の詳細については、統合ガイドページをぜひご覧ください。プロジェクトでYOLO26を最大限に活用するのに役立つ優れたリソースが満載です。
よくある質問 (FAQ)#
Ultralytics YOLO26モデルのTensorFlow.js (TF.js)形式へのエクスポートは簡単です。以下の手順に従ってください:
使用方法from ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export the model to TF.js format model.export(format="litert", imgsz=640) # use imgsz=224 for classification # The exported '.tflite' model runs in the browser via LiteRT.js or locally with yolo predict/val.サポートされているエクスポートオプションの詳細については、Ultralytics documentation page on deployment optionsをご覧ください。
YOLO26モデルをTensorFlow.jsへエクスポートすることには、以下のような多くの利点があります:
- ローカル実行: モデルをブラウザまたはNode.jsで直接実行できるため、レイテンシが減少し、ユーザーエクスペリエンスが向上します。
- クロスプラットフォーム対応: TF.jsは複数の環境をサポートしており、デプロイに柔軟性をもたらします。
- オフライン機能: インターネット接続なしでアプリケーションを機能させることができ、信頼性とプライバシーを確保します。
- GPUアクセラレーション: WebGLを利用してGPUアクセラレーションを実現し、リソースが制限されたデバイス上でのパフォーマンスを最適化します。
TensorFlow.jsは、ブラウザおよびNode.js環境でMLモデルを効率的に実行するために特別に設計されています。ブラウザベースのアプリケーションに対するメリットは以下の通りです:
- レイテンシの低減: 機械学習モデルをローカルで実行することで、サーバー側の計算に頼ることなく即座に結果を提供します。
- プライバシーの向上: 機密データをユーザーのデバイス上に保持することで、セキュリティリスクを最小限に抑えます。
- オフライン利用の実現: インターネット接続なしでもモデルが動作するため、一貫した機能性を確保できます。
- マルチバックエンド対応: CPU、WebGL、WebAssembly (WASM)、WebGPUといったバックエンドにより、さまざまな計算ニーズに応える柔軟性を提供します。
TF.jsについてさらに詳しく知りたいですか?公式TensorFlow.jsガイドをご確認ください。
TensorFlow.jsの主な機能は以下の通りです:
- クロスプラットフォーム対応: TF.jsはWebブラウザとNode.jsの両方で使用でき、デプロイの柔軟性が非常に高いです。
- マルチバックエンド: CPU、GPUアクセラレーションのためのWebGL、WebAssembly (WASM)、高度な操作のためのWebGPUをサポートしています。
- オフライン機能: モデルをブラウザで直接、インターネット接続なしで実行できるため、応答性の高いWebアプリケーションの開発に最適です。
デプロイのシナリオおよびより詳細な情報については、Deployment Options with TensorFlow.jsのセクションをご覧ください。
はい、TensorFlow.jsを使用すると、YOLO26モデルをNode.js環境にデプロイできます。これにより、サーバーの処理能力やサーバー側データへのアクセスを活用するサーバーサイドの機械学習アプリケーションが可能になります。一般的なユースケースには、バックエンドサーバーでのリアルタイムデータ処理や機械学習パイプラインなどがあります。
Node.jsでのデプロイを始めるには、TensorFlowのRun TensorFlow.js in Node.jsガイドをご参照ください。