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 newEpochState
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 thenext()
method, and false otherwise.next
()Returns the next epoch with an initialized state.