Ultralytics YOLO27:

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

非推奨 — LiteRTに置き換えられました

Ultralytics 8.4.83以降、tfjs(TensorFlow.js)エクスポート形式は削除され、統合された**Google LiteRT**形式に置き換えられました。LiteRTはLiteRT.js(WebGPUアクセラレーション対応)を介してブラウザーで実行でき、単一の.tfliteモデルで、TF.jsが対応していたブラウザー内およびNode.jsのユースケースに加え、モバイル、組み込み、エッジ環境にも対応します。

format="tfjs"は引き続き動作しますが、非推奨の警告を表示し、代わりにLiteRTモデルをエクスポートします。今後は**format="litert"を使用してください。最新のエクスポート手順とブラウザーへのデプロイパスについては、LiteRTエクスポートガイド**を参照してください。

機械学習モデルをブラウザーや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モデルは、すぐにエクスポートできるよう設計されているため、任意のデプロイワークフローに簡単に統合できます。アプリケーションに最適な設定を選択するには、サポートされているエクスポート形式と設定オプションの全一覧を確認してください。

tfjs引数は、LiteRT.tfliteモデルをエクスポートするようになりました。このモデルは、ローカルでExportPredictValidateモードをサポートし、LiteRT.jsを介してブラウザーで実行できます。現在のブラウザーおよびデバイス上のデプロイパスについては、LiteRTエクスポートガイドを参照してください。

エクスポート
from ultralytics import YOLO

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

# Export the model to TF.js format
model.export(format="litert", imgsz=640)  # use imgsz=224 for classification
PredictとValidate

エクスポートされたLiteRTの.tfliteモデルは、yolo predictおよびyolo valで直接読み込むことができ、LiteRT.jsを介してブラウザーで実行できます。LiteRTエクスポートガイドを参照してください。

エクスポート引数#

引数デフォルト説明
formatstr'tfjs'エクスポートされたモデルの対象形式で、さまざまなデプロイ環境との互換性を定義します。
imgszintまたはtuple640モデル入力に使用する画像サイズです。正方形画像の場合は整数、特定の寸法の場合はタプル(height, width)を指定できます。
quantizeintまたはstrNone量子化精度: 8(静的INT8、int8ウェイト + int8アクティベーション。キャリブレーションdata/fractionが必要)、'w8a16'(静的、int8ウェイト + int16アクティベーション。キャリブレーションdata/fractionが必要)、'w8a32'(動的INT8、int8ウェイト + FP32アクティベーション。キャリブレーション不要)、または32/未設定(FP32)。FP16は個別にはエクスポートされません。FP32モデルはGPUデリゲート上で自動的にFP16で実行されます。非推奨のhalf/int8フラグに置き換わります。
batchint1エクスポートするモデルのバッチ推論サイズ、またはpredictモードでエクスポート済みモデルが同時に処理する画像の最大数を指定します。
datastrNone量子化に必要なデータセット YAMLへのパスです。分類の場合は、データセットディレクトリまたは組み込みデータセット名を指定します。quantize=8または'w8a16'とともに省略すると、Ultralyticsはモデルタスク用のデフォルトキャリブレーションデータセットを選択します。
fractionfloatint、またはlist1.0キャリブレーションサブセットを、比率、画像枚数、または [train, val, test] の比率/枚数として指定します。2項目のリストでは、test はすべて使用され、0 はスキップされます。
devicestrNoneエクスポートに使用するデバイスを指定します。Apple siliconではCPU(device=cpu)、MPS(device=mps)を指定します。

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

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

YOLO26モデルをエクスポートしたら、次のステップはデプロイです。エクスポートによって、デバイス上およびLiteRT.jsを介したブラウザー上で実行できるLiteRT.tfliteモデルが生成されます。現在の手順については、LiteRTエクスポートガイドを参照してください。

参考として、従来のTensorFlow.jsランタイムリソースを以下に示します。

まとめ#

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

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

Ultralytics YOLO26と他のプラットフォームやフレームワークとの統合について詳しくは、統合ガイドページもご確認ください。プロジェクトでYOLO26を最大限に活用するための役立つリソースが掲載されています。

FAQ#

  • 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="litert", imgsz=640)  # use imgsz=224 for classification
    
    # The exported '.tflite' model runs in the browser via LiteRT.js or locally with yolo predict/val.

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

  • YOLO26モデルをTensorFlow.jsにエクスポートすると、次のようなメリットがあります。

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

    • レイテンシの低減: 機械学習モデルをローカルで実行し、サーバー側の計算に依存せず即時に結果を提供します。
    • プライバシーの向上: 機密データをユーザーのデバイス上に保持し、セキュリティリスクを最小限に抑えます。
    • オフライン利用: インターネット接続なしでモデルを動作させ、一貫した機能を確保できます。
    • 複数のバックエンドへの対応: CPU、WebGL、WebAssembly(WASM)、WebGPUなどのバックエンドに対応し、さまざまな計算要件に柔軟に対応できます。

    TF.jsについて詳しく知りたい場合は、TensorFlow.js公式ガイドをご覧ください。

  • TensorFlow.jsの主な機能は次のとおりです。

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

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

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

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

コメント