當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.compat.v1.layers.dropout用法及代碼示例


將 Dropout 應用於輸入。

用法

tf.compat.v1.layers.dropout(
    inputs, rate=0.5, noise_shape=None, seed=None, training=False, name=None
)

參數

  • inputs 張量輸入。
  • rate 輟學率,介於 0 和 1 之間。 "rate=0.1" 會丟棄 10% 的輸入單元。
  • noise_shape int32 類型的一維張量,表示將與輸入相乘的二進製丟失掩碼的形狀。例如,如果您的輸入具有形狀 (batch_size, timesteps, features) ,並且您希望所有時間步的 dropout 掩碼都相同,則可以使用 noise_shape=[batch_size, 1, features]
  • seed 一個 Python 整數。用於創建隨機種子。有關行為,請參見tf.compat.v1.set_random_seed
  • training Python 布爾值或 TensorFlow 布爾標量張量(例如占位符)。是在訓練模式(應用 dropout)還是在推理模式(返回未觸及的輸入)中返回輸出。
  • name 圖層的名稱(字符串)。

返回

  • 輸出張量。

拋出

  • ValueError 如果啟用了即刻執行。

遷移到 TF2

警告:這個 API 是為 TensorFlow v1 設計的。繼續閱讀有關如何從該 API 遷移到本機 TensorFlow v2 等效項的詳細信息。見TensorFlow v1 到 TensorFlow v2 遷移指南有關如何遷移其餘代碼的說明。

此 API 是一個遺留 api,僅與 Eager Execution 和 tf.function 兼容,如果您將其與 tf.compat.v1.keras.utils.track_tf1_style_variables 結合使用

請參閱遷移指南的 tf.layers 模型映射部分,了解如何在 TF2 中將 TensorFlow v1 模型與 Keras 一起使用。

對應的 TensorFlow v2 層是 tf.keras.layers.Dropout

到原生 TF2 的結構映射

支持的參數均未更改名稱。

前:

y = tf.compat.v1.layers.dropout(x)

後:

要使用 TF1 函數層遷移代碼,請使用 Keras 函數 API:

x = tf.keras.Input((28, 28, 1))
 y = tf.keras.layers.Dropout()(x)
 model = tf.keras.Model(x, y)

Dropout 包括在訓練期間的每次更新時將輸入單元的分數 rate 隨機設置為 0,這有助於防止過度擬合。保留的單元按 1 / (1 - rate) 縮放,因此它們的總和在訓練時和推理時不變。

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.layers.dropout。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。