TensorFlow 2.5 случайный набор семян не работает , выдает ошибку

#python #tensorflow #google-colaboratory

Вопрос:

 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'
 

Трассировка ошибок типа (последний последний вызов)
в ()
—-> 1 tf.random.set_seed(1234)
2 печать(tf.random.uniform(1, начальное значение=1)) # генерирует «A1»
3 печать(tf.random.uniform(1, начальное значение=1)) # генерирует «A2»
4 tf.random.set_seed(1234)
5 печать(tf.random.uniform(1, начальное значение=1)) # генерирует «A1»

Ошибка типа: объект ‘int’ не может быть вызван

Комментарии:

1. Я просто скопировал пример кода из документов TensorFlow, чтобы проверить его. Но это также дало мне ту же ошибку. Я запускаю код в colab.

2. Вы имеете в виду, что приведенный выше код вызывает ошибку типа? Если это так, я запустил его, и он работал нормально!

3. Теперь это работает, я просто сбросил заводские настройки В Colab, и теперь код работает

Ответ №1:

Ошибка типа: объект ‘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)