tf.keras.optimizers.OptimizerMap

A class mapping variables to optimizers.

default_optimizer Default Keras Optimizer for any unmapped variables.

default_optimizer

Methods

clear

D.clear() -> None. Remove all items from D.

from_config

View source

get

Retrieves the corresponding layout by the string key.

When there isn't an exact match, all the existing keys in the layout map will be treated as a regex and map against the input key again. When there are multiple matches for the regex, an ValueError will be raised. Returns None if there isn't any match found.

Args
key String key to query a layout.

Returns
Corresponding layout based on the query.

get_config

View source

items

D.items() -> a set-like object providing a view on D's items

keys

D.keys() -> a set-like object providing a view on D's keys

pop

D.pop(k[,d]) -> v, remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised.

popitem

D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty.

setdefault

D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D

update

D.update([E, ]**F) -> None. Update D from mapping/iterable E and F. If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values

D.values() -> an object providing a view on D's values

__call__

View source

Call self as a function.

__contains__

__eq__

Return self==value.

__getitem__

View source

Retrieves the corresponding Optimizer by the string key.

This method first attempts an exact key match. If no exact match is found, it treats all keys in the map as regular expression patterns and uses re.fullmatch to find a policy.

For example, to apply a optimizer to all sublayers of an encoder block, the key should be explicitly set to "encoder/.*". A key of "encoder" will only match the layer with that exact path.

Args
key str. The key to query for an Optimizer.

Returns
The corresponding Optimizer. If no match is found, this method returns self.default_optimizer.

Raises
ValueError If the key matches more than one regex pattern in the map.

Example:

from keras.src import optimizers from keras.src.optimizers.multi_optimizer import OptimizerMap opt_adam = optimizers.Adam() opt_sgd = optimizers.SGD() opt_rmsprop = optimizers.RMSprop() optimizer_map = OptimizerMap(default_optimizer=opt_rmsprop) optimizer_map["encoder/layer_0/dense"] = opt_adam optimizer_map["encoder/.*"] = opt_sgd optimizer_map["decoder"] = opt_adam


<pre class="devsite-click-to-copy prettyprint lang-py">
<code class="devsite-terminal" data-terminal-prefix="&gt;&gt;&gt;">optimizer_map[&quot;decoder&quot;].name</code>
<code class="no-select nocode">&#x27;adam&#x27;</code>
</pre>


<pre class="devsite-click-to-copy prettyprint lang-py">
<code class="devsite-terminal" data-terminal-prefix="&gt;&gt;&gt;">optimizer_map[&quot;encoder/layer_0/dense&quot;].name</code>
<code class="no-select nocode">&#x27;adam&#x27;</code>
</pre>


<pre class="devsite-click-to-copy prettyprint lang-py">
<code class="devsite-terminal" data-terminal-prefix="&gt;&gt;&gt;">optimizer_map[&quot;encoder/layer_0/attention/query&quot;].name</code>
<code class="no-select nocode">&#x27;sgd&#x27;</code>
</pre>


<pre class="devsite-click-to-copy prettyprint lang-py">
<code class="devsite-terminal" data-terminal-prefix="&gt;&gt;&gt;">optimizer_map[&quot;decoder/layer_0/dense&quot;].name</code>
<code class="no-select nocode">&#x27;rmsprop&#x27;</code>
</pre>

__iter__

View source

__len__

View source