Hugging Face Accelerate is a library that enables the same PyTorch code to run across any distributed configuration, to simplify model training and inference at scale.
Accelerate includes a W&B Tracker, which this page shows how to use to log metrics, configuration, and artifacts from distributed training runs to Weights & Biases. For more information, see Accelerate Trackers in Hugging Face.
Start logging with Accelerate
This section shows how to configure Accelerate to log experiment data to Weights & Biases during training. To get started with Accelerate and Weights & Biases, follow this pseudocode:
In more detail:
- Pass
log_with="wandb" when you initialize the Accelerator class.
- Call the
init_trackers method and pass it:
- A project name through
project_name.
- Any parameters you want to pass to
wandb.init() through a nested dict to init_kwargs.
- Any other experiment config information you want to log to your wandb run, through
config.
- Use the
wandb.Run.log() method to log to Weights & Biases. The step argument is optional.
- Call
.end_training() when training finishes.
Access the W&B tracker
Once Accelerate logs to Weights & Biases, you may want direct access to the underlying W&B run object to log artifacts, custom charts, or other data that the tracker doesn’t expose. To access the W&B tracker, use the Accelerator.get_tracker() method. Pass in the string corresponding to a tracker’s .name attribute, which returns the tracker on the main process.
From there, you can interact with the wandb run object as usual:
Trackers built in Accelerate automatically execute on the correct process, so if a tracker only needs to run on the main process it does so automatically.To remove Accelerate’s wrapping entirely, you can achieve the same outcome with:
Accelerate articles
For a deeper walkthrough of using Accelerate with Weights & Biases, see the following article.
Last modified on September 30, 2026