I am retraining the pre-trained model VGG16 in the last FC layers. I used the below function .
what can be the best combination of FC layers and dropout values for the best predictions. ?
In the area of Neural Networks there isn't one right value that works for all kinds of situations. You just need to repeat experiments, till you reach a satisfactory value. Ideally Dropout values range from 0 to 0.5 . I would use a dropout value of .3 or .2 in my neural networks. Also, the number of neurons in FC layer, impact the degree of fit in your network. Too small numbers, result in underfit. Too large values, result in overfit. Keep on increasing the complexity of the model and evaluate it against a validation loss, that will inform you about increasing or decreasing the number of FC layers.
In addition to
rithwik kukunuri, this thing is called
hyperparameter optimization or
hyperparameter tuning. As the name suggests, there are a bunch of variables comes out of nowhere. We just decide intuitively (or based on some educated guess).
Assuming you have a "good model" (I don't know what exactly this mean), at some point, you need to try various different parameters that are likely to improve the performance of your network.
Some of them are
how many layers you need to use?,
size of conv layer,
number of epoch etc. After trying many different combinations of these and multiple iterations for the same set of variables, you can end up with significantly higher accuracy.