YOLO26モデル形式からTF.jsモデル形式へのエクスポート

機械学習モデルをブラウザや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 browser ML inference architecture

モデルをローカルで実行することでレイテンシが短縮され、より応答性の高いユーザー体験が提供されます。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モデルは、標準でエクスポートをサポートするように設計されており、好みのデプロイワークフローに簡単に統合できます。サポートされているエクスポート形式と構成オプションの全リストを確認して、アプリケーションに最適なセットアップを選択してください。

使用方法
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo26n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")

エクスポート引数

引数タイプデフォルト説明
formatstr'tfjs'エクスポートされたモデルのターゲットフォーマット。さまざまなデプロイ環境との互換性を定義します。
imgszint または tuple640モデル入力に希望する画像サイズ。正方形の画像の場合は整数、特定の寸法のタプル (height, width) で指定できます。
halfboolFalseFP16(半精度)量子化を有効にし、モデルサイズを削減し、サポートされているハードウェア上での推論を高速化する可能性があります。
int8boolFalseINT8量子化をアクティブにし、主にエッジデバイス向けに、精度の損失を最小限に抑えながらモデルをさらに圧縮し、推論を高速化します。
nmsboolFalseNon-Maximum Suppression(NMS)を追加します。これは、正確で効率的な検出後処理に不可欠です。
batchint1エクスポートされたモデルのバッチ推論サイズ、または predict モードでモデルが同時に処理する画像の最大数を指定します。
datastr'coco8.yaml'データセット構成ファイルへのパス(デフォルト: coco8.yaml)。量子化に不可欠です。
fractionfloat1.0INT8 量子化キャリブレーションに使用するデータセットの割合を指定します。フルデータセットの一部を使用してキャリブレーションを行うことができ、実験時やリソースが限られている場合に便利です。INT8 を有効にして指定されていない場合は、フルデータセットが使用されます。
devicestrNoneエクスポート用のデバイスを指定します:CPU (device=cpu)、Appleシリコン用MPS (device=mps)。

エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。

エクスポートされたYOLO26 TensorFlow.jsモデルのデプロイ

YOLO26モデルをTF.js形式にエクスポートしたら、次はデプロイです。TF.jsモデルを実行するための最初で推奨される手順は、使用コードの例で示したように YOLO("./yolo26n_web_model") メソッドを使用することです。

ただし、TF.jsモデルのデプロイに関する詳細な手順については、以下のリソースを確認してください。

まとめ

このガイドでは、Ultralytics YOLO26モデルをTensorFlow.js形式にエクスポートする方法を学びました。TF.jsへエクスポートすることで、幅広いプラットフォーム上でYOLO26モデルを最適化、デプロイ、スケーリングする柔軟性を得られます。

使用方法の詳細については、TensorFlow.js公式ドキュメントを参照してください。

Ultralytics YOLO26と他のプラットフォームやフレームワークの統合に関する詳細については、インテグレーションガイドページを忘れずに確認してください。プロジェクトでYOLO26を最大限に活用するための優れたリソースが満載です。

FAQ

Ultralytics YOLO26モデルをTensorFlow.js形式にエクスポートするにはどうすればよいですか?

Ultralytics YOLO26モデルをTensorFlow.js(TF.js)形式にエクスポートするのは簡単です。以下の手順に従ってください。

使用方法
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo26n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")

サポートされているエクスポートオプションの詳細については、Ultralyticsデプロイオプションに関するドキュメントページをご覧ください。

YOLO26モデルをTensorFlow.jsにエクスポートするべき理由は何ですか?

YOLO26モデルをTensorFlow.jsにエクスポートすると、以下のような利点があります。

  1. ローカル実行: モデルをブラウザやNode.jsで直接実行できるため、レイテンシが削減され、ユーザー体験が向上します。
  2. クロスプラットフォーム対応: TF.jsは複数の環境をサポートしており、デプロイにおいて柔軟性を発揮します。
  3. オフライン機能: インターネット接続なしでアプリケーションを機能させることができ、信頼性とプライバシーが確保されます。
  4. GPUアクセラレーション: WebGLを活用してGPUアクセラレーションを実現し、リソースが制限されたデバイス上でもパフォーマンスを最適化します。

包括的な概要については、TensorFlow.jsとの統合を参照してください。

TensorFlow.jsは、ブラウザベースの機械学習アプリケーションにどのような利点をもたらしますか?

TensorFlow.jsは、ブラウザやNode.js環境でMLモデルを効率的に実行するために特別に設計されています。ブラウザベースのアプリケーションへの利点は以下の通りです。

  • レイテンシの削減: 機械学習モデルをローカルで実行するため、サーバー側の計算に依存することなく即座に結果が得られます。
  • プライバシーの向上: 機密データをユーザーのデバイス上に保持することで、セキュリティリスクを最小限に抑えます。
  • オフライン利用の実現: インターネット接続がなくてもモデルが動作するため、一貫した機能性を確保できます。
  • 複数のバックエンドのサポート: CPU、WebGL、WebAssembly(WASM)、WebGPUといったバックエンドにより、さまざまな計算ニーズに応える柔軟性を提供します。

TF.jsについて詳しく知りたいですか?TensorFlow.js公式ガイドをチェックしてください。

YOLO26モデルをデプロイするためのTensorFlow.jsの主な特徴は何ですか?

TensorFlow.jsの主な特徴は以下の通りです。

  • クロスプラットフォーム対応: TF.jsはWebブラウザとNode.jsの両方で使用でき、広範なデプロイの柔軟性を提供します。
  • 複数のバックエンド: CPU、GPUアクセラレーションのためのWebGL、WebAssembly(WASM)、高度な操作のためのWebGPUをサポートしています。
  • オフライン機能: インターネット接続なしでブラウザ内で直接モデルを実行できるため、応答性の高いWebアプリケーションの開発に最適です。

デプロイシナリオや詳細情報については、TensorFlow.jsによるデプロイオプションのセクションを参照してください。

TensorFlow.jsを使用して、サーバー側のNode.jsアプリケーションにYOLO26モデルをデプロイできますか?

はい、TensorFlow.jsを使用すると、Node.js環境にYOLO26モデルをデプロイできます。これにより、サーバーの処理能力とサーバー側のデータアクセスを活用するサーバー側の機械学習アプリケーションが可能になります。典型的なユースケースには、バックエンドサーバー上でのリアルタイムデータ処理や機械学習パイプラインなどがあります。

Node.jsでのデプロイを開始するには、TensorFlowのRun TensorFlow.js in Node.jsガイドを参照してください。

コメント