Skip to main content

Initialize sweeps

Weights & Biases uses a Sweep Controller to manage sweeps on the cloud (standard), locally (local) across one or more machines. After a run completes, the sweep controller will issue a new set of instructions describing a new run to execute. These instructions are picked up by agents who actually perform the runs. In a typical W&B Sweep, the controller lives on the Weights & Biases server. Agents live on your machine(s).

The following code snippets demonstrate how to initialize sweeps with the CLI and within a Jupyter Notebook or Python script.

caution
  1. Before you initialize a sweep, make sure you have a sweep configuration defined either in a YAML file or a nested Python dictionary object in your script. For more information see, Define sweep configuration.
  2. Both the W&B Sweep and the W&B Run must be in the same project. Therefore, the name you provide when you initialize Weights & Biases (wandb.init) must match the name of the project you provide when you initialize a W&B Sweep (wandb.sweep).

Use the Weights & Biases SDK to initialize a sweep. Pass the sweep configuration dictionary to the sweep parameter. Optionally provide the name of the project for the project parameter (project) where you want the output of the W&B Run to be stored. If the project is not specified, the run is put in an "Uncategorized" project.

import wandb

# Example sweep configuration
sweep_configuration = {
'method': 'random',
'name': 'sweep',
'metric': {
'goal': 'maximize',
'name': 'val_acc'
},
'parameters': {
'batch_size': {'values': [16, 32, 64]},
'epochs': {'values': [5, 10, 15]},
'lr': {'max': 0.1, 'min': 0.0001}
}
}

sweep_id = wandb.sweep(sweep=sweep_configuration, project="project-name")

The wandb.sweep function returns the sweep ID. The sweep ID includes the entity name and the project name. Make a note of the sweep ID.

Was this page helpful?๐Ÿ‘๐Ÿ‘Ž