TensorFlow: тонкость про семя - PullRequest
       12

TensorFlow: тонкость про семя

0 голосов
/ 19 апреля 2019

Я хочу заполнить мой генератор случайных чисел.Я могу сделать следующее, что работает:

import tensorflow as tf

sess = tf.Session()

# Set seed at graph-level
tf.random.set_random_seed(1)
# Set seed at op level
a = tf.random_uniform([1], seed=1)

with tf.Session() as sess1:
    print(sess1.run(a))

Следующее также работает:

print(sess.run(tf.random_uniform([1], seed=1)))

Тем не менее, каждый раз, когда я запускаю его, генерируется другое число:

print(sess.run(a))

Информация о семени: https://www.tensorflow.org/api_docs/python/tf/random/set_random_seed

1) Почему последний не работает?

2) Что я могу сделать, чтобы заставить его работать, т.е. без использованияиз "с tf.Session () как sess1:"?

1 Ответ

1 голос
/ 19 апреля 2019

tf.random_uniform(..., seed=1) не означает генерацию одного и того же числа все время, но одной и той же серии чисел в сеансе при многократном выполнении.Таким образом, следующее будет иметь такое же поведение:

sess = tf.Session()
a = tf.random_uniform([1], seed=1)
for _ in range(10):
    print(sess.run(a))

print('----------')

with tf.Session() as sess1:
    for _ in range(10):
        print(sess1.run(a))
...