首页 > 解决方案 > TensorFlow 2.5 随机集种子不起作用,出现错误

问题描述

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) in () ----> 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”对象不可调用

标签: pythontensorflowgoogle-colaboratory

解决方案


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)

推荐阅读