コンテンツぞスキップ

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)

コメント