Thanks for tuning in to Google I/O. View all sessions on demandWatch on demand


Configuration for optimizer.

Inherits From: OneOfConfig, Config, ParamsDict

type 'str', type of optimizer to be used, on the of fields below.
sgd sgd optimizer config.
adam adam optimizer config.
adamw adam with weight decay.
lamb lamb optimizer.
rmsprop rmsprop optimizer.
lars lars optimizer.
adagrad adagrad optimizer.
slide slide optimizer.

default_params Dataclass field
restrictions Dataclass field
sgd_experimental Dataclass field
adam_experimental Dataclass field
adamw_experimental Dataclass field
adafactor Dataclass field



View source

Returns a dict representation of OneOfConfig.

For the nested base_config.Config, a nested dict will be returned.


View source

Builds a config from the given list of arguments.


View source

Wrapper for from_yaml.


View source


View source

Returns selected config based on the value of type.

If type is not set (None), None is returned.


View source

Makes the ParamsDict immutable.


View source

Override the ParamsDict with a set of given params.

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.


View source

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


View source

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 specfiies 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

  a1: 1
  a2: 2
    bb1: 10
    bb2: 20
    a1: 1
    a3: 3

one can define two restrictions like this ['a.a1 == b.ccc.a1', 'a.a2 <=']

What it enforces are

  • a.a1 = 1 == b.ccc.a1 = 1
  • a.a2 = 2 <= = 20

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.


View source

Implements the membership test operator.


IMMUTABLE_TYPES (<class 'str'>, <class 'int'>, <class 'float'>, <class 'bool'>, <class 'NoneType'>)
RESERVED_ATTR ['_locked', '_restrictions']
SEQUENCE_TYPES (<class 'list'>, <class 'tuple'>)
adafactor Instance of tfm.optimization.AdafactorConfig
adagrad Instance of tfm.optimization.AdagradConfig
adam Instance of tfm.optimization.AdamConfig
adam_experimental Instance of tfm.optimization.AdamExperimentalConfig
adamw Instance of tfm.optimization.AdamWeightDecayConfig
adamw_experimental Instance of tfm.optimization.AdamWeightDecayExperimentalConfig
default_params None
lamb Instance of tfm.optimization.LAMBConfig
lars Instance of tfm.optimization.LARSConfig
restrictions None
rmsprop Instance of tfm.optimization.RMSPropConfig
sgd Instance of tfm.optimization.SGDConfig
sgd_experimental Instance of tfm.optimization.SGDExperimentalConfig
slide Instance of tfm.optimization.SLIDEConfig
type None