EpochManager#

class liesel.goose.epoch.EpochManager(configs)[source]#

Bases: object

Manages EpochConfig objects.

A sequence of EpochConfig objects can be handed to the manager either during initialization or later with the append method. The manager creates a new EpochState object with properly initialized time values.

Furthermore, the EpochManager enforces this invariant:

  • An epoch must be of duration at least 1.

  • An initial values epoch must be of duration exactly 1.

  • The first epoch must be an initial values epoch.

  • No other than the first epoch may be an initial values epoch.

  • A posterior epoch may not be followed by a non-posterior epoch.

  • Temporary: Thinning must be 1.

The limitation that thinning must be 1 will probably be removed in the future. To do so, we need to figure out how kernels relying on history tuning can be tuned if the history is thinned.

Methods

append(config)

Appends an EpochConfig to the list of epochs.

has_more()

Returns True if there are epoch configs that have not been returned yet by the next() method, and false otherwise.

next()

Returns the next epoch with an initialized state.