メインコンテンツへスキップ
Try in Colab Ultralytics は、画像分類、オブジェクト検出、画像セグメンテーション、姿勢推定などのタスク向けの、最先端のコンピュータビジョンモデルの拠点です。リアルタイムオブジェクト検出モデルの最新版である YOLOv8 だけでなく、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 を作成してください。

実験管理とバリデーション結果の可視化

Try in Colab このセクションでは、Ultralytics モデルを使用したトレーニング、ファインチューニング、バリデーション、および W&B を使用した実験管理、モデルのチェックポイント作成、パフォーマンスの可視化という典型的なワークフローを紹介します。 このインテグレーションについては、こちらのレポートもご覧ください: Supercharging Ultralytics with W&B Ultralytics で W&B インテグレーションを使用するには、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 の コンピュータビジョンタスク向けのインタラクティブ・オーバーレイ を使用して、正解ラベル(ground-truth)とそれぞれの予測結果が重ねて表示され、詳細なインサイトと共に 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 Tableにログとして記録されます
    model.train(project="ultralytics", data="coco128.yaml", epochs=5, imgsz=640)
Ultralytics のトレーニングまたはファインチューニングワークフローで W&B を使用して実験管理を行うと、以下のようになります: エポックごとのバリデーション結果が W&B Table を使用してどのように可視化されるかは以下の通りです:

予測結果の可視化

Try in Colab このセクションでは、Ultralytics モデルを推論に使用し、その結果を W&B で可視化する典型的なワークフローを紹介します。 Google Colab でコードを試すことができます: Open in Colab このインテグレーションについては、こちらのレポートもご覧ください: Supercharging Ultralytics with W&B Ultralytics で W&B インテグレーションを使用するには、wandb.integration.ultralytics.add_wandb_callback 関数をインポートする必要があります。
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 画像オーバーレイガイド を参照してください。

その他のリソース