您好我一直在基础数据集mnist上使用caffe,我想知道为什么在训练期间有准确性输出?在原型文件lenet_train_test.protoxt中,精度层是
layer {
name: "accuracy"
type: "Accuracy"
bottom: "ip2"
bottom: "label"
top: "accuracy"
include {
phase: TEST
}
}
来自caffe Wiki,它说当我运行caffe火车时,我明确表示要在特定阶段进行训练,同样适用于caffe测试。但是为什么当我运行caffe train时,我仍然可以获得准确性,因为准确性层专门说TEST?
答案 0 :(得分:1)
看solver.prototxt
;应该有像
test_iter: 1000
test_interval: 50
这些是用于检查模型收敛的定期测试。在这种情况下,测试是每50次训练迭代;该测试包含1000次前向迭代。这是您的准确度报告的来源。您应该通过培训看到准确性普遍提高。当这种精确度达到稳定时,你就会达到收敛状态 - 进一步训练可能会降低准确度,因为你会过度拟合。