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のアーキテクチャと、機械学習モデルがどのように変換され、ウェブブラウザと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 での展開オプション
YOLO11 モデルをTF.js フォーマットにエクスポートするプロセスに入る前に、このフォーマットが使用される典型的なデプロイシナリオをいくつか探ってみましょう。
TF.jsには、機械学習モデルをデプロイするためのさまざまなオプションが用意されている:
-
ブラウザ内MLアプリケーション:機械学習モデルをブラウザ上で直接実行するウェブ・アプリケーションを構築できます。サーバーサイドの計算が不要になり、サーバーの負荷が軽減されます。
-
Node.jsアプリケーション: TensorFlow.jsは、Node.js環境へのデプロイもサポートしており、サーバーサイドの機械学習アプリケーションの開発が可能です。特に、サーバーの処理能力やサーバーサイドのデータへのアクセスを必要とするアプリケーションに有用です。
-
Chrome拡張機能: TensorFlow.jsを使ったChrome拡張機能の作成は、興味深い展開シナリオだ。例えば、ユーザーがウェブページ内の画像を右クリックして、事前に訓練されたMLモデルを使って画像を分類できるような拡張機能を開発できる。TensorFlow.jsは、機械学習に基づく即時の洞察や補強を提供するために、日常のウェブ閲覧体験に統合することができます。
YOLO11 モデルのTensorFlow.js へのエクスポート
YOLO11 モデルをTF.js に変換することで、モデルの互換性とデプロイの柔軟性を拡張できます。
インストール
必要なパッケージをインストールするには、以下を実行する:
インストールプロセスに関する詳細な説明とベストプラクティスについては、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")
エクスポートの引数
議論 | タイプ | デフォルト | 説明 |
---|---|---|---|
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 モードだ。 |
エクスポートプロセスの詳細については、Ultralytics ドキュメントのエクスポートに関するページをご覧ください。
エクスポートされたYOLO11 TensorFlow .js モデルのデプロイ
さて、YOLO11 モデルをTF.jsフォーマットにエクスポートしたら、次のステップはそれをデプロイすることです。TF.jsモデルを実行するための最初のステップとして推奨されるのは YOLO("./yolo11n_web_model")
メソッドを使用する。
しかし、TF.jsモデルのデプロイに関する詳しい説明は、以下のリソースをご覧ください:
-
クローム拡張機能:TF.js モデルを Chrome 拡張機能にデプロイする方法についての開発者向けドキュメントです。
-
TensorFlow.jsをNode.jsで実行する:TensorFlow.jsをNode.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")
サポートされているエクスポートオプションの詳細については、Ultralytics 配置オプションのドキュメントページを参照してください。
なぜYOLO11 のモデルをTensorFlow.js にエクスポートする必要があるのですか?
YOLO11 モデルをTensorFlow.js にエクスポートすると、以下のような利点があります:
- ローカル実行:モデルはブラウザまたはNode.jsで直接実行できるため、待ち時間が短縮され、ユーザーエクスペリエンスが向上します。
- クロスプラットフォームのサポート: TF.jsは複数の環境をサポートしており、柔軟なデプロイが可能です。
- オフライン機能:インターネット接続がなくてもアプリケーションを機能させることができ、信頼性とプライバシーを確保します。
- 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は、ウェブブラウザとNode.jsの両方で使用することができ、広範なデプロイの柔軟性を提供します。
- 複数のバックエンド: CPU 、GPU アクセラレーションのための WebGL、WebAssembly (WASM)、高度な操作のための WebGPU をサポートしています。
- オフライン機能:モデルはインターネット接続なしでブラウザ上で直接実行できるため、レスポンシブ・ウェブ・アプリケーションの開発に最適です。
デプロイシナリオやより詳細な情報については、 TensorFlow.js でのデプロイオプションのセクションを参照してください。
TensorFlow.js を使って、YOLO11 のモデルをサーバーサイドの Node.js アプリケーションにデプロイできますか?
はい、TensorFlow.jsは、Node.js環境上でYOLO11 モデルのデプロイを可能にします。これにより、サーバーの処理能力とサーバーサイドのデータへのアクセスを活用したサーバーサイドの機械学習アプリケーションが可能になる。典型的な使用例としては、バックエンドサーバー上でのリアルタイムデータ処理や機械学習パイプラインがある。
Node.jsのデプロイを始めるには、TensorFlow の「RunTensorFlow.js in Node.js」ガイドを参照してください。