The Builder is used to help configure and initialize a run before the training loop where you log model metrics.


The Builder pattern allows us to write readable code to set up a WandbRun. The builder contains a few functions used to help initialize these values.
  • — returns a WandbRun instance, representing a run
  • builder.withName(String name) — a display name for this run, which shows up in the UI and is editable, doesn't have to be unique
  • builder.withConfig(JSONObject data) — a Java JSON Object that contains any initial config values
  • builder.withProject(String project) — the name of the project to which this run will belong
  • builder.withNotes(String notes) — a description associated with the run
  • builder.setTags(List<String> tags) — an array of tags to be used with the run
  • builder.setJobType(String type) — the type of job you are logging, e.g. eval, worker, ps (default: training)
  • builder.withGroup(String group) — a string by which to group other runs; see Grouping
Most of these settings can also be controlled via Environment Variables. This is often useful when you're running jobs on a cluster.


Initializing a default run
WandbRun run = new WandbRun.Builder().build();
Initializing a run with a config object and name
// Create JSONObject config
JSONObject config = new JSONOBject();
config.add("property", true);
// Use builder to customize run options
WandbRun run = new WandbRun.Builder()
.withName("A Java Run")
Last modified 1yr ago