该函数的seed = something中有一个参数。即使设置了它的值,随机播放也会产生随机结果。我想要相同的结果。
tf.random.suffle(tf.range(5), seed=5)
答案 0 :(得分:1)
如果要重现随机播放结果,请使用以下内容(在TF 2.0 beta上)
tf.random.set_seed(5)
tf.random.shuffle(tf.range(5))
<tf.Tensor: id=35, shape=(5,), dtype=int32, numpy=array([0, 4, 1, 3, 2], dtype=int32)>
tf.random.set_seed(5)
tf.random.shuffle(tf.range(5))
<tf.Tensor: id=41, shape=(5,), dtype=int32, numpy=array([0, 4, 1, 3, 2], dtype=int32)>
tf.random.set_seed(5)
tf.random.shuffle(tf.range(5))
<tf.Tensor: id=47, shape=(5,), dtype=int32, numpy=array([0, 4, 1, 3, 2], dtype=int32)>
关于您使用过的种子,它确实无法复制结果(在TF 2.0 beta中进行了测试)
在TF 1.x中,我认为正确的功能是tf.random.set_random_seed
在docs中,我看到有操作级种子和图形级种子。您正在设置操作级别,这还不够-使用上面代码中的函数设置图形级别种子可以解决此问题。