Keras 3 API documentation / Scope / Scope classes

Scope classes

[source]

SymbolicScope class

keras.SymbolicScope()

Scope to indicate the symbolic stage.


[source]

StatelessScope class

keras.StatelessScope(
    state_mapping=None, collect_losses=False, initialize_variables=True
)

Scope to prevent any update to Keras Variables.

The values of variables to be used inside the scope should be passed via the state_mapping argument, a list of tuples (k, v) where k is a Variable and v is the intended value for this variable (a backend tensor).

Updated values can be collected on scope exit via value = scope.get_current_value(variable). No updates will be applied in-place to any variables for the duration of the scope.

Example

state_mapping = [(k, ops.ones(k.shape, k.dtype)) for k in model.weights]
with keras.StatelessScope(state_mapping) as scope:
    outputs = model.some_function(inputs)

# All model variables remain unchanged. Their new values can be
# collected via:
for k in model.weights:
    new_value = scope.get_current_value(k)
    print(f"New value for {k}: {new_value})