python - Keras:为什么 model.fit() 返回与 model.evaluate() 相同的值?

标签 python machine-learning neural-network keras

在另一个问题中,提问者有一个批量归一化层,但在本例中没有。

model.fit(training_data, training_targets, batch_size=16, epochs=1)

Epoch 1/1 33350/33350 [==============================] - 18s - loss: 0.0926 - acc: 0.9703 Out[708]:

model.evaluate(training_data, training_targets)

33248/33350 [============================>.] - ETA: 0s Out[709]: >[0.027722493904928553, 0.99157421289355319]

model = Sequential([
    LocallyConnected2D(10, kernel_size=(20, 20), strides=4, padding='valid', activation='relu', input_shape=(50, 110, 1))
    , Dropout(0.3), Flatten(), Dense(1, activation='sigmoid')
])

model.compile(loss='binary_crossentropy', optimizer='adam', metrics='accuracy'])

最佳答案

您在进度栏中看到的损失是每批处理损失,而不是在完整训练集中评估。当您使用 model.evaluate 时,您正在评估整个训练集,因此正如预期的那样,损失并不相同。

正如评论中提到的,Dropout 在测试时的评估过程中被禁用,因此它也会影响结果。

关于python - Keras:为什么 model.fit() 返回与 model.evaluate() 相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45594805/

相关文章:

Python mlpy 文本分类

tensorflow - 卷积神经网络输出所有标签的相同概率

python - Keras SeparableConv2D 简单示例?

python - Pandas dataframe 连续列的差异与第一个值的比率

python - 以矢量化方式将列添加到 pandas DataFrame 中以其他列值为条件

machine-learning - 余弦相似度聚类

python - 为什么我有 KeyError : 'val_acc' ?

python - Pybrain:自定义错误/性能函数?

python - 如何在 Plotly (Python) 中分别注释每个子图

python - 如何在不构建临时列表的情况下计算唯一排列的数量?