tfm.hyperparams.ParamsDict | TensorFlow v2.16.1 (original) (raw)
A hyperparameter container class.
View aliases
Main aliases
tfm.hyperparams.params_dict.ParamsDict
tfm.hyperparams.ParamsDict(
default_params=None, restrictions=None
)
Args | |
---|---|
default_params | a Python dict or another ParamsDict object including the default parameters to initialize. |
restrictions | a list of strings, which define a list of restrictions to ensure the consistency of different parameters internally. Each restriction string is defined as a binary relation with a set of operators, including {'==', '!=', '<', '<=', '>', '>='}. |
Methods
as_dict
as_dict()
Returns a dict representation of ParamsDict.
For the nested ParamsDict, a nested dict will be returned.
get
get(
key, value=None
)
Accesses through built-in dictionary get method.
lock
lock()
Makes the ParamsDict immutable.
override
override(
override_params, is_strict=True
)
Override the ParamsDict with a set of given params.
Args | |
---|---|
override_params | a dict or a ParamsDict specifying the parameters to be overridden. |
is_strict | a boolean specifying whether override is strict or not. If True, keys in override_params must be present in the ParamsDict. If False, keys in override_params can be different from what is currently defined in the ParamsDict. In this case, the ParamsDict will be extended to include the new keys. |
validate
validate()
Validate the parameters consistency based on the restrictions.
This method validates the internal consistency using the pre-defined list of restrictions. A restriction is defined as a string which specifies a binary operation. The supported binary operations are {'==', '!=', '<', '<=', '>', '>='}. Note that the meaning of these operators are consistent with the underlying Python immplementation. Users should make sure the define restrictions on their type make sense.
For example, for a ParamsDict like the following
a:
a1: 1
a2: 2
b:
bb:
bb1: 10
bb2: 20
ccc:
a1: 1
a3: 3
one can define two restrictions like this ['a.a1 == b.ccc.a1', 'a.a2 <= b.bb.bb2']
What it enforces are |
---|
a.a1 = 1 == b.ccc.a1 = 1 a.a2 = 2 <= b.bb.bb2 = 20 |
Raises | |
---|---|
KeyError | if any of the following happens (1) any of parameters in any of restrictions is not defined in ParamsDict, (2) any inconsistency violating the restriction is found. |
ValueError | if the restriction defined in the string is not supported. |
__contains__
__contains__(
key
)
Implements the membership test operator.
Class Variables | |
---|---|
RESERVED_ATTR | ['_locked', '_restrictions'] |