首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tf.random.set_seed() TypeError:“int”对象不可调用

tf.random.set_seed() TypeError:“int”对象不可调用
EN

Stack Overflow用户
提问于 2021-08-21 00:56:22
回答 1查看 172关注 0票数 1

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)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-21 02:39:27

TF 2.6

如果您对tf.random.set_seed = 42使用set_seed(使用赋值),然后尝试在同一colab笔记本中使用tf.random.set_seed(123) (callable),则会发生此错误。请参见下面的场景。

使用赋值设置种子

代码语言:javascript
复制
tf.random.set_seed = 123
print(tf.random.uniform([1]))  # generates 'A1'
print(tf.random.uniform([1]))  # generates 'A2'

输出:

代码语言:javascript
复制
tf.Tensor([0.48962688], shape=(1,), dtype=float32)
tf.Tensor([0.42140496], shape=(1,), dtype=float32)

现在在下一个单元格中,如果您尝试调用如下所示的函数,则会出现错误。

代码语言:javascript
复制
tf.random.set_seed(123)
print(tf.random.uniform([1]))  # generates 'A1'
print(tf.random.uniform([1]))  # generates 'A2'

输出:

代码语言:javascript
复制
    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)函数,它将正常工作。

代码语言:javascript
复制
tf.random.set_seed(123)
print(tf.random.uniform([1]))  # generates 'A1'
print(tf.random.uniform([1]))  # generates 'A2'

输出:

代码语言:javascript
复制
tf.Tensor([0.12615311], shape=(1,), dtype=float32)
tf.Tensor([0.88968754], shape=(1,), dtype=float32)

解决方案是确保在使用tf.random.set_seed()函数之前没有为set_seed赋值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68869351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档