tf.keras.StatelessScope
Область, предотвращающая любые обновления переменных Keras.
tf.keras.StatelessScope(
state_mapping=None, collect_losses=False, initialize_variables=True
)
Значения переменных, которые должны использоваться внутри области, должны передаваться через аргумент state_mapping, список кортежей (k, v), где k — это KerasVariable, а v — желаемое значение для этой переменной (тензор бэкенда).
Обновленные значения можно собрать при выходе из области с помощью value = scope.get_current_value(variable). В течение действия области никакие обновления не будут применяться непосредственно к каким-либо переменным.
Пример:
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})
Методы
add_loss
add_loss(
loss
)
add_update
add_update(
update
)
get_current_value
get_current_value(
variable
)
__enter__
__enter__()
__exit__
__exit__(
*args, **kwargs
)
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/StatelessScope