TF版本的tf.random.set_seed(7):2.6.0生成TypeError: 'int' object is not callable
这个tf.compat.v1.set_random_seed(7)在谷歌Colab的TF 2.6.0中为我工作,但我不知道为什么我不能使用tf.random.set_seed(7)
发布于 2021-09-21 02:39:27
TF 2.6
如果您对tf.random.set_seed = 42使用set_seed(使用赋值),然后尝试在同一colab笔记本中使用tf.random.set_seed(123) (callable),则会发生此错误。请参见下面的场景。
使用赋值设置种子
tf.random.set_seed = 123
print(tf.random.uniform([1])) # generates 'A1'
print(tf.random.uniform([1])) # generates 'A2'输出:
tf.Tensor([0.48962688], shape=(1,), dtype=float32)
tf.Tensor([0.42140496], shape=(1,), dtype=float32)现在在下一个单元格中,如果您尝试调用如下所示的函数,则会出现错误。
tf.random.set_seed(123)
print(tf.random.uniform([1])) # generates 'A1'
print(tf.random.uniform([1])) # generates 'A2'输出:
TypeError Traceback (most recent call last)
<ipython-input-25-6ad9ca1b84ce> in <module>()
----> 1 tf.random.set_seed(123)
2 print(tf.random.uniform([1])) # generates 'A1'
3 print(tf.random.uniform([1])) # generates 'A2'
TypeError: 'int' object is not callable现在,如果您重新启动笔记本电脑并仅运行tf.random.set_seed(123)函数,它将正常工作。
tf.random.set_seed(123)
print(tf.random.uniform([1])) # generates 'A1'
print(tf.random.uniform([1])) # generates 'A2'输出:
tf.Tensor([0.12615311], shape=(1,), dtype=float32)
tf.Tensor([0.88968754], shape=(1,), dtype=float32)解决方案是确保在使用tf.random.set_seed()函数之前没有为set_seed赋值。
https://stackoverflow.com/questions/68869351
复制相似问题