EvSys

WandbLoggerCallback

Log metrics + benchmark predictions to Weights & Biases.

One W&B run per arm: opened in on_run_start (so it exists before the first step) and closed in on_run_end. wandb is imported lazily - if it isn't installed the callback warns once and every hook no-ops (training is never affected; :func:dispatch also isolates errors). The run URL is surfaced on ctx.extras['wandb_url'] so a downstream logger (evsys_logger) can record it on the dashboard run.

Attributes

attributenamestr
= name
attributeConfigtype
= WandbLoggerConfig
attributeproject
= project
attributeentity
= entity
attributemode
= mode
attributelog_every
= max(1, int(log_every))
attributemax_pred_rows
= max(0, int(max_pred_rows))

Functions

func__init__(self, *, project=None, entity=None, name=None, mode='online', log_every=1, max_pred_rows=100) -> None
paramself
paramprojectstr | None
= None
paramentitystr | None
= None
paramnamestr | None
= None
parammodestr
= 'online'
paramlog_everyint
= 1
parammax_pred_rowsint
= 100

Returns

None
func_lazy_wandb(self) -> Any
paramself

Returns

typing.Any
funcon_run_start(self, ctx) -> None
paramself
paramctxLogContext

Returns

None
funcon_step_end(self, state, step_idx, batch, metrics) -> None
paramself
paramstateLoopState
paramstep_idx
parambatch
parammetrics

Returns

None
funcon_eval(self, state, step_idx, eval_name, metrics) -> None
paramself
paramstateLoopState
paramstep_idx
parameval_name
parammetrics

Returns

None
funcon_benchmark_eval(self, ctx, eval_result, predictions, *, step=None) -> None
paramself
paramctx
parameval_result
parampredictions
paramstep
= None

Returns

None
funcon_run_end(self, ctx, run_result, arm) -> None
paramself
paramctx
paramrun_result
paramarm

Returns

None

On this page