keras可重现的结果

时间:2017-09-21 09:32:32

标签: tensorflow keras

如何使用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

1 个答案:

答案 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)