在另一个问题中,提问者有一个批量规范化层,但在这种情况下没有一个存在。
model.fit(training_data, training_targets, batch_size=16, epochs=1)
大纪元1/1 33350/33350 [==============================] - 18s - 损失: 0.0926 - acc:0.9703 Out [708]:
model.evaluate(training_data, training_targets)
33248/33350 [============================&gt ;.] - 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'])
答案 0 :(得分:1)
您在进度条中看到的损失是每批次损失,未在完整培训集中评估。当您使用model.evaluate
时,您正在评估整个训练集,因此预期损失不一样。
正如评论中提到的那样,在评估期间,Dropout在测试时被禁用,因此它也会影响结果。