Keras 3 API 文件 / 工具 / Keras 配置工具

Keras 配置工具

[原始碼]

version 函數

keras.version()

[原始碼]

clear_session 函數

keras.utils.clear_session(free_memory=True)

重設 Keras 產生的所有狀態。

Keras 管理全域狀態,用於實作 Functional 模型建構 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'