Pulse
Pulse

Reputation: 527

Why is there an accuracy output during the training phase of caffe?

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

Answers (1)

Prune
Prune

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

Related Questions