Keras mode.fit-为什么每次新运行都会产生不同的结果(准确性和损失)?

时间:2018-12-26 11:19:58

标签: python keras

代码如下:

model = keras.Sequential([keras.layers.Flatten(input_shape=(1,9000)),
                     keras.layers.Dense(100, activation=tf.nn.relu),
                     keras.layers.Dense(4, activation=tf.nn.softmax)])


model.compile(optimizer=tf.train.AdamOptimizer(),
         loss='sparse_categorical_crossentropy',            
         metrics=['accuracy'])

history = model.fit(x_train, y_train, validation_split=0.20,epochs = 10, shuffle=False, verbose =1)

每次新运行时,每个时期我都会得到不同的损失和准确性值。我希望得到一致的结果,如何实现?

1 个答案:

答案 0 :(得分:1)

对于每个新模型初始化,您都将从新的随机权重开始。为了在keras中获得可复制的结果,请阅读此处:

https://keras.io/getting-started/faq/#how-can-i-obtain-reproducible-results-using-keras-during-development