メインコンテンツまでスキップ

Ultralytics

Ultralyticsは、画像分類、オブジェクト検出、画像セグメンテーション、ポーズ推定などのタスクのための最先端のコンピュータビジョンモデルを提供します。ここでは、リアルタイムオブジェクト検出モデルのYOLOシリーズの最新バージョンであるYOLOv8を始め、SAM (Segment Anything Model)RT-DETRYOLO-NASなどの強力なコンピュータビジョンモデルもホストしています。さらに、これらのモデルの実装だけでなく、トレーニング、ファインチューニング、適用を簡単に行えるAPIも提供しています。

はじめに

まず、ultralyticswandbをインストールします。

pip install --upgrade ultralytics==8.0.238 wandb

# または
# conda install ultralytics

注意: 現在のインテグレーションはultralyticsv8.0.238およびそれ以前のバージョンでテストされています。問題があればhttps://github.com/wandb/wandb/issuesに`yolov8`タグを付けて報告してください。

実験管理と検証結果の可視化

このセクションでは、Ultralyticsモデルを使用したトレーニング、ファインチューニング、検証、および実験管理、モデルのチェックポイント、パフォーマンスの可視化を行う典型的なワークフローを示します。

Google Colabでコードを試してみることもできます:Colabで開く

インテグレーションについての詳細はこのレポートを参照してください:Supercharging Ultralytics with W&B

W&BとUltralyticsを連携させるためには、wandb.integration.ultralytics.add_wandb_callback関数をインポートする必要があります。

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

次に、お好みのYOLOモデルを初期化し、推論を行う前にadd_wandb_callback関数を呼び出します。これにより、トレーニング、ファインチューニング、検証、または推論を行う際に、実験ログや予測結果を自動的にログし、W&Bのコンピュータビジョンタスク用のインタラクティブなオーバーレイおよび追加のインサイトが含まれたwandb.Tableとして可視化されます。

# YOLOモデルを初期化
model = YOLO("yolov8n.pt")

# Ultralytics用のW&Bコールバックを追加
add_wandb_callback(model, enable_model_checkpointing=True)

# モデルをトレーニング/ファインチューニング
# 各エポックの終わりに、検証バッチの予測がW&Bテーブルに
# インタラクティブなオーバーレイと共にログされます
model.train(project="ultralytics", data="coco128.yaml", epochs=5, imgsz=640)

# W&Bのrunを終了
wandb.finish()

こちらは、W&Bを使用してUltralyticsのトレーニングまたはファインチューニングワークフローを管理した例です:

YOLO Fine-tuning Experiments

こちらは、エポックごとの検証結果をW&Bテーブルで可視化した例です:

WandB Validation Visualization Table

予測結果の可視化

このセクションでは、Ultralyticsモデルを使用して推論を行い、その結果をW&Bを使用して可視化する典型的なワークフローを示します。

Google Colabでコードを試してみることもできます:Colabで開く

インテグレーションについての詳細はこのレポートを参照してください:Supercharging Ultralytics with W&B

W&BとUltralyticsを連携させるためには、wandb.integration.ultralytics.add_wandb_callback関数をインポートする必要があります。

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics.engine.model import YOLO

次に、いくつかの画像をダウンロードしてインテグレーションをテストします。自分の画像、動画、カメラソースを使用することも可能です。推論ソースについての詳細は公式ドキュメントを参照してください。

!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img1.png
!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img2.png
!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img4.png
!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img5.png

次に、wandb.initを使ってW&B runを初期化します。

# W&Bのrunを初期化
wandb.init(project="ultralytics", job_type="inference")

次に、お好みのYOLOモデルを初期化し、推論を行う前にadd_wandb_callback関数を呼び出します。これにより、推論を行う際に自動的に画像がログされ、W&Bのコンピュータビジョンタスク用のインタラクティブなオーバーレイおよび追加のインサイトが含まれたwandb.Tableとして可視化されます。

# YOLOモデルを初期化
model = YOLO("yolov8n.pt")

# Ultralytics用のW&Bコールバックを追加
add_wandb_callback(model, enable_model_checkpointing=True)

# 推論を実行し、結果をインタラクティブなオーバーレイ付きでW&Bテーブルに自動的にログ
model(["./assets/img1.jpeg", "./assets/img3.png", "./assets/img4.jpeg", "./assets/img5.jpeg"])

# W&Bのrunを終了
wandb.finish()

注意: トレーニングやファインチューニングのワークフローの場合、wandb.init()を明示的に初期化する必要はありませんが、コードが推論のみを含む場合、runを明示的に作成する必要があります。

こちらはインタラクティブなバウンディングボックスオーバーレイの例です:

WandB Image Overlay

W&Bの画像オーバーレイの詳細はこちらを参照してください。

その他のリソース

Was this page helpful?👍👎