コンテンツへスキップ

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

機械学習モデルをブラウザーに直接デプロイしたり、Node.js にデプロイしたりするのは、難しい場合があります。モデルを使用してユーザーのデバイス上でローカルに対話型アプリケーションを実行できるように、モデル形式がパフォーマンスを高速化するように最適化する必要があります。ザ TensorFlow.js、または TF.js、モデル形式は、高速なパフォーマンスを提供しながら、最小限の電力を使用するように設計されています。

TF.js モデル形式へのエクスポート」機能により、モデルを最適化することができます。 Ultralytics YOLOv8モデルを最適化することができます。このガイドでは、モデルをTF.js形式に変換する手順を説明します。これにより、様々なローカルブラウザやNode.jsアプリケーション上でモデルがより簡単に動作するようになります。

なぜTF.jsにエクスポートする必要があるのか?

TensorFlow のエコシステムの一部としてTensorFlow チームによって開発されたTensorFlow.js に機械学習モデルをエクスポートすると、機械学習アプリケーションを展開する際に多くの利点があります。機密データをデバイス上に保持することで、ユーザーのプライバシーとセキュリティを強化することができます。下の画像は、TensorFlow.jsのアーキテクチャと、機械学習モデルがどのように変換され、ウェブブラウザとNode.jsの両方でデプロイされるかを示しています。

TF.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 での展開オプション

YOLOv8 モデルをTF.js フォーマットにエクスポートするプロセスに入る前に、このフォーマットが使用される典型的なデプロイシナリオをいくつか探ってみましょう。

TF.jsには、機械学習モデルをデプロイするためのさまざまなオプションが用意されている:

  • ブラウザ内MLアプリケーション:機械学習モデルをブラウザ上で直接実行するウェブ・アプリケーションを構築できます。サーバーサイドの計算が不要になり、サーバーの負荷が軽減されます。

  • Node.jsアプリケーション:: TensorFlow.jsはNode.js環境へのデプロイもサポートしており、サーバーサイドの機械学習アプリケーションの開発が可能です。サーバーの処理能力やサーバーサイドのデータへのアクセスを必要とするアプリケーションに特に有効です。

  • Chrome拡張機能: TensorFlow.jsを使ったChrome拡張機能の作成は、興味深い展開シナリオだ。例えば、ユーザーがウェブページ内の画像を右クリックして、事前に訓練されたMLモデルを使って画像を分類できるような拡張機能を開発できる。TensorFlow.jsは、機械学習に基づく即時の洞察や補強を提供するために、日常のウェブ閲覧体験に統合することができます。

YOLOv8 モデルのTensorFlow.js へのエクスポート

YOLOv8 モデルをTF.js に変換することで、モデルの互換性とデプロイの柔軟性を拡張できます。

インストール

必要なパッケージをインストールするには、以下を実行する:

インストール

# Install the required package for YOLOv8
pip install ultralytics

インストールプロセスに関する詳細な説明とベストプラクティスについては、Ultralytics インストールガイドをご覧ください。YOLOv8 に必要なパッケージをインストールする際に、何らかの問題が発生した場合は、解決策やヒントについて、よくある問題ガイドを参照してください。

使用方法

使い方の説明に入る前に、Ultralytics YOLOv8 の全モデルでエクスポートが可能ですが、 ここで選択したモデルがエクスポート機能をサポートしているかどうかを確認することができます。

使用方法

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF.js format
yolo export model=yolov8n.pt format=tfjs  # creates '/yolov8n_web_model'

# Run inference with the exported model
yolo predict model='./yolov8n_web_model' source='https://ultralytics.com/images/bus.jpg'

サポートされているエクスポートオプションの詳細については、Ultralytics 配置オプションのドキュメントページを参照してください。

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

YOLOv8 モデルをTF.js フォーマットにエクスポートしたので、次のステップはそれをデプロイすることです。YOLO("./yolov8n_web_model")メソッドを使用することが、TF.jsを実行するための最初のステップとして推奨されます。

しかし、TF.jsモデルのデプロイに関する詳しい説明は、以下のリソースをご覧ください:

概要

このガイドでは、Ultralytics YOLOv8 モデルをTensorFlow.js フォーマットにエクスポートする方法を学びました。TF.jsにエクスポートすることで、YOLOv8 モデルをさまざまなプラットフォームで最適化、デプロイ、スケールできる柔軟性が得られます。

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

Ultralytics YOLOv8 を他のプラットフォームやフレームワークと統合するための詳細については、統合ガイドのページをチェックすることをお忘れなく。あなたのプロジェクトでYOLOv8 を最大限に活用するための素晴らしいリソースが満載です。

よくあるご質問

Ultralytics YOLOv8 のモデルをTensorFlow.js フォーマットにエクスポートするには?

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

使用方法

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF.js format
yolo export model=yolov8n.pt format=tfjs  # creates '/yolov8n_web_model'

# Run inference with the exported model
yolo predict model='./yolov8n_web_model' source='https://ultralytics.com/images/bus.jpg'

サポートされているエクスポートオプションの詳細については、Ultralytics 配置オプションのドキュメントページを参照してください。

なぜYOLOv8 のモデルをTensorFlow.js にエクスポートする必要があるのですか?

YOLOv8 モデルを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 公式ガイドをご覧ください。

YOLOv8 モデルをデプロイするためのTensorFlow.js の主な機能は何ですか?

TensorFlow.jsの主な特徴は以下の通り:

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

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

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

はい、TensorFlow.jsは、Node.js環境上でYOLOv8 モデルのデプロイを可能にします。これにより、サーバーの処理能力とサーバーサイドのデータへのアクセスから恩恵を受けるサーバーサイドの機械学習アプリケーションが可能になる。典型的な使用例としては、バックエンドサーバー上でのリアルタイムデータ処理や機械学習パイプラインがある。

Node.jsのデプロイを始めるには、TensorFlow の「RunTensorFlow.js in Node.js」ガイドを参照してください。



作成日:2024-04-03 更新日:2024-07-05
作成者:glenn-jocher(6),abirami-vina(1)

コメント