Skip to main content
You can integrate fastai with W&B using the WandbCallback class to track experiments, log metrics, and visualize model performance during training. This page shows how to set up authentication, add the callback to your training loop, and configure logging for both single-process and distributed training. Check out these interactive docs with examples for more details.

Sign up and create an API key

An API key authenticates your machine to W&B. You can generate an API key from your user profile.
For a more streamlined approach, go to User Settings and create an API key. Copy the API key immediately and save it in a secure location such as a password manager.
  1. Click your user profile icon in the upper right corner.
  2. Select User Settings, then scroll to the API Keys section.

Install the wandb library and log in

To install the wandb library locally and log in:
  1. Set the WANDB_API_KEY environment variable to your API key. Replace values enclosed in <> with your own:
  2. Install the wandb library and log in.

Add the WandbCallback to the learner or fit method

To start logging your fastai training runs to W&B, attach the WandbCallback to either a single fit call or the learner itself.
If you use version 1 of fastai, refer to the fastai v1 docs.

WandbCallback arguments

Use the following arguments to control what WandbCallback logs during training: For custom workflows, you can manually log your datasets and models:
  • log_dataset(path, name=None, metadata={})
  • log_model(path, name=None, metadata={})
Note: any subfolder “models” is ignored.

Distributed training

fastai supports distributed training by using the context manager distrib_ctx. W&B supports this automatically and enables you to track your multi-GPU experiments without additional configuration. The following sections describe how to integrate W&B with distributed training and how to limit logging to the main process. Review this minimal example:
Then, in your terminal, execute:
In this case, the machine has 2 GPUs.

Log only on the main process

In the previous examples, W&B launches one run per process. At the end of the training, you have two runs. This can sometimes be confusing, and you may want to log only on the main process. To do so, you must manually detect which process you are in and avoid creating runs (calling wandb.init() in all other processes).
In your terminal, call:

Examples

For end-to-end demonstrations of the fastai integration, see the following references: