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


Python tf.random.experimental.stateless_fold_in用法及代碼示例


將數據折疊到 RNG 種子中以形成新的 RNG 種子。

用法

tf.random.experimental.stateless_fold_in(
    seed, data, alg='auto_select'
)

參數

  • seed 一個 RNG 種子(一個具有形狀 [2] 和 dtype int32int64 的張量)。 (使用 XLA 時,僅允許使用 int32。)
  • data int32int64 標量,表示要折疊到種子中的數據。
  • 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)>

相關用法


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