Weights and Biases

Weights & Biases (W&B) allows machine learning practitioners to track experiments, visualize data, and share insights with a few lines of code.

It integrates seamlessly with your Lightning ML workflows to log metrics, output visualizations, and manage artifacts. This integration provides a simple way to log metrics and artifacts from your Fabric training loop to W&B via the WandbLogger. The WandbLogger also supports all features of the Weights and Biases library, such as logging rich media (image, audio, video), artifacts, hyperparameters, tables, custom visualizations, and more. Check the official documentation here.


Set Up Weights and Biases

First, you need to install the wandb package:

pip install wandb

Then log in with your API key found in your W&B account settings:

wandb login <your-api-key>

You are all set and can start logging your metrics to Weights and Biases.


Track metrics

To start tracking metrics in your training loop, import the WandbLogger and configure it with your settings:

from lightning.fabric import Fabric

# 1. Import the WandbLogger
from wandb.integration.lightning.fabric import WandbLogger

# 2. Configure the logger
logger = WandbLogger(project="my-project")

# 3. Pass it to Fabric
fabric = Fabric(loggers=logger)

Next, add log() calls in your code.

value = ...  # Python scalar or tensor scalar
fabric.log("some_value", value)

To log multiple metrics at once, use log_dict():

values = {"loss": loss, "acc": acc, "other": other}
fabric.log_dict(values)

Logging media, artifacts, hyperparameters and more

With WandbLogger you can also log images, text, tables, checkpoints, hyperparameters and more. For a description of all features, check out the official Weights and Biases documentation and examples.