Tensorflow 使用Keras复制结果

Tensorflow 使用Keras复制结果,tensorflow,machine-learning,keras,deep-learning,replication,Tensorflow,Machine Learning,Keras,Deep Learning,Replication,我试图用Tensorflow和Keras(TF后端)复制我的实验结果。当我使用TF时,我首先在脚本顶部为numpy和tensorflow图设置随机种子。我没有使用任何辍学层或其他可能引入随机性的方法(我可以想到) 当运行这样的模型时,不管它的网络大小如何,总是会产生相同的结果 TF实验1: ('Epoch',99,'完成,共',100,'损失:',289.8982433080673,'准确度:',0.6875) TF实验2: ('Epoch',99,'完成,共',100,'损失:',289.89

我试图用Tensorflow和Keras(TF后端)复制我的实验结果。当我使用TF时,我首先在脚本顶部为numpy和tensorflow图设置随机种子。我没有使用任何辍学层或其他可能引入随机性的方法(我可以想到)

当运行这样的模型时,不管它的网络大小如何,总是会产生相同的结果

TF实验1:

('Epoch',99,'完成,共',100,'损失:',289.8982433080673,'准确度:',0.6875)

TF实验2:

('Epoch',99,'完成,共',100,'损失:',289.8982433080673,'准确度:',0.6875)

当我尝试使用相同配置的kera复制这些结果时,我失败了。最重要的是,每次单独运行都会产生不同的性能

我的TF代码可以复制结果,如下所示: 代码段引用:

从numpy.random导入种子
种子(1)
从tensorflow导入集\u随机\u种子
设置随机种子(2)
##导入系统模块
#
导入操作系统
导入系统
##导入ML模块
#
导入tensorflow作为tf
将numpy作为np导入
从keras.utils导入到_category
从sk学习导入预处理
logs_path='../logs/'
##默认常数
#
没有类中的类=2
批量大小=32
专长尺寸=26
N_节点_hl1=300
N_节点_hl2=30
N_节点_hl3=30
##定义网络架构
#                                                                                                                                                       
##该模型是一个具有3个隐藏层的简单多层感知器网络。
##输入到图层的尺寸等于特征尺寸。
##我们在这个方法中创建了一个完整的图形,其中输入占位符作为输入参数,并且
##作为返回参数的输出占位符
#
def神经网络模型(数据):
##定义字典,指定每个层的规范。
#
隐藏层={'weights':tf.Variable(tf.random_normal([FEAT_DIM,N_nodes_hl1]),name='w1'),\
“偏差”:tf.Variable(tf.random_normal([N_nodes_hl1]),name='b1')}
隐藏的_2_层={'weights':tf.Variable(tf.random_normal([N_nodes_hl1,N_nodes_hl2]),name='w2'),\
“偏差”:tf.Variable(tf.random_normal([N_nodes_hl2]),name='b2')}
隐藏的\u 3\u层={'weights':tf.Variable(tf.random\u normal([N\u nodes\u hl2,N\u node