首页 > 解决方案 > 是否可以使用 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)

相同的结果

标签: tensorflowreplicate

解决方案


推荐阅读