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.