YOLO11 モデル形式から TF.js モデル形式へのエクスポート
機械学習モデルをブラウザまたはNode.jsに直接デプロイするのは難しい場合があります。モデル形式がより高速なパフォーマンスに最適化されていることを確認する必要があります。これにより、モデルを使用して、ユーザーのデバイス上でローカルに対話型アプリケーションを実行できます。TensorFlow.js、またはTF.jsモデル形式は、最小限の電力を使用しながら高速なパフォーマンスを実現するように設計されています。
「TF.jsモデル形式へのエクスポート」機能を使用すると、高速でローカル実行の物体検出推論用にUltralytics YOLO11モデルを最適化できます。このガイドでは、モデルを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など、計算のために様々なバックエンドをサポートしています。
-
Offline Capabilities: TensorFlow.jsを使用すると、モデルはインターネット接続を必要とせずにブラウザで実行できるため、オフラインで機能するアプリケーションを開発できます。
TensorFlow.jsでのデプロイメントオプション
YOLO11モデルをTF.js形式にエクスポートするプロセスに入る前に、この形式が使用される一般的なデプロイシナリオをいくつか見てみましょう。
TF.jsは、機械学習モデルをデプロイするためのさまざまなオプションを提供します。
-
ブラウザ内MLアプリケーション: ブラウザで直接機械学習モデルを実行するWebアプリケーションを構築できます。サーバー側の計算の必要がなくなり、サーバーの負荷が軽減されます。
-
Node.jsアプリケーション: TensorFlow.jsは、Node.js環境でのデプロイメントもサポートしており、サーバー側の機械学習アプリケーションの開発を可能にします。サーバーの処理能力やサーバー側のデータへのアクセスを必要とするアプリケーションに特に役立ちます。
-
Chrome拡張機能: 興味深いデプロイメントシナリオは、TensorFlow.jsを使用したChrome拡張機能の作成です。たとえば、ユーザーがあらゆるウェブページ内の画像を右クリックして、事前トレーニング済みのMLモデルを使用して分類できる拡張機能を開発できます。TensorFlow.jsは、日常のウェブブラウジング体験に統合して、機械学習に基づいた即時の洞察や拡張機能を提供できます。
YOLO11モデルをTensorFlow.jsへエクスポート
YOLO11モデルをTF.jsに変換することで、モデルの互換性とデプロイの柔軟性を拡張できます。
インストール
必要なパッケージをインストールするには、以下を実行します:
インストール
# Install the required package for YOLO11
pip install ultralytics
インストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO11に必要なパッケージのインストール中に問題が発生した場合は、よくある問題ガイドで解決策とヒントを参照してください。
使用法
すべてのUltralytics YOLO11モデルは、すぐにエクスポートできるように設計されており、お好みのデプロイメントワークフローに簡単に統合できます。アプリケーションに最適なセットアップを選択するために、サポートされているエクスポート形式と構成オプションの完全なリストを表示できます。
使用法
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo11n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF.js format
yolo export model=yolo11n.pt format=tfjs # creates '/yolo11n_web_model'
# Run inference with the exported model
yolo predict model='./yolo11n_web_model' source='https://ultralytics.com/images/bus.jpg'
エクスポート引数
引数 | 種類 | デフォルト | 説明 |
---|---|---|---|
format |
str |
'tfjs' |
エクスポートされたモデルのターゲット形式。さまざまなデプロイメント環境との互換性を定義します。 |
imgsz |
int または tuple |
640 |
モデル入力に必要な画像サイズ。正方形の画像の場合は整数、タプルの場合は (height, width) 特定の寸法の場合。 |
half |
bool |
False |
FP16(半精度)量子化を有効にし、モデルサイズを縮小し、サポートされているハードウェアでの推論を高速化する可能性があります。 |
int8 |
bool |
False |
INT8量子化を有効にすると、モデルがさらに圧縮され、精度の低下を最小限に抑えながら推論が高速化されます。主にエッジデバイス向けです。 |
nms |
bool |
False |
Non-Maximum Suppression (NMS) を追加しました。これは、正確で効率的な検出後処理に不可欠です。 |
batch |
int |
1 |
エクスポートされたモデルのバッチ推論サイズ、またはエクスポートされたモデルが同時に処理する画像の最大数を指定します。 predict モードを参照してください。 |
device |
str |
None |
エクスポート先のデバイスを指定します:CPU (device=cpu )、Apple シリコン用 MPS (device=mps )。 |
エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。
エクスポートされたYOLO11 TensorFlow.jsモデルのデプロイ
YOLO11モデルをTF.js形式にエクスポートしたので、次のステップはデプロイです。TF.jsモデルを実行するための主要かつ推奨される最初のステップは、以下を使用することです。 YOLO("./yolo11n_web_model")
メソッド。使用法のコードスニペットで既に示したとおりです。
ただし、TF.jsモデルのデプロイに関する詳細な手順については、以下のリソースをご覧ください。
-
Chrome拡張機能: TF.jsモデルをChrome拡張機能にデプロイする方法に関する開発者向けドキュメントはこちらです。
-
Node.jsでTensorFlow.jsを実行する: Node.jsでTensorFlow.jsを直接実行することに関するTensorFlowのブログ投稿。
-
クラウドプラットフォームへのTensorFlow.js - Nodeプロジェクトのデプロイ: クラウドプラットフォームへのTensorFlow.jsモデルのデプロイに関するTensorFlowのブログ記事です。
概要
このガイドでは、Ultralytics YOLO11モデルをTensorFlow.js形式にエクスポートする方法を学びました。TF.jsにエクスポートすることで、YOLO11モデルを最適化、展開、および幅広いプラットフォームで拡張できる柔軟性が得られます。
使用方法の詳細については、TensorFlow.jsの公式ドキュメントをご覧ください。
Ultralytics YOLO11 と他のプラットフォームやフレームワークとの統合に関する詳細については、統合ガイドページをご覧ください。プロジェクトで YOLO11 を最大限に活用するのに役立つ優れたリソースが満載です。
よくある質問
Ultralytics YOLO11モデルをTensorFlow.js形式にエクスポートするにはどうすればよいですか?
Ultralytics YOLO11モデルをTensorFlow.js(TF.js)形式にエクスポートするのは簡単です。以下の手順に従ってください。
使用法
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo11n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF.js format
yolo export model=yolo11n.pt format=tfjs # creates '/yolo11n_web_model'
# Run inference with the exported model
yolo predict model='./yolo11n_web_model' source='https://ultralytics.com/images/bus.jpg'
サポートされているエクスポートオプションの詳細については、Ultralyticsのデプロイメントオプションに関するドキュメントページをご覧ください。
YOLO11モデルをTensorFlow.jsにエクスポートすべきなのはなぜですか?
YOLO11モデルをTensorFlow.jsにエクスポートすると、いくつかの利点があります。
- ローカル実行: モデルはブラウザまたはNode.jsで直接実行できるため、レイテンシが短縮され、ユーザーエクスペリエンスが向上します。
- クロスプラットフォームサポート: TF.jsは複数の環境をサポートし、デプロイの柔軟性を実現します。
- Offline Capabilities: インターネット接続なしでアプリケーションが機能するようにし、信頼性とプライバシーを確保します。
- GPUアクセラレーション: WebGLを利用してGPUアクセラレーションを行い、リソースが限られたデバイスでのパフォーマンスを最適化します。
包括的な概要については、TensorFlow.jsとの統合を参照してください。
TensorFlow.jsは、ブラウザベースの機械学習アプリケーションにどのように役立ちますか?
TensorFlow.jsは、ブラウザおよびNode.js環境でのMLモデルの効率的な実行のために特別に設計されています。ブラウザベースのアプリケーションにもたらす利点は次のとおりです。
- レイテンシーの低減: 機械学習モデルをローカルで実行し、サーバー側の計算に依存せずに即座に結果を提供します。
- プライバシーの向上: 機密データをユーザーのデバイス上に保持し、セキュリティリスクを最小限に抑えます。
- オフラインでの使用を可能にする: モデルはインターネット接続なしで動作できるため、一貫した機能が保証されます。
- 複数のバックエンドをサポート: CPU、WebGL、WebAssembly (WASM)、WebGPUなどのバックエンドにより、様々な計算ニーズに対応できます。
TF.jsについてさらに詳しく知りたいですか?TensorFlow.jsの公式ガイドをご覧ください。
YOLO11モデルをデプロイするためのTensorFlow.jsの主な機能は何ですか?
TensorFlow.jsの主な機能は次のとおりです。
- クロスプラットフォームサポート: TF.jsは、WebブラウザとNode.jsの両方で使用でき、広範なデプロイの柔軟性を提供します。
- 複数のバックエンド: CPU、GPUアクセラレーション用のWebGL、WebAssembly(WASM)、および高度な操作用のWebGPUをサポートします。
- Offline Capabilities: モデルはインターネットに接続しなくてもブラウザで直接実行できるため、応答性の高いWebアプリケーションの開発に最適です。
デプロイメントシナリオとより詳細な情報については、TensorFlow.jsでのデプロイメントオプションに関するセクションをご覧ください。
TensorFlow.jsを使用して、サーバーサイドのNode.jsアプリケーションにYOLO11モデルをデプロイできますか?
はい、TensorFlow.jsを使用すると、YOLO11モデルをNode.js環境にデプロイできます。これにより、サーバーの処理能力とサーバー側のデータへのアクセスを活用できるサーバー側の機械学習アプリケーションが可能になります。一般的なユースケースには、バックエンドサーバーでのリアルタイムデータ処理と機械学習パイプラインが含まれます。
Node.jsでのデプロイを開始するには、TensorFlowのNode.jsでTensorFlow.jsを実行するガイドを参照してください。