Keras 3 API 文档 / 实用程序 / Keras 配置实用程序

Keras 配置实用程序

[源代码]

version 函数

keras.version()

[源代码]

clear_session 函数

keras.utils.clear_session(free_memory=True)

重置 Keras 生成的所有状态。

Keras 管理一个全局状态,它用于实现函数式模型构建 API 并使自动生成的层名称唯一化。

如果您在循环中创建许多模型,则此全局状态将随着时间的推移消耗越来越多的内存,您可能希望清除它。调用 clear_session() 会释放全局状态:这有助于避免旧模型和层的混乱,尤其是在内存有限的情况下。

参数

  • free_memory:是否调用 Python 垃圾回收。通常,调用它以确保已删除对象使用的内存立即释放是一个好习惯。但是,执行它可能需要几秒钟,因此当在短循环中使用 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 = keras.Sequential([
      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.
  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 函数

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


[源代码]

disable_traceback_filtering 函数

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


[源代码]

is_traceback_filtering_enabled 函数

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


[源代码]

enable_interactive_logging 函数

keras.config.enable_interactive_logging()

打开交互式日志记录。

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


[源代码]

disable_interactive_logging 函数

keras.config.disable_interactive_logging()

关闭交互式日志记录。

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


[源代码]

is_interactive_logging_enabled 函数

keras.config.is_interactive_logging_enabled()

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

要切换在标准输出和 absl.logging 之间写入日志,您可以使用 keras.config.enable_interactive_logging()keras.config.disable_interactive_logging()

返回值

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


[源代码]

enable_unsafe_deserialization 函数

keras.config.enable_unsafe_deserialization()

全局禁用安全模式,允许反序列化 lambda 函数。


[源代码]

floatx 函数

keras.config.floatx()

以字符串形式返回默认浮点类型。

例如 'bfloat16''float16''float32''float64'

返回值

字符串,当前默认浮点类型。

示例

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

[源代码]

set_floatx 函数

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'
>>> # Set it back to float32
>>> keras.config.set_floatx('float32')

引发异常

  • ValueError:如果值无效。

[源代码]

image_data_format 函数

keras.config.image_data_format()

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

返回值

字符串,'channels_first''channels_last' 之一。

示例

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

[源代码]

set_image_data_format 函数

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'
>>> # Set it back to `'channels_last'`
>>> keras.config.set_image_data_format('channels_last')

[源代码]

epsilon 函数

keras.config.epsilon()

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

返回值

浮点数。

示例

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

[源代码]

set_epsilon 函数

keras.config.set_epsilon(value)

设置数值表达式中使用的模糊因子的值。

参数

  • value:浮点数。epsilon 的新值。

示例

>>> keras.config.epsilon()
1e-07
>>> keras.config.set_epsilon(1e-5)
>>> keras.config.epsilon()
1e-05
>>> # Set it back to the default value.
>>> keras.config.set_epsilon(1e-7)

[源代码]

backend 函数

keras.config.backend()

用于确定当前后端的公共访问方法。

返回值

字符串,Keras 当前正在使用的后端名称。"tensorflow""torch""jax" 之一。

示例

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