Keras 3 API 文档 / 实用工具 / Keras 配置工具

Keras 配置工具

[source]

version function

keras.version()

[source]

clear_session function

keras.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

[source]

enable_traceback_filtering function

keras.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() 重新启用它.


[source]

disable_traceback_filtering function

keras.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() 重新启用它.


[source]

is_traceback_filtering_enabled function

keras.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.


[source]

enable_interactive_logging function

keras.config.enable_interactive_logging()

启用交互式日志记录.

当启用交互式日志记录时,Keras 通过标准输出显示日志. 这在使用 Keras 的交互式环境中(如 shell 或 notebook)提供了最佳体验.


[source]

disable_interactive_logging function

keras.config.disable_interactive_logging()

关闭交互式日志记录.

当禁用交互式日志记录时,Keras将日志发送到absl.logging. 这是在非交互方式下使用Keras时的最佳选项,例如在服务器上运行训练或推理作业.


[source]

is_interactive_logging_enabled function

keras.config.is_interactive_logging_enabled()

检查是否启用了交互式日志记录.

要在将日志写入stdout和absl.logging之间切换,可以使用 keras.config.enable_interactive_logging()keras.config.disable_interactive_logging().

返回: 布尔值,如果启用了交互式日志记录,则为True, 否则为False.


[source]

enable_unsafe_deserialization function

keras.config.enable_unsafe_deserialization()

禁用全局安全模式,允许反序列化lambdas.


[source]

floatx function

keras.config.floatx()

返回默认的浮点类型,以字符串形式表示.

例如:'bfloat16''float16''float32''float64'.

返回: 字符串,当前默认的浮点类型.

示例:

>>> keras.config.floatx()
'float32'

[source]

set_floatx function

keras.config.set_floatx(value)

设置默认的浮点数数据类型.

注意:不建议在训练时将其设置为 "float16",因为这可能会导致数值稳定性问题.相反,混合精度,它利用了 float16float32 的混合.可以通过调用 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: 如果值无效.


[source]

image_data_format function

keras.config.image_data_format()

返回默认的图像数据格式约定.

返回: 一个字符串,可以是 'channels_first''channels_last'.

示例:

>>> keras.config.image_data_format()
'channels_last'

[source]

set_image_data_format function

keras.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')

[source]

epsilon function

keras.config.epsilon()

返回数值表达式中使用的模糊因子的值.

返回: 一个浮点数.

示例:

>>> keras.config.epsilon()
1e-07

[source]

set_epsilon function

keras.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)

[source]

backend function

keras.config.backend()

公开可访问的方法,用于确定当前的后端.

返回: 字符串,Keras当前使用的后端名称.可以是 "tensorflow""torch""jax".

示例:

>>> keras.config.backend()
'tensorflow'