tf.keras.backend.clear_session
Сбрасывает всё состояние, созданное Keras.
tf.keras.backend.clear_session(
free_memory=True
)
Используется в блокнотах
| Используется в руководстве | Используется в учебных материалах |
|---|---|
Keras управляет глобальным состоянием, которое используется для реализации API функционального построения моделей и создания уникальных автоматически генерируемых имён слоёв.
Если вы создаёте множество моделей в цикле, это глобальное состояние со временем будет потреблять всё больше памяти, и может потребоваться его очистить. Вызов clear_session() освобождает глобальное состояние: это помогает избежать накопления старых моделей и слоёв, особенно при ограниченном объёме памяти.
| Аргументы | |
|---|---|
free_memory | Вызывать ли сборку мусора Python. Обычно рекомендуется вызывать её, чтобы память, занимаемая удалёнными объектами, освобождалась немедленно. Однако выполнение может занять несколько секунд, поэтому при использовании clear_session() в коротком цикле сборку мусора можно пропустить. |
Пример 1: вызов clear_session() при создании моделей в цикле
for _ in range(100):
# Without `clear_session()`, each iteration of this loop will
# slightly increase the size of the global state managed by Keras
model = keras.Sequential([
keras.layers.Dense(10) for _ in range(10)])
for _ in range(100):
# With `clear_session()` called at the beginning,
# Keras starts with a blank state at each iteration
# and memory consumption is constant over time.
keras.backend.clear_session()
model = keras.Sequential([
keras.layers.Dense(10) for _ in range(10)])
Пример 2: сброс счётчика генерации имён слоёв
layers = [keras.layers.Dense(10) for _ in range(10)] new_layer = keras.layers.Dense(10) print(new_layer.name) dense_10 keras.backend.clear_session() new_layer = keras.layers.Dense(10) print(new_layer.name) dense
© 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/backend/clear_session