Skip to main content
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 W&B. 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 W&B during training. To get started with Accelerate and W&B, follow this pseudocode:
In more detail:
  1. Pass log_with="wandb" when you initialize the Accelerator class.
  2. 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.
  3. Use the wandb.Run.log() method to log to W&B. The step argument is optional.
  4. Call .end_training() when training finishes.

Access the W&B tracker

Once Accelerate logs to W&B, 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 W&B, see the following article.