paramspace.paramdim module¶
The ParamDim classes define parameter dimensions along which discrete values can be assumed. While they provide iteration abilities on their own, they make sense mostly to use as objects in a dict that is converted to a ParamSpace.
-
class
paramspace.paramdim.
Masked
(value)[source]¶ Bases:
object
To indicate a masked value in a ParamDim
-
__init__
(value)[source]¶ Initialize a Masked object that is a placeholder for the given value
- Parameters
value – The value to mask
-
property
value
¶
-
classmethod
to_yaml
(representer, node: paramspace.paramdim.Masked)[source]¶ - Parameters
representer (ruamel.yaml.representer) – The representer module
node (Masked) – The node, i.e. an instance of this class
- Returns
the scalar value that this object masks
-
-
exception
paramspace.paramdim.
MaskedValueError
[source]¶ Bases:
ValueError
Raised when trying to set the state of a ParamDim to a masked value
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
class
paramspace.paramdim.
ParamDimBase
(*, default, values: Iterable = None, order: float = None, name: str = None, as_type: str = None, assert_unique: bool = True, **kwargs)[source]¶ Bases:
object
The ParamDim base class.
-
_OMIT_ATTR_IN_EQ
= ()¶
-
_REPR_ATTRS
= ()¶
-
_VKWARGS
= ('values', 'range', 'linspace', 'logspace')¶
-
__init__
(*, default, values: Iterable = None, order: float = None, name: str = None, as_type: str = None, assert_unique: bool = True, **kwargs) → None[source]¶ Initialise a parameter dimension object.
- Parameters
default – default value of this parameter dimension
values (Iterable, optional) – Which discrete values this parameter dimension can take. This argument takes precedence over any constructors given in the kwargs (like range, linspace, …).
order (float, optional) – If given, this allows to specify an order within a ParamSpace that includes this ParamDim object. If not, will use np.inf instead.
name (str, optional) – If given, this is an additional name of this ParamDim object, and can be used by the ParamSpace to access this object.
as_type (str, optional) – If given, casts the individual created values to a certain python type. The following string values are possible: str, int, bool, float
assert_unique (bool, optional) – Whether to assert uniqueness of the values among them.
**kwargs – Constructors for the values argument, valid keys are range, linspace, and logspace; corresponding values are expected to be iterables and are passed to range(*args), np.linspace(*args), or np.logspace(*args), respectively.
- Raises
TypeError – For invalid arguments
-
_init_vals
(*, as_type: str, assert_unique: bool, **kwargs)[source]¶ Parses the arguments and invokes
_set_vals
-
property
name
¶ The name value.
-
property
order
¶ The order value.
-
property
default
¶ The default value.
-
property
values
¶ The values that are iterated over.
- Returns
- the values this parameter dimension can take. If None, the
values are not yet set.
- Return type
tuple
-
property
coords
¶ Returns the coordinates of this parameter dimension, i.e., the combined default value and the sequence of iteration values.
- Returns
coordinates associated with the indices of this dimension
- Return type
tuple
-
property
pure_coords
¶ Returns the pure coordinates of this parameter dimension, i.e., the combined default value and the sequence of iteration values, but with masked values resolved.
- Returns
coordinates associated with the indices of this dimension
- Return type
tuple
-
property
num_values
¶ The number of values available.
- Returns
The number of available values
- Return type
int
-
property
num_states
¶ The number of possible states, i.e., including the default state
- Returns
The number of possible states
- Return type
int
-
property
state
¶ The current iterator state
- Returns
- The state of the iterator; if it is None, the
ParamDim is not inside an iteration.
- Return type
Union[int, None]
-
property
current_value
¶ If in an iteration, returns the value according to the current state. Otherwise, returns the default value.
-
__eq__
(other) → bool[source]¶ Check for equality between self and other
- Parameters
other – the object to compare to
- Returns
Whether the two objects are equivalent
- Return type
bool
-
abstract
__len__
() → int[source]¶ Returns the effective length of the parameter dimension, i.e. the number of values that will be iterated over
- Returns
The number of values to be iterated over
- Return type
int
-
__str__
() → str[source]¶ - Returns
- Returns the string representation of the ParamDimBase-derived
object
- Return type
str
-
__repr__
() → str[source]¶ - Returns
- Returns the string representation of the ParamDimBase-derived
object
- Return type
str
-
__next__
()[source]¶ Move to the next valid state and return the corresponding parameter value.
- Returns
The current value (inside an iteration)
-
abstract
enter_iteration
() → None[source]¶ Sets the state to the first possible one, symbolising that an iteration has started.
- Returns
None
- Raises
StopIteration – If no iteration is possible
-
abstract
iterate_state
() → None[source]¶ Iterates the state of the parameter dimension.
- Returns
None
- Raises
StopIteration – Upon end of iteration
-
abstract
reset
() → None[source]¶ Called after the end of an iteration and should reset the object to a state where it is possible to start another iteration over it.
- Returns
None
-
_parse_value
(val, *, as_type: str = None)[source]¶ Parses a single value and ensures it is of correct type.
-
_set_values
(values: Iterable, *, assert_unique: bool, as_type: str = None)[source]¶ This function sets the values attribute; it is needed for the values setter function that is overwritten when changing the property in a derived class.
- Parameters
values (Iterable) – The iterable to set the values with
assert_unique (bool) – Whether to assert uniqueness of the values
as_type (str, optional) – The following values are possible: str, int, bool, float. If not given, will leave the values as they are.
- Raises
AttributeError – If the attribute is already set
ValueError – If the iterator is invalid
- Deleted Parameters:
- as_float (bool, optional): If given, makes sure that values are
of type float; this is needed for the numpy initializers
-
_rec_tuple_conv
(obj: list)[source]¶ Recursively converts a list-like object into a tuple, replacing all occurences of lists with tuples.
-
_YAML_UPDATE
= {}¶
-
_YAML_REMOVE_IF
= {'name': (None,), 'order': (None,)}¶
-
classmethod
to_yaml
(representer, node)[source]¶ - Parameters
representer (ruamel.yaml.representer) – The representer module
node (type(self)) – The node, i.e. an instance of this class
- Returns
a yaml mapping that is able to recreate this object
-
classmethod
from_yaml
(constructor, node)[source]¶ The default constructor for ParamDim-derived objects
-
_abc_impl
= <_abc_data object>¶
-
-
class
paramspace.paramdim.
ParamDim
(*, mask: Union[bool, Tuple[bool]] = False, **kwargs)[source]¶ Bases:
paramspace.paramdim.ParamDimBase
The ParamDim class.
-
_OMIT_ATTR_IN_EQ
= ('_mask_cache', '_inside_iter', '_target_of')¶
-
_REPR_ATTRS
= ('mask',)¶
-
yaml_tag
= '!pdim'¶
-
_YAML_UPDATE
= {'mask': 'mask'}¶
-
_YAML_REMOVE_IF
= {'mask': (None, False), 'name': (None,), 'order': (None,)}¶
-
__init__
(*, mask: Union[bool, Tuple[bool]] = False, **kwargs)[source]¶ Initialize a regular parameter dimension.
- Parameters
mask (Union[bool, Tuple[bool]], optional) – Which values of the dimension to mask, i.e., skip in iteration. Note that masked values still count to the length of the parameter dimension!
**kwargs –
Passed to
ParamDimBase.__init__
. Possible arguments:default: default value of this parameter dimension
- values (Iterable, optional): Which discrete values this
parameter dimension can take. This argument takes precedence over any constructors given in the kwargs (like range, linspace, …).
- order (float, optional): If given, this allows to specify an
order within a ParamSpace that includes this ParamDim. If not given, np.inf will be used, i.e., dimension is last.
- name (str, optional): If given, this is an additional name
of this ParamDim object, and can be used by the ParamSpace to access this object.
**kwargs
: Constructors for thevalues
argument, validkeys are
range
,linspace
, andlogspace
; corresponding values are expected to be iterables and are passed torange(*args)
,np.linspace(*args)
, ornp.logspace(*args)
, respectively.
-
property
target_of
¶ Returns the list that holds all the CoupledParamDim objects that point to this instance of ParamDim.
-
property
state
¶ The current iterator state
- Returns
- The state of the iterator; if it is None, the
ParamDim is not inside an iteration.
- Return type
Union[int, None]
-
property
mask_tuple
¶ Returns a tuple representation of the current mask
-
property
mask
¶ Returns False if no value is masked or a tuple of booleans that represents the mask
-
property
num_masked
¶ Returns the number of unmasked values
-
__len__
() → int[source]¶ Returns the effective length of the parameter dimension, i.e. the number of values that will be iterated over.
- Returns
The number of values to be iterated over
- Return type
int
-
enter_iteration
() → None[source]¶ Sets the state to the first possible one, symbolising that an iteration has started.
- Raises
StopIteration – If no iteration is possible because all values are masked.
-
iterate_state
() → None[source]¶ Iterates the state of the parameter dimension.
- Raises
StopIteration – Upon end of iteration
-
reset
() → None[source]¶ Called after the end of an iteration and should reset the object to a state where it is possible to start another iteration over it.
- Returns
None
-
_VKWARGS
= ('values', 'range', 'linspace', 'logspace')¶
-
__eq__
(other) → bool¶ Check for equality between self and other
- Parameters
other – the object to compare to
- Returns
Whether the two objects are equivalent
- Return type
bool
-
__iter__
()¶ Iterate over available values
-
__next__
()¶ Move to the next valid state and return the corresponding parameter value.
- Returns
The current value (inside an iteration)
-
__repr__
() → str¶ - Returns
- Returns the string representation of the ParamDimBase-derived
object
- Return type
str
-
__str__
() → str¶ - Returns
- Returns the string representation of the ParamDimBase-derived
object
- Return type
str
-
_abc_impl
= <_abc_data object>¶
-
_init_vals
(*, as_type: str, assert_unique: bool, **kwargs)¶ Parses the arguments and invokes
_set_vals
-
_parse_repr_attrs
() → dict¶ For the __repr__ method, collects some attributes into a dict
-
_parse_value
(val, *, as_type: str = None)¶ Parses a single value and ensures it is of correct type.
-
_rec_tuple_conv
(obj: list)¶ Recursively converts a list-like object into a tuple, replacing all occurences of lists with tuples.
-
_set_values
(values: Iterable, *, assert_unique: bool, as_type: str = None)¶ This function sets the values attribute; it is needed for the values setter function that is overwritten when changing the property in a derived class.
- Parameters
values (Iterable) – The iterable to set the values with
assert_unique (bool) – Whether to assert uniqueness of the values
as_type (str, optional) – The following values are possible: str, int, bool, float. If not given, will leave the values as they are.
- Raises
AttributeError – If the attribute is already set
ValueError – If the iterator is invalid
- Deleted Parameters:
- as_float (bool, optional): If given, makes sure that values are
of type float; this is needed for the numpy initializers
-
property
coords
¶ Returns the coordinates of this parameter dimension, i.e., the combined default value and the sequence of iteration values.
- Returns
coordinates associated with the indices of this dimension
- Return type
tuple
-
property
current_value
¶ If in an iteration, returns the value according to the current state. Otherwise, returns the default value.
-
property
default
¶ The default value.
-
classmethod
from_yaml
(constructor, node)¶ The default constructor for ParamDim-derived objects
-
property
name
¶ The name value.
-
property
num_states
¶ The number of possible states, i.e., including the default state
- Returns
The number of possible states
- Return type
int
-
property
num_values
¶ The number of values available.
- Returns
The number of available values
- Return type
int
-
property
order
¶ The order value.
-
property
pure_coords
¶ Returns the pure coordinates of this parameter dimension, i.e., the combined default value and the sequence of iteration values, but with masked values resolved.
- Returns
coordinates associated with the indices of this dimension
- Return type
tuple
-
classmethod
to_yaml
(representer, node)¶ - Parameters
representer (ruamel.yaml.representer) – The representer module
node (type(self)) – The node, i.e. an instance of this class
- Returns
a yaml mapping that is able to recreate this object
-
property
values
¶ The values that are iterated over.
- Returns
- the values this parameter dimension can take. If None, the
values are not yet set.
- Return type
tuple
-
-
class
paramspace.paramdim.
CoupledParamDim
(*, default=None, target_pdim: paramspace.paramdim.ParamDim = None, target_name: Union[str, Sequence[str]] = None, use_coupled_default: bool = None, use_coupled_values: bool = None, **kwargs)[source]¶ Bases:
paramspace.paramdim.ParamDimBase
A CoupledParamDim object is recognized by the ParamSpace and its state moves alongside with another ParamDim’s state.
-
_OMIT_ATTR_IN_EQ
= ()¶
-
_REPR_ATTRS
= ('target_pdim', 'target_name', '_use_coupled_default', '_use_coupled_values')¶
-
yaml_tag
= '!coupled-pdim'¶
-
_YAML_UPDATE
= {'target_name': '_target_name_as_list'}¶
-
_YAML_REMOVE_IF
= {'assert_unique': (True, False), 'default': (None,), 'name': (None,), 'order': (None,), 'target_name': (None,), 'target_pdim': (None,), 'use_coupled_default': (None,), 'use_coupled_values': (None,), 'values': (None, [None])}¶
-
__init__
(*, default=None, target_pdim: paramspace.paramdim.ParamDim = None, target_name: Union[str, Sequence[str]] = None, use_coupled_default: bool = None, use_coupled_values: bool = None, **kwargs)[source]¶ Initialize a coupled parameter dimension.
If the default or any values-setting argument is set, those will be used. If that is not the case, the respective parts from the coupled dimension will be used.
- Parameters
default (None, optional) – The default value. If not given, will use the one from the coupled object.
target_pdim (ParamDim, optional) – The ParamDim object to couple to
target_name (Union[str, Sequence[str]], optional) – The name of the ParamDim object to couple to; needs to be within the same ParamSpace and the ParamSpace needs to be able to resolve it using this name.
use_coupled_default (bool, optional) – DEPRECATED
use_coupled_values (bool, optional) – DEPRECATED
**kwargs – Passed to ParamDimBase.__init__
- Raises
TypeError – If neither target_pdim nor target_name were given or or both were given
-
__len__
() → int[source]¶ Returns the effective length of the parameter dimension, i.e. the number of values that will be iterated over; corresponds to that of the target ParamDim
- Returns
The number of values to be iterated over
- Return type
int
-
property
target_name
¶ The ParamDim object this CoupledParamDim couples to.
-
property
_target_name_as_list
¶ For the safe yaml representer, the target_name cannot be a tuple.
This property returns it as str or list of strings.
-
_VKWARGS
= ('values', 'range', 'linspace', 'logspace')¶
-
__eq__
(other) → bool¶ Check for equality between self and other
- Parameters
other – the object to compare to
- Returns
Whether the two objects are equivalent
- Return type
bool
-
__iter__
()¶ Iterate over available values
-
__next__
()¶ Move to the next valid state and return the corresponding parameter value.
- Returns
The current value (inside an iteration)
-
__repr__
() → str¶ - Returns
- Returns the string representation of the ParamDimBase-derived
object
- Return type
str
-
__str__
() → str¶ - Returns
- Returns the string representation of the ParamDimBase-derived
object
- Return type
str
-
_abc_impl
= <_abc_data object>¶
-
_init_vals
(*, as_type: str, assert_unique: bool, **kwargs)¶ Parses the arguments and invokes
_set_vals
-
_parse_repr_attrs
() → dict¶ For the __repr__ method, collects some attributes into a dict
-
_parse_value
(val, *, as_type: str = None)¶ Parses a single value and ensures it is of correct type.
-
_rec_tuple_conv
(obj: list)¶ Recursively converts a list-like object into a tuple, replacing all occurences of lists with tuples.
-
_set_values
(values: Iterable, *, assert_unique: bool, as_type: str = None)¶ This function sets the values attribute; it is needed for the values setter function that is overwritten when changing the property in a derived class.
- Parameters
values (Iterable) – The iterable to set the values with
assert_unique (bool) – Whether to assert uniqueness of the values
as_type (str, optional) – The following values are possible: str, int, bool, float. If not given, will leave the values as they are.
- Raises
AttributeError – If the attribute is already set
ValueError – If the iterator is invalid
- Deleted Parameters:
- as_float (bool, optional): If given, makes sure that values are
of type float; this is needed for the numpy initializers
-
property
coords
¶ Returns the coordinates of this parameter dimension, i.e., the combined default value and the sequence of iteration values.
- Returns
coordinates associated with the indices of this dimension
- Return type
tuple
-
classmethod
from_yaml
(constructor, node)¶ The default constructor for ParamDim-derived objects
-
property
name
¶ The name value.
-
property
num_states
¶ The number of possible states, i.e., including the default state
- Returns
The number of possible states
- Return type
int
-
property
num_values
¶ The number of values available.
- Returns
The number of available values
- Return type
int
-
property
order
¶ The order value.
-
property
pure_coords
¶ Returns the pure coordinates of this parameter dimension, i.e., the combined default value and the sequence of iteration values, but with masked values resolved.
- Returns
coordinates associated with the indices of this dimension
- Return type
tuple
-
classmethod
to_yaml
(representer, node)¶ - Parameters
representer (ruamel.yaml.representer) – The representer module
node (type(self)) – The node, i.e. an instance of this class
- Returns
a yaml mapping that is able to recreate this object
-
property
target_pdim
¶ The ParamDim object this CoupledParamDim couples to.
-
property
default
¶ The default value.
- Returns
the default value this parameter dimension can take.
- Raises
RuntimeError – If no ParamDim was associated yet
-
property
values
¶ The values that are iterated over.
If self._use_coupled_values is set, will be those of the coupled pdim.
- Returns
The values of this CoupledParamDim or the target ParamDim
- Return type
tuple
-
property
state
¶ The current iterator state of the target ParamDim
- Returns
- The state of the iterator; if it is None, the
ParamDim is not inside an iteration.
- Return type
Union[int, None]
-
property
current_value
¶ If in an iteration, returns the value according to the current state. Otherwise, returns the default value.
-
property
mask
¶ Return the coupled object’s mask value
-