version
functionkeras.version()
clear_session
functionkeras.utils.clear_session(free_memory=True)
重置由 Keras 生成的所有状态.
Keras 管理一个全局状态,它用于实现功能模型构建 API 并唯一化自动生成的层名称.
如果你在循环中创建许多模型,这个全局状态将消耗越来越多的内存,你可能希望清除它.调用 clear_session()
释放全局状态:这有助于避免旧模型和层的混乱,特别是在内存有限的情况下.
参数:
free_memory: 是否调用 Python 垃圾回收.
通常调用它是一个好习惯,以确保已删除对象使用的内存被立即释放.
然而,它可能需要几秒钟来执行,所以在短循环中使用 clear_session()
时,
你可能希望跳过它.
示例 1: 在循环中创建模型时调用 clear_session()
for _ in range(100):
# 如果没有 `clear_session()`,这个循环的每次迭代都会
# 略微增加 Keras 管理的全局状态的大小
model = keras.Sequential([
keras.layers.Dense(10) for _ in range(10)])
for _ in range(100):
# 在开始时调用 `clear_session()`,
# Keras 每次迭代都从空白状态开始
# 并且内存消耗随时间保持恒定.
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
enable_traceback_filtering
functionkeras.config.enable_traceback_filtering()
启用回溯过滤.
原始的 Keras 回溯(也称为堆栈跟踪)涉及许多内部帧,这可能会难以阅读,同时对终端用户来说并不具有操作性.默认情况下,Keras 在大多数异常中过滤内部帧,以保持回溯简短、可读,并专注于对你有操作性的内容(你自己的代码).
另请参见 keras.config.disable_traceback_filtering()
和 keras.config.is_traceback_filtering_enabled()
.
如果你之前通过 keras.config.disable_traceback_filtering()
禁用了回溯过滤,你可以通过 keras.config.enable_traceback_filtering()
重新启用它.
disable_traceback_filtering
functionkeras.config.disable_traceback_filtering()
关闭回溯过滤.
原始的 Keras 回溯(也称为堆栈跟踪)涉及许多内部帧,这可能会使阅读变得困难,而对最终用户来说并不具有操作性.默认情况下,Keras 在大多数异常中过滤内部帧,以保持回溯简短、可读,并专注于对你有操作性的内容(你自己的代码).
另请参见 keras.config.enable_traceback_filtering()
和 keras.config.is_traceback_filtering_enabled()
.
如果你之前通过 keras.config.disable_traceback_filtering()
禁用了回溯过滤,你可以通过 keras.config.enable_traceback_filtering()
重新启用它.
is_traceback_filtering_enabled
functionkeras.config.is_traceback_filtering_enabled()
检查是否启用了回溯过滤.
原始的 Keras 回溯(也称为堆栈跟踪)涉及许多内部帧,这可能难以阅读,同时对终端用户来说并不具有操作性.默认情况下,Keras 在大多数异常中过滤内部帧,以保持回溯简短、可读,并专注于对你有操作性的内容(你自己的代码).
另请参见 keras.config.enable_traceback_filtering()
和 keras.config.disable_traceback_filtering()
.
如果你之前通过 keras.config.disable_traceback_filtering()
禁用了回溯过滤,你可以通过 keras.config.enable_traceback_filtering()
重新启用它.
返回:
布尔值,如果启用了回溯过滤,则为 True
,否则为 False
.
enable_interactive_logging
functionkeras.config.enable_interactive_logging()
启用交互式日志记录.
当启用交互式日志记录时,Keras 通过标准输出显示日志. 这在使用 Keras 的交互式环境中(如 shell 或 notebook)提供了最佳体验.
disable_interactive_logging
functionkeras.config.disable_interactive_logging()
关闭交互式日志记录.
当禁用交互式日志记录时,Keras将日志发送到absl.logging
.
这是在非交互方式下使用Keras时的最佳选项,例如在服务器上运行训练或推理作业.
is_interactive_logging_enabled
functionkeras.config.is_interactive_logging_enabled()
检查是否启用了交互式日志记录.
要在将日志写入stdout和absl.logging
之间切换,可以使用
keras.config.enable_interactive_logging()
和
keras.config.disable_interactive_logging()
.
返回:
布尔值,如果启用了交互式日志记录,则为True
,
否则为False
.
enable_unsafe_deserialization
functionkeras.config.enable_unsafe_deserialization()
禁用全局安全模式,允许反序列化lambdas.
floatx
functionkeras.config.floatx()
返回默认的浮点类型,以字符串形式表示.
例如:'bfloat16'
、'float16'
、'float32'
、'float64'
.
返回: 字符串,当前默认的浮点类型.
示例:
>>> keras.config.floatx()
'float32'
set_floatx
functionkeras.config.set_floatx(value)
设置默认的浮点数数据类型.
注意:不建议在训练时将其设置为 "float16"
,因为这可能会导致数值稳定性问题.相反,混合精度,它利用了 float16
和 float32
的混合.可以通过调用 keras.mixed_precision.set_dtype_policy('mixed_float16')
来配置.
参数:
value: 字符串; 'bfloat16'
, 'float16'
, 'float32'
, 或 'float64'
.
示例:
>>> keras.config.floatx()
'float32'
>>> keras.config.set_floatx('float64')
>>> keras.config.floatx()
'float64'
>>> # 将其设置回 float32
>>> keras.config.set_floatx('float32')
引发: ValueError: 如果值无效.
image_data_format
functionkeras.config.image_data_format()
返回默认的图像数据格式约定.
返回:
一个字符串,可以是 'channels_first'
或 'channels_last'
.
示例:
>>> keras.config.image_data_format()
'channels_last'
set_image_data_format
functionkeras.config.set_image_data_format(data_format)
设置图像数据格式约定的值.
参数:
data_format: 字符串. 'channels_first'
或 'channels_last'
.
示例:
>>> keras.config.image_data_format()
'channels_last'
>>> keras.config.set_image_data_format('channels_first')
>>> keras.config.image_data_format()
'channels_first'
>>> # 将其设置回 `'channels_last'`
>>> keras.config.set_image_data_format('channels_last')
epsilon
functionkeras.config.epsilon()
返回数值表达式中使用的模糊因子的值.
返回: 一个浮点数.
示例:
>>> keras.config.epsilon()
1e-07
set_epsilon
functionkeras.config.set_epsilon(value)
设置在数值表达式中使用的模糊因子的值.
参数: value: float. epsilon的新值.
示例:
>>> keras.config.epsilon()
1e-07
>>> keras.config.set_epsilon(1e-5)
>>> keras.config.epsilon()
1e-05
>>> # 将其设置回默认值.
>>> keras.config.set_epsilon(1e-7)
backend
functionkeras.config.backend()
公开可访问的方法,用于确定当前的后端.
返回:
字符串,Keras当前使用的后端名称.可以是
"tensorflow"
、"torch"
或 "jax"
.
示例:
>>> keras.config.backend()
'tensorflow'