Se usó la API de Cloud Translation para traducir esta página.
Switch to English

tf.keras.backend.clear_session

TensorFlow 1 versión Ver código fuente en GitHub

Restablece todos los estados generados por Keras.

Se utiliza en los cuadernos

Se utiliza en la guía Se utiliza en los tutoriales

Keras logra un estado global, que se utiliza para implementar la API funcional de construcción de modelos y para uniquify nombres de las capas generadas automáticamente.

Si va a crear muchos modelos en un bucle, este estado mundial consumirá una cantidad cada vez mayor de memoria en el tiempo, y es posible que desee para desactivarla. Llamando clear_session() libera el estado global: esto ayuda a evitar el desorden de los modelos antiguos y capas, sobre todo cuando la memoria es limitada.

Ejemplo 1: llamar clear_session() al crear modelos en un bucle

 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 = tf.keras.Sequential([tf.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.
  tf.keras.backend.clear_session()
  model = tf.keras.Sequential([tf.keras.layers.Dense(10) for _ in range(10)])
 

Ejemplo 2: restablecer el contador de nombre de capa de generación

import tensorflow as tf
layers = [tf.keras.layers.Dense(10) for _ in range(10)]
new_layer = tf.keras.layers.Dense(10)
print(new_layer.name)
dense_10
tf.keras.backend.set_learning_phase(1)
print(tf.keras.backend.learning_phase())
1
tf.keras.backend.clear_session()
new_layer = tf.keras.layers.Dense(10)
print(new_layer.name)
dense