sequince.steps.log#
Attributes#
Classes#
A simple step that logs a message at each iteration. |
Module Contents#
- sequince.steps.log.logger#
- class sequince.steps.log.LoggingStep(str_fn, level=logging.INFO, frequency=1)[source]#
Bases:
sequince.steps.base.SMCStepA simple step that logs a message at each iteration.
Examples
>>> def log_fn(state, context): ... return f"Iteration {context.t}: ESS={state.effective_sample_size():.2f}" >>> step = LoggingStep(str_fn=log_fn, level=logging.INFO, frequency=1) >>> smc = SequentialMonteCarlo(steps=[..., step, ...])
- Parameters:
str_fn (Callable[[sequince.state.ParticleState, sequince.steps.base.StepContext], str]) – A function that takes the current
ParticleStateandStepContextand returns a string message to log.level (int) – The logging level to use (e.g.,
logging.INFO).frequency (int) – How often to log the message (in terms of SMC iterations).
- apply(state, context, rng)[source]#
- Parameters:
state (sequince.state.ParticleState)
context (sequince.steps.base.StepContext)
rng (orng.RandomGenerator)
- Return type:
tuple[sequince.state.ParticleState, sequince.steps.base.StepContext, None]