Start or stop a sweep agent
Start a W&B Sweep on one or more agents on one or more machines. W&B Sweep agents query the W&B server you launched when you initialized a W&B Sweep (wandb sweep)
for hyperparameters and use them to run model training.
To start a W&B Sweep agent, provide the W&B Sweep ID that was returned when you initialized a W&B Sweep. The W&B Sweep ID has the form:
entity/project/sweep_ID
Where:
- entity: Your W&B username or team name.
- project: The name of the 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.
- sweep_ID: The pseudo random, unique ID generated by W&B.
Provide the name of the function the W&B Sweep will execute if you start a W&B Sweep agent within a Jupyter Notebook or Python script.
The proceeding code snippets demonstrate how to start an agent with W&B. We assume you already have a configuration file and you have already initialized a W&B Sweep. For more information about how to define a configuration file, see Define sweep configuration.
- CLI
- Python script or Jupyter Notebook
Use the wandb agent
command to start a sweep. Provide the sweep ID that was returned when you initialized the sweep. Copy and paste the code snippet below and replace sweep_id
with your sweep ID:
wandb agent sweep_id
Use the W&B Python SDK library to start a sweep. Provide the sweep ID that was returned when you initialized the sweep. In addition, provide the name of the function the sweep will execute.
wandb.agent(sweep_id=sweep_id, function=function_name)
Stop W&B agentโ
Random and Bayesian searches will run forever. You must stop the process from the command line, within your python script, or the Sweeps UI.
Optionally specify the number of W&B Runs a Sweep agent should try. The following code snippets demonstrate how to set a maximum number of W&B Runs with the CLI and within a Jupyter Notebook, Python script.
- Python script or Jupyter Notebook
- CLI
First, initialize your sweep. For more information, see Initialize sweeps.
sweep_id = wandb.sweep(sweep_config)
Next, start the sweep job. Provide the sweep ID generated from sweep initiation. Pass an integer value to the count parameter to set the maximum number of runs to try.
sweep_id, count = "dtzl1o7u", 10
wandb.agent(sweep_id, count=count)
If you start a new run after the sweep agent has finished, within the same script or notebook, then you should call wandb.teardown()
before starting the new run.
First, initialize your sweep with the wandb sweep
command. For more information, see Initialize sweeps.
wandb sweep config.yaml
Pass an integer value to the count flag to set the maximum number of runs to try.
NUM=10
SWEEPID="dtzl1o7u"
wandb agent --count $NUM $SWEEPID