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