Reputation: 527
Hello I have been using caffe just on the base dataset mnist and I am wondering why there is an accuracy output during training? Within the prototxt file lenet_train_test.protoxt the accuracy layer is
layer {
name: "accuracy"
type: "Accuracy"
bottom: "ip2"
bottom: "label"
top: "accuracy"
include {
phase: TEST
}
}
From the caffe Wiki it says that when I run caffe train I am explicitly stating to train in a particular phase and the same goes for caffe test. But why when I run caffe train am I still getting an accuracy when the layer for accuracy specifically says TEST?
Upvotes: 0
Views: 514
Reputation: 77827
Look at solver.prototxt
; there should be lines something like
test_iter: 1000
test_interval: 50
These are periodic tests to check model convergence. In this case, the tests are every 50 training iterations; the test consists of 1000 forward-pass iterations. This is the source of your accuracy reports. You should see the accuracy generally improving through the training. When this accuracy plateaus, you've hit convergence -- further training will likely degrade accuracy, as you move into over-fitting.
Upvotes: 1