tf.keras.StatelessScope  |  TensorFlow v2.16.1 (original) (raw)

Scope to prevent any update to Keras Variables.

View aliases

Compat aliases for migration

SeeMigration guide for more details.

tf.compat.v1.keras.StatelessScope

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

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 KerasVariableand v is the intended value for this variable (a backend tensor).

Updated values can be collected on scope exit viavalue = 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})

Methods

add_loss

View source

add_loss(
    loss
)

add_update

View source

add_update(
    update
)

get_current_value

View source

get_current_value(
    variable
)

__enter__

View source

__enter__()

__exit__

View source

__exit__(
    *args, **kwargs
)