Ultralytics

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

始めましょう

  1. ultralyticswandb をインストールします。

    ```shell
    pip install --upgrade ultralytics==8.0.238 wandb
    
    # or
    # conda install ultralytics
    ```
    
    ```bash
    !pip install --upgrade ultralytics==8.0.238 wandb
    ```
    

    開発チームは、ultralyticsv8.0.238 以下のバージョンとの インテグレーションをテストしました。インテグレーションに関する問題点を報告するには、yolov8 タグを付けて GitHub issue を作成してください。

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

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

この レポートで インテグレーションについて確認することもできます。W&B で Ultralytics を強化する

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 上の コンピュータビジョン タスクのインタラクティブなオーバーレイ を使用して、グラウンドトゥルースとそれぞれの予測結果が重ねられ、追加の洞察が wandb.Table にまとめられます。

# Initialize YOLO Model
model = YOLO("yolov8n.pt")

# Add W&B callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Train/fine-tune your model
# At the end of each epoch, predictions on validation batches are logged
# to a W&B table with insightful and interactive overlays for
# computer vision tasks
model.train(project="ultralytics", data="coco128.yaml", epochs=5, imgsz=640)

# Finish the W&B run
wandb.finish()

Ultralytics のトレーニングまたはファインチューン ワークフローのために W&B を使用して追跡された実験は、次のようになります。

YOLO Fine-tuning Experiments

W&B Table を使用して、エポックごとの検証結果を可視化する方法を次に示します。

WandB Validation Visualization Table

予測結果の可視化

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

Google Colab でコードを試すことができます:Open in Colab

この レポートで インテグレーションについて確認することもできます。W&B で Ultralytics を強化する

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 のドキュメント を確認してください。

!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 を初期化します。

# Initialize W&B run
wandb.init(project="ultralytics", job_type="inference")

次に、目的の YOLO モデルを初期化し、モデルで推論を実行する前に、そのモデルで add_wandb_callback 関数を呼び出します。これにより、推論を実行すると、コンピュータビジョン タスクのインタラクティブなオーバーレイ でオーバーレイされた画像が自動的にログに記録され、追加の洞察が wandb.Table にまとめられます。

# Initialize YOLO Model
model = YOLO("yolov8n.pt")

# Add W&B callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Perform prediction which automatically logs to a W&B Table
# with interactive overlays for bounding boxes, segmentation masks
model(
    [
        "./assets/img1.jpeg",
        "./assets/img3.png",
        "./assets/img4.jpeg",
        "./assets/img5.jpeg",
    ]
)

# Finish the W&B run
wandb.finish()

トレーニングまたはファインチューン ワークフローの場合、wandb.init() を使用して run を明示的に初期化する必要はありません。ただし、コードに予測のみが含まれる場合は、run を明示的に作成する必要があります。

インタラクティブな bbox オーバーレイは次のようになります。

WandB Image Overlay

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

その他のリソース