Tensorflow2.0 TensorFlow V2.x和tf.keras的所有随机种子是什么?

Tensorflow2.0 TensorFlow V2.x和tf.keras的所有随机种子是什么?,tensorflow2.0,tensorflow2.x,Tensorflow2.0,Tensorflow2.x,我只在TensorFlow V2.x中使用tf.keras。我能播下的种子是什么?我只找到了tf.random.set_seed()。还有其他种子吗?这是我们尝试过的实验。tf.random.set\u seed的结果是相同的 实验1:tf.random.set\u seed(1234)只设置一次 import tensorflow as tf for i in range(5): print("Iteration Number :", i) tf.random.set_seed(12

我只在TensorFlow V2.x中使用tf.keras。我能播下的种子是什么?我只找到了tf.random.set_seed()。还有其他种子吗?

这是我们尝试过的实验。
tf.random.set\u seed
的结果是相同的

实验1:
tf.random.set\u seed(1234)
只设置一次

import tensorflow as tf

for i in range(5):
  print("Iteration Number :", i)
  tf.random.set_seed(1234)
  print(tf.random.uniform([1]))  # generates 'A1'
  print(tf.random.uniform([1]))  # generates 'A2'
  print(tf.random.uniform([1]))  # generates 'A3'
输出-
A1
A2
A3
的每次迭代生成相同的值

Iteration Number : 0
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.3253647], shape=(1,), dtype=float32)
tf.Tensor([0.59750986], shape=(1,), dtype=float32)
Iteration Number : 1
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.3253647], shape=(1,), dtype=float32)
tf.Tensor([0.59750986], shape=(1,), dtype=float32)
Iteration Number : 2
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.3253647], shape=(1,), dtype=float32)
tf.Tensor([0.59750986], shape=(1,), dtype=float32)
Iteration Number : 3
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.3253647], shape=(1,), dtype=float32)
tf.Tensor([0.59750986], shape=(1,), dtype=float32)
Iteration Number : 4
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.3253647], shape=(1,), dtype=float32)
tf.Tensor([0.59750986], shape=(1,), dtype=float32)
让我们重新启动运行时或内核并验证结果

输出-
A1
A2
A3
的每次迭代生成相同的值。并且结果与以前的运行结果相匹配

Iteration Number : 0
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.3253647], shape=(1,), dtype=float32)
tf.Tensor([0.59750986], shape=(1,), dtype=float32)
Iteration Number : 1
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.3253647], shape=(1,), dtype=float32)
tf.Tensor([0.59750986], shape=(1,), dtype=float32)
Iteration Number : 2
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.3253647], shape=(1,), dtype=float32)
tf.Tensor([0.59750986], shape=(1,), dtype=float32)
Iteration Number : 3
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.3253647], shape=(1,), dtype=float32)
tf.Tensor([0.59750986], shape=(1,), dtype=float32)
Iteration Number : 4
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.3253647], shape=(1,), dtype=float32)
tf.Tensor([0.59750986], shape=(1,), dtype=float32)
实验2:
tf.random.set_seed(1234)
为每个操作设置种子

for i in range(5):
  print("Iteration Number :", i)
  tf.random.set_seed(1234)
  print(tf.random.uniform([1]))  # generates 'A1'
  tf.random.set_seed(1234)
  print(tf.random.uniform([1]))  # generates 'A1'
  tf.random.set_seed(1234)
  print(tf.random.uniform([1]))  # generates 'A1'
Iteration Number : 0
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
Iteration Number : 1
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
Iteration Number : 2
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
Iteration Number : 3
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
Iteration Number : 4
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
输出-所有值都与
tf相同。为每个操作设置random.set\u seed

for i in range(5):
  print("Iteration Number :", i)
  tf.random.set_seed(1234)
  print(tf.random.uniform([1]))  # generates 'A1'
  tf.random.set_seed(1234)
  print(tf.random.uniform([1]))  # generates 'A1'
  tf.random.set_seed(1234)
  print(tf.random.uniform([1]))  # generates 'A1'
Iteration Number : 0
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
Iteration Number : 1
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
Iteration Number : 2
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
Iteration Number : 3
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
Iteration Number : 4
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
tf.Tensor([0.5380393], shape=(1,), dtype=float32)
即使重新启动内核,这些值也保持不变

如果您仍然有任何疑问,请与您的期望分享可复制的代码


希望这能回答你的问题。快乐学习。

我还设置了np.random.seed和os.environ['pythonhasheed']。我使用CPU进行计算。但是每次跑步的结果都不一样。你能解释一下你的要求吗。在这个链接中,你可以解释不同的可能性,我正在尝试开发一个可以产生可重复结果的模型。我只使用tf.keras。set_seed()仍然会产生不同的结果。还有什么我可以设置的,以便我的模型可以产生可重复的结果吗?谢谢,但您所描述的是tf.Tensor。我也可以得到tf.张量的可重复值。但我的问题是关于tf.keras的。你能举一个例子说明你可以用tf.keras获得可重复的结果吗?谢谢。你能分享一下可复制的代码吗?这样我们可以更好地理解。我不知道你在tf.keras里找的是哪一个手术。keras是一个框架,我们可以从中导入库。问题解决了。现在它产生了可重复的结果。谢谢,我很感谢你的帮助。