如何使用keras获得可重现的结果?我遵循these步骤,但每次运行Jupyter笔记本时,我仍然会得到不同的结果。我在调用shuffle=False
时尝试设置model.fit()
。
我的配置: conda 4.3.25
keras 2.0.6 with tensorflow backend
tensorflow-gpu 1.2.1
python 3.5
windows 10
答案 0 :(得分:0)
请参阅我在another question上发布的答案。主要思想是:首先,禁用GPU。然后,将诸如“ numpy,random等”之类的库作为种子。综上所述,在代码的开头添加以下代码可能有助于解决问题。
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = ""
import numpy as np
import tensorflow as tf
import random as rn
from keras import backend as K
sd = 1
np.random.seed(sd)
rn.seed(sd)
os.environ['PYTHONHASHSEED']=str(sd)
config = tf.ConfigProto(intra_op_parallelism_threads=1,inter_op_parallelism_threads=1)
tf.set_random_seed(sd)
sess = tf.Session(graph=tf.get_default_graph(), config=config)
K.set_session(sess)