YOLOv5

Ultralytics’ YOLOv5 (“You Only Look Once”) model family enables real-time object detection with convolutional neural networks without all the agonizing pain.

Weights & Biases is directly integrated into YOLOv5, providing experiment metric tracking, model and dataset versioning, rich model prediction visualization, and more. It’s as easy as running a single pip install before you run your YOLO experiments.

Track core experiments

Simply by installing wandb, you’ll activate the built-in W&B logging features: system metrics, model metrics, and media logged to interactive Dashboards.

pip install wandb
git clone https://github.com/ultralytics/yolov5.git
python yolov5/train.py  # train a small network on a small dataset

Just follow the links printed to the standard out by wandb.

All these charts and more.

Customize the integration

By passing a few simple command line arguments to YOLO, you can take advantage of even more W&B features.

  • Passing a number to --save_period will turn on model versioning. At the end of every save_period epochs, the model weights will be saved to W&B. The best-performing model on the validation set will be tagged automatically.
  • Turning on the --upload_dataset flag will also upload the dataset for data versioning.
  • Passing a number to --bbox_interval will turn on data visualization. At the end of every bbox_interval epochs, the outputs of the model on the validation set will be uploaded to W&B.
python yolov5/train.py --epochs 20 --save_period 1
python yolov5/train.py --epochs 20 --save_period 1 \
  --upload_dataset --bbox_interval 1

Here’s what that looks like.

Model Versioning: the latest and the best versions of the model are identified. Data Visualization: compare the input image to the model's outputs and example-wise metrics.

Last modified January 20, 2025: Add svg logos to front page (#1002) (e1444f4)