【问题标题】:TensorFlow 2.5 random set seed not working , Giving an ErrorTensorFlow 2.5 随机集种子不起作用,出现错误
【发布时间】:2021-06-02 06:30:30
【问题描述】:
tf.random.set_seed(1234)
print(tf.random.uniform([1], seed=1))  # generates 'A1'
print(tf.random.uniform([1], seed=1))  # generates 'A2'
tf.random.set_seed(1234)
print(tf.random.uniform([1], seed=1))  # generates 'A1'
print(tf.random.uniform([1], seed=1))  # generates 'A2'

TypeError Traceback(最近一次调用最后一次) 在 () ----> 1 tf.random.set_seed(1234) 2 print(tf.random.uniform(1, seed=1)) # 生成'A1' 3 print(tf.random.uniform(1, seed=1)) # 生成'A2' 4 tf.random.set_seed(1234) 5 print(tf.random.uniform(1, seed=1)) # 生成'A1'

TypeError: 'int' 对象不可调用

【问题讨论】:

  • 我刚刚从 TensorFlow 文档中复制了示例代码来检查它。但它也给了我同样的错误。我在 colab 中运行代码。
  • 你的意思是上面的代码产生了TypeError?如果是这样,我运行它并且它正常工作!
  • 现在可以正常工作了,我只是在 Colab 中恢复出厂设置,现在代码可以正常工作

标签: python tensorflow google-colaboratory


【解决方案1】:

TypeError: 'int' 对象不可调用

如果您将一些integer 分配给tf.random.set_seed 并尝试在同一会话中执行上述代码导致此问题,通常会出现上述错误。

import tensorflow as tf

tf.random.set_seed=1234

tf.random.set_seed(1234)
print(tf.random.uniform([1], seed=1))  # generates 'A1'
print(tf.random.uniform([1], seed=1))  # generates 'A2'
tf.random.set_seed(1234)
print(tf.random.uniform([1], seed=1))  # generates 'A1'
print(tf.random.uniform([1], seed=1))  # generates 'A2'

输出:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-1-5e2ffd56d477> in <module>()
      3 tf.random.set_seed=1234
      4 
----> 5 tf.random.set_seed(1234)
      6 print(tf.random.uniform([1], seed=1))  # generates 'A1'
      7 print(tf.random.uniform([1], seed=1))  # generates 'A2'

TypeError: 'int' object is not callable

固定代码:

您应该删除tf.random.set_seed=1234 并重新启动内核已解决问题。

import tensorflow as tf

tf.random.set_seed(1234)
print(tf.random.uniform([1], seed=1))  # generates 'A1'
print(tf.random.uniform([1], seed=1))  # generates 'A2'
tf.random.set_seed(1234)
print(tf.random.uniform([1], seed=1))  # generates 'A1'
print(tf.random.uniform([1], seed=1))  # generates 'A2'

输出:

tf.Tensor([0.1689806], shape=(1,), dtype=float32)
tf.Tensor([0.7539084], shape=(1,), dtype=float32)
tf.Tensor([0.1689806], shape=(1,), dtype=float32)
tf.Tensor([0.7539084], shape=(1,), dtype=float32)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 2021-12-10
    相关资源
    最近更新 更多