1
$\begingroup$

The following plot shows over fitting in training using training accuracy and validation accuracy during training. How to get that plot in training?

My understanding is that we have training set and test set of data for training. Using test data set, we test the training model how is the accuracy. To have that plot, do we still need another validate data set and validate net to be used during training? I am confused about that.

Then my another query is that, during training we have train net and test net. Example using caffe training, how trained weights in train net are transferred to test net, so that test net is used to test in training. How is that implemented?

enter image description here

$\endgroup$
2
  • 1
    $\begingroup$ Usually, for neural network training, the data is divided into training, validation and testing. The training and validation are used during the model training stage. Here you need the validation data, to fix parameters such as the number of epochs, batch size etc. After the model is successfully trained, the model is tested with the test data which was in no way used during model training. $\endgroup$
    – prashanth
    Commented Oct 4, 2018 at 10:07
  • $\begingroup$ To get this plot, can I make like use the training images and validate together with validation images.So that I have two outputs, one for validation and another one for training. Is that make sense? $\endgroup$
    – batuman
    Commented Oct 6, 2018 at 1:46

1 Answer 1

2
$\begingroup$

To have that plot, do we still need another validate data set and validate net to be used during training?

Yes, you need to have a separate validation set for this purpose. Then, usually after each epoch, you evaluate the loss on this separate validation set.

Then my another query is that, during training we have train net and test net. Example using caffe training, how trained weights in train net are transferred to test net, so that test net is used to test in training. How is that implemented?

These nets have exactly the same, shared weights. There are two reasons why some frameworks distinguish training net from a testing net:

  1. Some types of layers behave differently during training and testing. The most prominent example is dropout: During training, the dropout layer applies random noise on the data, while during testing, it performs deterministic scaling.

  2. Training net has additional input for the labels. There are no labels in the testing net.

$\endgroup$
1
  • $\begingroup$ To get this plot, can I make like use the training images and validate together with validation images.So that I have two outputs, one for validation and another one for training. Is that make sense? $\endgroup$
    – batuman
    Commented Oct 6, 2018 at 1:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.