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


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


生成截斷正態分布的初始化程序。

用法

tf.compat.v1.truncated_normal_initializer(
    mean=0.0, stddev=1.0, seed=None, dtype=tf.dtypes.float32
)

參數

  • mean python 標量或標量張量。要生成的隨機值的平均值。
  • stddev python 標量或標量張量。要生成的隨機值的標準差。
  • seed 一個 Python 整數。用於創建隨機種子。有關行為,請參見tf.compat.v1.set_random_seed
  • dtype 默認數據類型,如果在調用初始化程序時沒有提供 dtype 參數,則使用該類型。僅支持浮點類型。

遷移到 TF2

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

雖然它是一個遺留的 compat.v1 API,但此符號與即刻執行和 tf.function 兼容。

要切換到 TF2,請切換到使用 tf.initializers.truncated_normaltf.keras.initializers.TruncatedNormal(均來自 compat.v1 )並在調用初始化程序時傳遞 dtype。請記住,默認 stddev 和固定種子的行為已更改。

到 TF2 的結構映射

前:

initializer = tf.compat.v1.truncated_normal_initializer(
  mean=mean,
  stddev=stddev,
  seed=seed,
  dtype=dtype)

weight_one = tf.Variable(initializer(shape_one))
weight_two = tf.Variable(initializer(shape_two))

後:

initializer = tf.initializers.truncated_normal(
  mean=mean,
  seed=seed,
  stddev=stddev)

weight_one = tf.Variable(initializer(shape_one, dtype=dtype))
weight_two = tf.Variable(initializer(shape_two, dtype=dtype))

如何映射參數

TF1 參數名稱 TF2 參數名稱 注意
mean mean 沒有更改默認值
stddev stddev 默認從 1.0 更改為 0.05
seed seed
dtype dtype TF2 原生 api 僅將其作為 __call__ arg,而不是構造函數 arg。
partition_info - (TF1 中的 __call__ arg)不支持

這些值與random_normal_initializer 中的值相似,但與平均值相差超過兩個標準差的值將被丟棄並重新繪製。這是神經網絡權重和過濾器的推薦初始化程序。

相關用法


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