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!
For a quick overview of the model and data-logging features of our YOLOv5 integration, check out this Colab and accompanying video tutorial, linked below.
All W&B logging features are compatible with data-parallel multi-GPU training, e.g. with PyTorch DDP.
Core Experiment Tracking
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.
Model Versioning and Data Visualization
But that's not all! 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_periodwill turn on model versioning. At the end of every
save_periodepochs, 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_datasetflag will also upload the dataset for data versioning.
- Passing a number to
--bbox_intervalwill turn on data visualization. At the end of every
bbox_intervalepochs, the outputs of the model on the validation set will be uploaded to W&B.
- Model Versioning Only
- Model Versioning and Data Visualization
python yolov5/train.py --epochs 20 --save_period 1
python yolov5/train.py --epochs 20 --save_period 1 \
--upload_dataset --bbox_interval 1
Every W&B account comes with 100 GB of free storage for datasets and models.
Here's what that looks like.
With data and model versioning, you can resume paused or crashed experiments from any device, no setup necessary! Check out the Colab for details.