當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python tf.keras.backend.clear_session用法及代碼示例

重置 Keras 生成的所有狀態。

用法

tf.keras.backend.clear_session()

Keras 管理一個全局狀態,用於實現函數性model-building API 並統一自動生成的層名稱。

如果您在循環中創建多個模型,則此全局狀態將隨著時間的推移消耗越來越多的內存,您可能需要清除它。調用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 = 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)])

示例 2:重置層名稱生成計數器

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

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.backend.clear_session。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。