当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。