EvSys

TrainingLoop

Drive a training run against a :class:Backend.

Construction is intentionally explicit - no global state, no env-var knobs, no auto-resume. Algorithms compose the loop with their own StepBuilder + Backend + optional Evaluators.

Attributes

attributebackend
= backend
attributestep_builder
= step_builder
attributelog_store
= log_store
attributeoutput_dir
= Path(output_dir)
attributeadam_params
= adam_params
attributesave_every
= save_every
attributeevaluatorslist[Evaluator]
= list(evaluators or [])
attributecallbackslist[Callback]
= list(callbacks or [])
attributelog_context
= log_context
attributelog_prefix
= log_prefix
attributecheckpoint_mgr
= CheckpointManager(log_path=(self.output_dir), save_every=save_every)

Functions

func__init__(self, *, backend, step_builder, log_store, output_dir, adam_params, save_every, evaluators=None, callbacks=None, log_context=None, log_prefix='', metric_keys=None) -> None
paramself
parambackendBackend
paramstep_builderStepBuilder
paramlog_storeAny
paramoutput_dirstr | Path
paramadam_paramstinker.AdamParams
paramsave_everyint
paramevaluatorslist[Evaluator] | None
= None
paramcallbackslist[Callback] | None
= None
paramlog_contextAny
= None
paramlog_prefixstr
= ''
parammetric_keys_LoopMetricKeys | None
= None

Returns

None
funcrun(self, *, num_steps, start_step=0) -> LoopArtifacts
paramself
paramnum_stepsint
paramstart_stepint
= 0

Returns

evsys_sdk.training.loop.LoopArtifacts
func_run_one_step(self, step, num_steps, state=None) -> None
paramself
paramstepint
paramnum_stepsint
paramstateLoopState | None
= None

Returns

None
func_save_checkpoint(self, name, *, batch, state=None) -> None

Snapshot both training state (for resume) and sampler weights (for eval), then record one manifest row.

paramself
paramnamestr
parambatchint
paramstateLoopState | None
= None

Returns

None
func_is_due(self, ev, step) -> bool

Per-evaluator cadence check. run_every \<= 0 → disabled; positive → fire when (step + 1) % run_every == 0.

paramself
paramevEvaluator
paramstepint

Returns

bool
func_run_eval(self, step, due, state=None) -> None

Take ONE sampler snapshot for the step, run each due evaluator, log results under val/\<eval_name>/\<metric>.

paramself
paramstepint
paramduelist[Evaluator]
paramstateLoopState | None
= None

Returns

None
func_dispatch(self, hook, *args) -> None

Call hook on every callback (error-isolated). Thin wrapper over the shared :func:~evsys_sdk.training.callbacks.dispatch so the loop and the Experiment fan out identically.

paramself
paramhookstr
paramargsAny
= ()

Returns

None

On this page