Skip to main content
Ultralytics は、画像分類、物体検出、画像セグメンテーション、姿勢推定といったタスク向けの最先端のコンピュータビジョンモデルを提供する主要なプラットフォームです。YOLOv8 は、リアルタイム物体検出モデルである YOLO シリーズの最新世代であり、Ultralytics ではこれに加えて SAM (Segment Anything Model)RT-DETRYOLO-NAS などの強力なコンピュータビジョンモデルも提供しています。Ultralytics はこれらのモデルの実装を提供するだけでなく、使いやすい API を通じて、これらのモデルをトレーニング、ファインチューニング、適用するための、すぐに使えるワークフローも提供しています.

はじめに

  1. ultralyticswandb をインストールします。
        pip install --upgrade ultralytics==8.0.238 wandb
    
        # または
        # conda install ultralytics
    
    開発チームは、このインテグレーションを ultralyticsv8.0.238 以下でテストしています。インテグレーションに関する問題を報告する場合は、yolov8 タグを付けて GitHub issue を作成してください。

実験を管理し、検証結果を可視化する

このセクションでは、Ultralytics モデルを使ったトレーニング、ファインチューニング、検証の一般的なワークフローを紹介します。また、W&B を使用して、実験管理、モデルのチェックポイント保存、モデルのパフォーマンスの可視化を行う方法も説明します。 このインテグレーションの詳細は、こちらのレポートも参照してください: Supercharging Ultralytics with W&B Ultralytics で W&B インテグレーションを使用するには、wandb.integration.ultralytics.add_wandb_callback 関数をimportします。
import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO
任意の YOLO モデルを初期化し、モデルで推論を実行する前に add_wandb_callback 関数を呼び出します。これにより、トレーニング、ファインチューニング、検証、または推論を実行すると、実験ログと画像が自動的に保存されます。画像は、W&B のコンピュータビジョンタスク向けインタラクティブオーバーレイを使用して、グラウンドトゥルースと対応する予測結果の両方を重ねて表示した状態で保存され、さらに追加のインサイトが wandb.Table に記録されます。
with wandb.init(project="ultralytics", job_type="train") as run:

    # 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 でトラッキングした Ultralytics のトレーニングまたはファインチューニングのワークフローの Experiments は、次のように表示されます。 各エポックの検証結果は、W&B Table を使って次のように可視化されます。

予測結果を可視化する

このセクションでは、Ultralytics モデルを推論に使用し、その結果を W&B で可視化する一般的なワークフローを紹介します。 Google Colab でコードを試すこともできます: Colab で開く. このレポートでは、インテグレーションについても確認できます: W&B で Ultralytics を強化する Ultralytics で W&B インテグレーションを使用するには、wandb.integration.ultralytics.add_wandb_callback 関数を import する必要があります。
import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics.engine.model import YOLO
インテグレーションのテスト用に、画像をいくつかダウンロードします。使用できるのは、静止画、動画、またはカメラ入力です。推論の入力ソースの詳細については、Ultralytics docsを参照してください。
!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 を初期化します。次に、使用する YOLO モデルを初期化し、そのモデルで推論を実行する前に add_wandb_callback 関数を呼び出します。これにより、推論の実行時に、コンピュータビジョンタスク向けのインタラクティブなオーバーレイ が重ねられた画像が、追加のインサイトとともに wandb.Table に自動的にログされます。
# W&B runを初期化する
with wandb.init(project="ultralytics", job_type="inference") as run:
    # YOLOモデルを初期化する
    model = YOLO("yolov8n.pt")

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

    # 予測を実行すると、バウンディングボックスやセグメンテーションマスクの
    # インタラクティブオーバーレイとともにW&B Tableに自動的にログされる
    model(
        [
            "./assets/img1.jpeg",
            "./assets/img3.png",
            "./assets/img4.jpeg",
            "./assets/img5.jpeg",
        ]
    )
トレーニングまたはファインチューニングのワークフローでは、wandb.init() を使って run を明示的に初期化する必要はありません。ただし、コードが予測のみを行う場合は、run を明示的に作成する必要があります。 インタラクティブな bbox オーバーレイは次のように表示されます。 詳細については、W&B image overlays ガイドを参照してください。

その他の参考資料