Link to this sectionYOLO26モデル形式からTF.jsモデル形式へのエクスポート#
機械学習モデルをブラウザやNode.js上で直接デプロイすることは難しい場合があります。ユーザーのデバイス上でインタラクティブなアプリケーションをローカルで実行できるようにするには、高速なパフォーマンスが得られるようモデル形式を最適化する必要があります。TensorFlow.js(TF.js)モデル形式は、少ない電力消費で高速なパフォーマンスを発揮するように設計されています。
'TF.jsモデル形式へエクスポート'機能を使用すると、Ultralytics YOLO26モデルを、高速かつローカルで実行可能な物体検出推論用に最適化できます。このガイドでは、モデルをTF.js形式に変換する手順を説明し、さまざまなローカルブラウザやNode.jsアプリケーションでモデルがスムーズに動作するようにします。
Link to this sectionなぜTF.jsへエクスポートする必要があるのか?#
機械学習モデルを、より広範なTensorFlowエコシステムの一部としてTensorFlowチームによって開発されたTensorFlow.jsへエクスポートすると、機械学習アプリケーションのデプロイにおいて多くの利点が得られます。機密データをデバイス上に保持することで、ユーザーのプライバシーとセキュリティの向上に役立ちます。下の画像は、TensorFlow.jsのアーキテクチャと、機械学習モデルがどのように変換され、WebブラウザとNode.jsの両方にデプロイされるかを示しています。
また、モデルをローカルで実行することで、レイテンシを低減し、より応答性の高いユーザーエクスペリエンスを提供できます。TensorFlow.jsにはオフライン機能もあり、インターネット接続がない環境でもアプリケーションを使用できるようになります。TF.jsはスケーラビリティを考慮して設計されており、GPUアクセラレーションをサポートしているため、リソースが制限されたデバイス上でも複雑なモデルを効率的に実行できます。
Link to this sectionTF.jsの主な機能#
開発者にとってTF.jsを強力なツールにしている主な機能は以下の通りです:
-
クロスプラットフォーム対応: TensorFlow.jsはブラウザとNode.jsの両方の環境で使用でき、さまざまなプラットフォーム間でのデプロイに柔軟性を提供します。これにより、開発者はアプリケーションの構築とデプロイをより簡単に行うことができます。
-
マルチバックエンド対応: TensorFlow.jsは、CPU、GPUアクセラレーションのためのWebGL、ほぼネイティブの実行速度を実現するWebAssembly (WASM)、高度なブラウザベースの機械学習機能のためのWebGPUなど、計算のためのさまざまなバックエンドをサポートしています。
-
オフライン機能: TensorFlow.jsを使用すると、インターネット接続なしでブラウザ内でモデルを実行できるため、オフラインでも機能するアプリケーションの開発が可能です。
Link to this sectionTensorFlow.jsでのデプロイオプション#
YOLO26モデルをTF.js形式にエクスポートするプロセスを詳しく説明する前に、この形式が一般的に使用されるデプロイシナリオをいくつか紹介します。
TF.jsは、機械学習モデルをデプロイするためのさまざまなオプションを提供しています:
-
ブラウザ内MLアプリケーション: ブラウザ内で直接機械学習モデルを実行するWebアプリケーションを構築できます。サーバー側の計算の必要性がなくなり、サーバーの負荷が軽減されます。
-
Node.jsアプリケーション: TensorFlow.jsはNode.js環境でのデプロイもサポートしており、サーバーサイドの機械学習アプリケーションの開発を可能にします。サーバーの処理能力やサーバー側データへのアクセスが必要なアプリケーションに特に有用です。
-
Chrome拡張機能: 興味深いデプロイシナリオとして、TensorFlow.jsを使用したChrome拡張機能の作成があります。例えば、ユーザーがWebページ上の画像を右クリックして、事前学習済みのMLモデルを使用して分類できる拡張機能を開発できます。TensorFlow.jsを日常のWebブラウジング体験に統合することで、機械学習に基づいた即時のインサイトや拡張機能を提供できます。
Link to this sectionYOLO26モデルをTensorFlow.jsへエクスポートする#
YOLO26モデルをTF.jsに変換することで、モデルの互換性とデプロイの柔軟性を高めることができます。
Link to this sectionインストール#
必要なパッケージをインストールするには、以下を実行してください:
# Install the required package for YOLO26
pip install ultralyticsインストールプロセスの詳細およびベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO26に必要なパッケージをインストールする際に問題が発生した場合は、解決策とヒントについて共通の問題ガイドを参照してください。
Link to this section使用方法#
すべてのUltralytics YOLO26モデルは、導入後すぐにエクスポートをサポートするように設計されており、好みの展開ワークフローに簡単に統合できます。サポートされているエクスポートフォーマットと設定オプションの全リストを表示して、アプリケーションに最適な構成を選択してください。
TF.js形式はUltralyticsにおいてエクスポートのみの形式です。予測(Predict)と検証(Validate)はローカルでは利用できません。エクスポートされたモデルは、TensorFlow.jsランタイムを使用してブラウザまたはNode.jsアプリケーションにデプロイしてください。
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'UltralyticsはローカルでのTF.js推論バックエンドを提供していないため、yolo predictやyolo valは_web_modelをロードできません。エクスポートされたモデルは、代わりにWebまたはNode.jsアプリケーション内のTensorFlow.jsランタイムで実行してください。
Link to this sectionエクスポートの引数#
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
format | str | 'tfjs' | エクスポートするモデルのターゲット形式。さまざまなデプロイ環境との互換性を定義します。 |
imgsz | intまたはtuple | 640 | モデル入力用の希望する画像サイズ。正方形画像の場合は整数、特定の寸法の場合はタプル(height, width)を指定できます。 |
quantize | int または str | None | 量子化精度: 16 (FP16) または 8 (INT8/PTQ。キャリブレーション data/fraction が必要)、32/未設定は FP32 です。非推奨となった half/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のエクスポートに関するドキュメントページを参照してください。
Link to this sectionエクスポートされたYOLO26 TensorFlow.jsモデルのデプロイ#
YOLO26モデルをTF.js形式にエクスポートしたら、次のステップはデプロイです。UltralyticsはローカルのTF.js推論バックエンドを提供していないため、エクスポートされた_web_modelは、ブラウザまたはNode.jsアプリケーション内のTensorFlow.jsランタイムで直接実行するように意図されています。
TF.jsモデルのデプロイに関する詳細な手順については、以下のリソースを参照してください:
-
Chrome拡張機能: TF.jsモデルをChrome拡張機能にデプロイする方法に関する開発者向けドキュメントです。
-
Node.jsでTensorFlow.jsを実行: TensorFlow.jsをNode.jsで直接実行する方法について解説したTensorFlowのブログ記事です。
-
TensorFlow.jsのデプロイ - クラウドプラットフォーム上のNodeプロジェクト: TensorFlow.jsモデルをクラウドプラットフォームにデプロイする方法に関するTensorFlowのブログ記事です。
Link to this section要約#
このガイドでは、Ultralytics YOLO26モデルをTensorFlow.js形式にエクスポートする方法を学びました。TF.jsへエクスポートすることで、YOLO26モデルをさまざまなプラットフォームで最適化、デプロイ、スケーリングする柔軟性が得られます。
使用方法の詳細については、TensorFlow.js公式ドキュメントをご覧ください。
Ultralytics YOLO26を他のプラットフォームやフレームワークと統合する方法については、統合ガイドページを必ず確認してください。プロジェクトでYOLO26を最大限に活用するための優れたリソースが満載です。
Link to this sectionよくある質問 (FAQ)#
Link to this sectionUltralytics YOLO26モデルをTensorFlow.js形式にエクスポートするにはどうすればよいですか?#
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="tfjs") # creates '/yolo26n_web_model'
# Deploy the exported '_web_model' with the TensorFlow.js runtime in a browser or Node.js app.
# Ultralytics does not provide a local TF.js inference backend.サポートされているエクスポートオプションの詳細については、Ultralyticsのデプロイオプションに関するドキュメントページをご覧ください。
Link to this sectionなぜYOLO26モデルをTensorFlow.jsにエクスポートする必要があるのですか?#
YOLO26モデルをTensorFlow.jsへエクスポートすることには、以下のような多くの利点があります:
- ローカル実行: モデルをブラウザまたはNode.jsで直接実行できるため、レイテンシが減少し、ユーザーエクスペリエンスが向上します。
- クロスプラットフォーム対応: TF.jsは複数の環境をサポートしており、デプロイに柔軟性をもたらします。
- オフライン機能: インターネット接続なしでアプリケーションを機能させることができ、信頼性とプライバシーを確保します。
- GPUアクセラレーション: WebGLを利用してGPUアクセラレーションを実現し、リソースが制限されたデバイス上でのパフォーマンスを最適化します。
Link to this sectionTensorFlow.jsはブラウザベースの機械学習アプリケーションにどのようなメリットをもたらしますか?#
TensorFlow.jsは、ブラウザおよびNode.js環境でMLモデルを効率的に実行するために特別に設計されています。ブラウザベースのアプリケーションに対するメリットは以下の通りです:
- レイテンシの低減: 機械学習モデルをローカルで実行することで、サーバー側の計算に頼ることなく即座に結果を提供します。
- プライバシーの向上: 機密データをユーザーのデバイス上に保持することで、セキュリティリスクを最小限に抑えます。
- オフライン利用の実現: インターネット接続なしでもモデルが動作するため、一貫した機能性を確保できます。
- マルチバックエンド対応: CPU、WebGL、WebAssembly (WASM)、WebGPUといったバックエンドにより、さまざまな計算ニーズに応える柔軟性を提供します。
TF.jsについてさらに詳しく知りたいですか?公式TensorFlow.jsガイドをチェックしてください。
Link to this sectionYOLO26モデルをデプロイするためのTensorFlow.jsの主な機能は何ですか?#
TensorFlow.jsの主な機能は以下の通りです:
- クロスプラットフォーム対応: TF.jsはWebブラウザとNode.jsの両方で使用でき、デプロイの柔軟性が非常に高いです。
- マルチバックエンド: CPU、GPUアクセラレーションのためのWebGL、WebAssembly (WASM)、高度な操作のためのWebGPUをサポートしています。
- オフライン機能: モデルをブラウザで直接、インターネット接続なしで実行できるため、応答性の高いWebアプリケーションの開発に最適です。
デプロイシナリオや詳細情報については、TensorFlow.jsでのデプロイオプションのセクションをご覧ください。
Link to this sectionTensorFlow.jsを使用して、サーバー側のNode.jsアプリケーションにYOLO26モデルをデプロイできますか?#
はい、TensorFlow.jsを使用すると、YOLO26モデルをNode.js環境にデプロイできます。これにより、サーバーの処理能力やサーバー側データへのアクセスを活用するサーバーサイドの機械学習アプリケーションが可能になります。一般的なユースケースには、バックエンドサーバーでのリアルタイムデータ処理や機械学習パイプラインなどがあります。
Node.jsでのデプロイを開始するには、TensorFlowのNode.jsでTensorFlow.jsを実行ガイドを参照してください。