View source on GitHub
|
A class mapping variables to optimizers.
tf.keras.optimizers.OptimizerMap(
default_optimizer, optimizer_map=None
)
Args | |
|---|---|
default_optimizer
|
Default Keras Optimizer
for any unmapped variables.
|
Attributes | |
|---|---|
default_optimizer
|
|
Methods
clear
clear()
D.clear() -> None. Remove all items from D.
from_config
@classmethodfrom_config( config, custom_objects=None )
get
get(
key, default=None
)
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
get_config()
items
items()
D.items() -> a set-like object providing a view on D's items
keys
keys()
D.keys() -> a set-like object providing a view on D's keys
pop
pop(
key, default=<object object>
)
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
popitem()
D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty.
setdefault
setdefault(
key, default=None
)
D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
update
update(
other, /, **kwds
)
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
values()
D.values() -> an object providing a view on D's values
__call__
__call__(
variable
)
Call self as a function.
__contains__
__contains__(
key
)
__eq__
__eq__(
other
)
Return self==value.
__getitem__
__getitem__(
key
)
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=">>>">optimizer_map["decoder"].name</code>
<code class="no-select nocode">'adam'</code>
</pre>
<pre class="devsite-click-to-copy prettyprint lang-py">
<code class="devsite-terminal" data-terminal-prefix=">>>">optimizer_map["encoder/layer_0/dense"].name</code>
<code class="no-select nocode">'adam'</code>
</pre>
<pre class="devsite-click-to-copy prettyprint lang-py">
<code class="devsite-terminal" data-terminal-prefix=">>>">optimizer_map["encoder/layer_0/attention/query"].name</code>
<code class="no-select nocode">'sgd'</code>
</pre>
<pre class="devsite-click-to-copy prettyprint lang-py">
<code class="devsite-terminal" data-terminal-prefix=">>>">optimizer_map["decoder/layer_0/dense"].name</code>
<code class="no-select nocode">'rmsprop'</code>
</pre>
__iter__
__iter__()
__len__
__len__()
View source on GitHub