tfm.optimization.StepwiseLrConfig
Stay organized with collections
Save and categorize content based on your preferences.
Configuration for stepwise learning rate decay.
Inherits From: Config, ParamsDict
View aliases
Main aliases
tfm.optimization.StepwiseLrConfig(
default_params: dataclasses.InitVar[Optional[Mapping[str, Any]]] = None,
restrictions: dataclasses.InitVar[Optional[List[str]]] = None,
name: str = 'PiecewiseConstantDecay',
boundaries: Optional[List[int]] = None,
values: Optional[List[float]] = None,
offset: int = 0
)
This class is a container for the piecewise constant learning rate scheduling configs. It will configure an instance of PiecewiseConstantDecay keras learning rate schedule.
An example (from keras docs): use a learning rate that's 1.0 for the first 100001 steps, 0.5 for the next 10000 steps, and 0.1 for any additional steps.
```python
boundaries: [100000, 110000]
values: [1.0, 0.5, 0.1]
Attributes | |
|---|---|
name
|
The name of the learning rate schedule. Defaults to PiecewiseConstant. |
boundaries
|
A list of ints of strictly increasing entries. Defaults to None. |
values
|
A list of floats that specifies the values for the intervals defined
by boundaries. It should have one more element than boundaries.
The learning rate is computed as follows: [0, boundaries[0]] ->
values[0] [boundaries[0], boundaries[1]] -> values[1]
[boundaries[n-1], boundaries[n]] -> values[n] [boundaries[n],
end] -> values[n+1] Defaults to None.
|
offset
|
An int. The offset applied to steps. Defaults to 0. |
BUILDER
|
|
default_params
|
Dataclass field |
restrictions
|
Dataclass field |
## Methods
as_dict
as_dict()
Returns a dict representation of params_dict.ParamsDict.
For the nested params_dict.ParamsDict, a nested dict will be returned.
from_args
@classmethod
from_args(
*args, **kwargs
)
Builds a config from the given list of arguments.
from_json
@classmethod
from_json(
file_path: str
)
Wrapper for from_yaml.
from_yaml
@classmethod
from_yaml(
file_path: str
)
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.
|
replace
replace(
**kwargs
)
Overrides/returns a unlocked copy with the current config unchanged.
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 | |
|---|---|
|
| 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.
__eq__
__eq__(
other
)
Class Variables | |
|---|---|
| IMMUTABLE_TYPES |
(<class 'str'>,
<class 'int'>,
<class 'float'>,
<class 'bool'>,
<class 'NoneType'>)
|
| RESERVED_ATTR |
['_locked', '_restrictions']
|
| SEQUENCE_TYPES |
(<class 'list'>, <class 'tuple'>)
|
| boundaries |
None
|
| default_params |
None
|
| name |
'PiecewiseConstantDecay'
|
| offset |
0
|
| restrictions |
None
|
| values |
None
|