將數據折疊到 RNG 種子中以形成新的 RNG 種子。
用法
tf.random.experimental.stateless_fold_in(
seed, data, alg='auto_select'
)
參數
-
seed
一個 RNG 種子(一個具有形狀 [2] 和 dtypeint32
或int64
的張量)。 (使用 XLA 時,僅允許使用int32
。) -
data
int32
或int64
標量,表示要折疊到種子中的數據。 -
alg
用於生成隨機數的 RNG 算法。有關詳細說明,請參閱tf.random.stateless_uniform
。
返回
-
一個新的 RNG 種子,它是輸入的確定性函數,並且對於生成新的偽隨機值流在統計上是安全的。它將具有與
data
相同的 dtype(如果data
沒有明確的 dtype,則 dtype 將由tf.convert_to_tensor
確定)。
例如,在distributed-training 設置中,假設我們有一個主種子和一個副本 ID。我們希望將副本ID折疊到主種子中,形成一個"replica seed"供該副本稍後使用,這樣不同的副本會產生不同的隨機數,但整個係統的再現性仍然可以由主種子控製:
master_seed = [1, 2]
replica_id = 3
replica_seed = tf.random.experimental.stateless_fold_in(
master_seed, replica_id)
print(replica_seed)
tf.Tensor([1105988140 3], shape=(2,), dtype=int32)
tf.random.stateless_normal(shape=[3], seed=replica_seed)
<tf.Tensor:shape=(3,), dtype=float32, numpy=array([0.03197195, 0.8979765 ,
0.13253039], dtype=float32)>
相關用法
- Python tf.random.experimental.stateless_split用法及代碼示例
- Python tf.random.truncated_normal用法及代碼示例
- Python tf.random.stateless_uniform用法及代碼示例
- Python tf.random.Generator用法及代碼示例
- Python tf.random.Generator.binomial用法及代碼示例
- Python tf.random.shuffle用法及代碼示例
- Python tf.random.stateless_parameterized_truncated_normal用法及代碼示例
- Python tf.random.normal用法及代碼示例
- Python tf.random.stateless_poisson用法及代碼示例
- Python tf.random.set_global_generator用法及代碼示例
- Python tf.random.uniform用法及代碼示例
- Python tf.random.categorical用法及代碼示例
- Python tf.random.stateless_binomial用法及代碼示例
- Python tf.random.stateless_categorical用法及代碼示例
- Python tf.random.set_seed用法及代碼示例
- Python tf.random.Generator.make_seeds用法及代碼示例
- Python tf.random.poisson用法及代碼示例
- Python tf.random.gamma用法及代碼示例
- Python tf.random.create_rng_state用法及代碼示例
- Python tf.random.stateless_gamma用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.random.experimental.stateless_fold_in。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。