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)を指定できます。 |
half | bool | False | FP16(半精度)量子化を有効にし、モデルサイズを縮小して、対応ハードウェアでの推論を高速化する可能性があります。 |
int8 | bool | False | INT8量子化を有効にし、モデルをさらに圧縮して推論を高速化します。精度 の損失を最小限に抑え、主にエッジデバイス向けに使用されます。 |
nms | bool | False | NMS (Non-Maximum Suppression) を追加します。これは、正確かつ効率的な検出後処理に不可欠です。 |
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 sectionFAQ#
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ではNode.js環境へのYOLO26モデルのデプロイが可能です。これにより、サーバーの処理能力やサーバーサイドデータへのアクセスを活かしたサーバーサイドの機械学習アプリケーションを実現できます。一般的な使用例には、バックエンドサーバーでのリアルタイムデータ処理や機械学習パイプラインなどがあります。
Node.jsでのデプロイを開始するには、TensorFlowのNode.jsでTensorFlow.jsを実行するガイドを参照してください。