sequince.steps.log#

Attributes#

Classes#

LoggingStep

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.SMCStep

A 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 ParticleState and StepContext and 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:
Return type:

tuple[sequince.state.ParticleState, sequince.steps.base.StepContext, None]