Хорошо, прочитав документацию и ответ @skillsmuggler, я понял, что tf.set_random_seed(1234)
обеспечивает воспроизводимость для всех сессий .Я попытаюсь объяснить это на примере:
Если вы запускаете инициализатор переменных sess1.run(init)
несколько раз в одном сеансе, он будет создавать случайное число каждый раз, когда вы его запускаете, так как каждый раз, когда он инициализируется,он создает случайное число.
# Run Operations in session
with tf.Session() as sess1:
# Loop
for i in range(1,5):
# Initialize variables
sess1.run(init)
# Print foo value
print(sess1.run(foo))
[[0.7720382]]
[[0.8953308]]
[[0.22609258]]
[[0.07619083]]
Случайное начальное число гарантирует, что если мы запустим предыдущий код в другом сеансе, сгенерированные числа будут одинаковыми (воспроизводимость).
# Run Operations in session
with tf.Session() as sess2:
# Loop
for i in range(1,5):
# Initialize variables
sess2.run(init)
# Print foo value
print(sess2.run(foo))
[[0.7720382]]
[[0.8953308]]
[[0.22609258]]
[[0.07619083]]
Так что, это действительно, обеспечивает воспроизводимость.