View source on GitHub
  
 | 
Configuration for stepwise learning rate decay.
Inherits From: Config, ParamsDict
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]
## 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
@classmethodfrom_args( *args, **kwargs )
Builds a config from the given list of arguments.
from_json
@classmethodfrom_json( file_path: str )
Wrapper for from_yaml.
from_yaml
@classmethodfrom_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
)
    View source on GitHub