在一般的tensorflow设置中
model = construct_model() with tf.Session() as sess: train_model(sess)
其中construct_model()包含模型定义(包括权重的随机初始化tf.truncated_normal),并train_model(sess)执行模型的训练-
construct_model()
tf.truncated_normal
train_model(sess)
在上面的代码片段重复运行之间,我必须设置哪些种子以确保100%可重复性?该文件为tf.random.set_random_seed可能是简洁的,但给我留下了有点困惑。我试过了:
tf.random.set_random_seed
tf.set_random_seed(1234) model = construct_model() with tf.Session() as sess: train_model(sess)
但是每次都得到不同的结果。
到目前为止,与GPU配合使用的最佳解决方案是使用以下方法安装张量流确定性:
pip install tensorflow-determinism
然后将以下代码添加到您的代码中
import tensorflow as tf import os os.environ['TF_DETERMINISTIC_OPS'] = '1'
来源:https : //github.com/NVIDIA/tensorflow- determinism