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 會透過 stdout 顯示記錄。在互動式環境(例如 shell 或筆記本)中使用 Keras 時,這會提供最佳體驗。


[原始碼]

disable_interactive_logging 函數

keras.config.disable_interactive_logging()

關閉互動式記錄。

停用互動式記錄時,Keras 會將記錄傳送到 absl.logging。在非互動式方式使用 Keras 時,例如在伺服器上執行訓練或推論工作時,這是最佳選項。


[原始碼]

is_interactive_logging_enabled 函數

keras.config.is_interactive_logging_enabled()

檢查是否已啟用互動式記錄。

若要在將記錄寫入 stdout 和 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)

設定預設的浮點 dtype。

注意:不建議將其設定為 "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'