当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。