Возможно ли точно воспроизвести тренировки на разных машинах с помощью tensorflow?

#tensorflow #replicate

Вопрос:

Я провел следующий эксперимент:

  • та же ОС
  • тот же драйвер графического процессора
  • тот же драйвер cuda
  • тот же водитель cudnn/cupti
  • та же версия python
  • те же зависимости (включая версию tensorflow)
  • разные машины с разными графическими процессорами

Конечно, мой сценарий начинается со следующего фрагмента:

 os.environ['TF_DETERMINISTIC_OPS'] = '1' tf.random.set_seed(0) random.seed(0) np.random.seed(0)  

Одна машина всегда дает один и тот же результат при многократном выполнении сценария, но этот результат немного отличается на разных машинах.

Невероятная вещь заключается в том, что я вручную проверил как веса инициализации, так и выходные данные генератора данных изображений непосредственно перед обучением, и они абсолютно одинаковы на разных машинах. Это не похоже на проблему с генератором случайных чисел.

Есть ли шанс воспроизвести результат обучения с помощью другого оборудования?

Спасибо

Обновление: также пробовал с

 os.environ['PYTHONHASHSEED'] = '0' os.environ['TF_DETERMINISTIC_OPS'] = '1' os.environ['TF_CUDNN_DETERMINISTIC'] = '1' tf.random.set_seed(0) random.seed(0) np.random.seed(0) tf.config.threading.set_inter_op_parallelism_threads(1) tf.config.threading.set_intra_op_parallelism_threads(1)  

тот же результат