Короче говоря, в тензорном потоке, кроме tf.set_random_seed (), есть ли какой-либо другой конфиг, который я должен установить для воспроизведения того же результата?нет кода в моем коде.
Длинная версия: я тренирую модель с помощью horovod и хочу воспроизвести результаты для отладки.Я установил tf.set_random_seed (1) перед построением графика.Все операции выполняются в тензорном потоке, без всяких ошибок.
И я просто повторно запускаю обучающий скрипт несколько раз, код не был изменен.
Как я понимаю, они должны давать одинаковые результаты, посколькуграфик строится в том же порядке, а random_seed устанавливается одинаково.Порядок session.run не вызовет различий, не говоря уже о том, что я не изменил код.
Однако я все же получил разные результаты для одного и того же кода при нескольких прогонах.
В частности, я вижу, что входное изображение читается в том же порядке, и шаг 'tf.image.random_flip_left_right' производит случайное отражение с тем же начальным числом.
Но я проверяю tf.image.random_flip_left_right по следующему коду, который дает те же результаты.Так что в этой функции нет ошибки.Он принял глобальное tf random_seed и дал те же результаты.
import tensorflow as tf
tf.set_random_seed(0)
img_raw =tf.read_file('test.jpg')
image = tf.image.decode_jpeg(img_raw,channels=3,dct_method='INTEGER_ACCURATE')
image = tf.image.random_flip_left_right(image)
sess=tf.Session()
print(sess.run(image))
Как это может быть случайное отражение с тем же начальным числом и графиком?Любое предложение будет оценено.