firecrown.updatable.Updatable
- class firecrown.updatable.Updatable[source]
Bases:
ABC
Abstract class Updatable is the base class for Updatable objects in Firecrown.
Any class in Firecrown that supports updating from a ParamsMap should inherit. Such classes are expected to change state only in through their implementation of _update (including any other private methods used to implement _update). Other functions should not change the data of Updatable objects.
Public Methods:
__init__
()Updatable initialization.
__setattr__
(key, value)Set the attribute named
key
to the suppliedvalue
.set_internal_parameter
(key, value)Assure this InternalParameter has not already been set, and then set it.
set_sampler_parameter
(key, value)Assure this SamplerParameter has not already been set, and then set it.
update
(params)Update self by calling to prepare for the next MCMC sample.
reset
()Clean up self by clearing the _updated status and reseting all internals.
Return a RequiredParameters object containing the information for all parameters defined in the implementing class, any additional parameter
Returns a collection of derived parameters once per iteration of the statistical analysis.
Private Methods:
_update
(params)Do any updating other than calling
update
on containedUpdatable
objects._reset
()Abstract method to be implemented by all concrete classes to update self.
Return a RequiredParameters object containing the information for this Updatable.
Abstract method to be implemented by all concrete classes to return their derived parameters.
- __setattr__(key, value)[source]
Set the attribute named
key
to the suppliedvalue
.There is special handling for two types:
SamplerParameter
andInternalParameter
.We also keep track of all
Updatable
instance variables added, appending a reference to each toself._updatables
as well as storing the attribute directly.- Parameters
key (
str
) –value (
Any
) –
- Return type
None
- abstract _get_derived_parameters()[source]
Abstract method to be implemented by all concrete classes to return their derived parameters.
Concrete classes must override this. If no derived parameters are required derived classes must simply return super()._get_derived_parameters().
- Return type
- abstract _required_parameters()[source]
Return a RequiredParameters object containing the information for this Updatable. This method must be overridden by concrete classes.
The base class implementation returns a list with all SamplerParameter objects properties.
- Return type
- abstract _reset()[source]
Abstract method to be implemented by all concrete classes to update self.
Concrete classes must override this, resetting themselves.
The base class implementation does nothing.
- Return type
None
- _update(params)[source]
Do any updating other than calling
update
on containedUpdatable
objects.Implement this method in a subclass only when it has something to do. If the supplied ParamsMap is lacking a required parameter, an implementation should raise a TypeError.
This default implementation does nothing.
- Parameters
params (
ParamsMap
) – a new set of parameter values- Return type
None
- final get_derived_parameters()[source]
Returns a collection of derived parameters once per iteration of the statistical analysis. First call returns the DerivedParameterCollection, further calls return None.
- Return type
Optional
[DerivedParameterCollection
]
- final required_parameters()[source]
Return a RequiredParameters object containing the information for all parameters defined in the implementing class, any additional parameter
- Return type
- final reset()[source]
Clean up self by clearing the _updated status and reseting all internals. We call the abstract method _reset to allow derived classes to clean up any additional internals.
Each MCMC framework connector should call this after handling an MCMC sample.
- Return type
None
- set_internal_parameter(key, value)[source]
Assure this InternalParameter has not already been set, and then set it.
- Parameters
key (
str
) –value (
InternalParameter
) –
- Return type
None
- set_sampler_parameter(key, value)[source]
Assure this SamplerParameter has not already been set, and then set it.
- Parameters
key (
str
) –value (
SamplerParameter
) –
- Return type
None
- final update(params)[source]
Update self by calling to prepare for the next MCMC sample.
We first update the values of sampler parameters from the values in
params
. An error will be raised if any of self’s sampler parameters can not be found inparams
or if any internal parameters are provided inparams
.We then use the
params
to update each contained Updatable or UpdatableCollection object. The method _update is called to give subclasses an opportunity to do any other preparation for the next MCMC sample.- Parameters
params (
ParamsMap
) – new parameter values- Return type
None