tfm.optimization.StepwiseLrConfig

View source on GitHub

Configuration for stepwise learning rate decay.

Inherits From: Config, ParamsDict

View aliases

Main aliases

tfm.optimization.lr_cfg.StepwiseLrConfig

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

View source

 as_dict()
 

Returns a dict representation of params_dict.ParamsDict.

For the nested params_dict.ParamsDict, a nested dict will be returned.

from_args

View source

 @classmethod
 from_args(
 *args, **kwargs
 )
 

Builds a config from the given list of arguments.

from_json

View source

 @classmethod
 from_json(
 file_path: str
 )
 

Wrapper for from_yaml.

from_yaml

View source

 @classmethod
 from_yaml(
 file_path: str
 )
 

get

View source

 get(
 key, value=None
 )
 

Accesses through built-in dictionary get method.

lock

View source

 lock()
 

Makes the ParamsDict immutable.

override

View source

 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

View source

 replace(
 **kwargs
 )
 

Overrides/returns a unlocked copy with the current config unchanged.

validate

View source

 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__

View source

__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

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.

Last updated 2024年02月02日 UTC.