生成具有均勻分布的張量的初始化程序。
繼承自:random_uniform_initializer
用法
tf.compat.v1.keras.initializers.RandomUniform(
minval=-0.05, maxval=0.05, seed=None, dtype=tf.dtypes.float32
)
參數
-
minval
python 標量或標量張量。要生成的隨機值範圍的下限。 -
maxval
python 標量或標量張量。要生成的隨機值範圍的上限。浮點類型默認為 1。 -
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.compat.v1.keras.initializers.RandomUniform
與即刻執行和 tf.function
兼容。
要切換到本機 TF2,請切換到使用 tf.keras.initializers.RandomUniform
(不是從 compat.v1
),如果需要更改默認 dtype,請使用 tf.keras.backend.set_floatx(float_dtype)
或在調用初始化程序時傳遞 dtype,而不是在構造初始化程序時傳遞它。
隨機種子行為:
另請注意,如果您將種子傳遞給 TF2 初始化程序 API,它將在每次初始化時重用相同的種子(與 TF1 初始化程序不同)
到原生 TF2 的結構映射
前:
initializer = tf.compat.v1.keras.initializers.RandomUniform(
minval=minval,
maxval=maxval,
seed=seed,
dtype=dtype)
weight_one = tf.Variable(initializer(shape_one))
weight_two = tf.Variable(initializer(shape_two))
後:
initializer = tf.keras.initializers.RandomUniform(
minval=minval,
maxval=maxval,
# seed=seed, # Setting a seed in the native TF2 API
# causes it to produce the same initializations
# across multiple calls of the same initializer.
)
weight_one = tf.Variable(initializer(shape_one, dtype=dtype))
weight_two = tf.Variable(initializer(shape_two, dtype=dtype))
如何映射參數
TF1 參數名稱 | TF2 參數名稱 | 注意 |
---|---|---|
minval |
minval |
沒有更改默認值 |
maxval |
maxval |
沒有更改默認值 |
seed
|
seed
|
不同的隨機數生成語義(在未來版本中更改)。如果設置,TF2 版本將使用無狀態隨機數生成,即使在多次調用初始化程序實例時也會產生完全相同的初始化。 compat.v1 版本每次都會生成新的初始化。如果您每次都需要不同的初始化,請不要設置種子。相反,如果您需要確定性,可以使用 tf.random.set_seed 設置全局 tf 種子,或者使用單獨的初始化程序實例和不同的種子來初始化每個權重。 |
dtype
|
dtype
|
TF2 原生 api 僅將其作為 __call__ arg,而不是構造函數 arg。 |
partition_info |
- | (TF1 中的 __call__ arg)不支持 |
fixed-seed 行為差異示例
compat.v1
固定種子行為:
initializer = tf.compat.v1.keras.initializers.RandomUniform(seed=10)
a = initializer(shape=(2, 2))
b = initializer(shape=(2, 2))
tf.reduce_sum(a - b) == 0
<tf.Tensor:shape=(), dtype=bool, numpy=False>
後:
initializer = tf.keras.initializers.RandomUniform(seed=10)
a = initializer(shape=(2, 2))
b = initializer(shape=(2, 2))
tf.reduce_sum(a - b) == 0
<tf.Tensor:shape=(), dtype=bool, numpy=True>
相關用法
- Python tf.compat.v1.keras.initializers.RandomUniform.from_config用法及代碼示例
- Python tf.compat.v1.keras.initializers.RandomNormal.from_config用法及代碼示例
- Python tf.compat.v1.keras.initializers.RandomNormal用法及代碼示例
- Python tf.compat.v1.keras.initializers.Ones.from_config用法及代碼示例
- Python tf.compat.v1.keras.initializers.Zeros.from_config用法及代碼示例
- Python tf.compat.v1.keras.initializers.Ones用法及代碼示例
- Python tf.compat.v1.keras.initializers.glorot_uniform.from_config用法及代碼示例
- Python tf.compat.v1.keras.initializers.lecun_uniform用法及代碼示例
- Python tf.compat.v1.keras.initializers.he_normal.from_config用法及代碼示例
- Python tf.compat.v1.keras.initializers.Orthogonal.from_config用法及代碼示例
- Python tf.compat.v1.keras.initializers.lecun_normal.from_config用法及代碼示例
- Python tf.compat.v1.keras.initializers.TruncatedNormal用法及代碼示例
- Python tf.compat.v1.keras.initializers.he_uniform用法及代碼示例
- Python tf.compat.v1.keras.initializers.Identity.from_config用法及代碼示例
- Python tf.compat.v1.keras.initializers.Constant用法及代碼示例
- Python tf.compat.v1.keras.initializers.Constant.from_config用法及代碼示例
- Python tf.compat.v1.keras.initializers.VarianceScaling用法及代碼示例
- Python tf.compat.v1.keras.initializers.glorot_normal.from_config用法及代碼示例
- Python tf.compat.v1.keras.initializers.lecun_normal用法及代碼示例
- Python tf.compat.v1.keras.initializers.he_uniform.from_config用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.keras.initializers.RandomUniform。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。