How to increase model's prediction accuracy I am using the InceptionV3 model for training. Here is the link for the code (https://github.com/maxmelnick/tensorflow/blob/no_random/tensorflow/examples/image_retraining/retrain.py) Initially I have a small size dataset. So, I used the augmentation technique to increase the size of the dataset.
While training phase dataset was divided into training, validation, and testing. During the training phase, it shows 96% accuracy for 11 classes. But When I predict any new input image(Unseen data) it gave 56% accuracy. What's the problem lies with the model?
I have already used Dropout, Cross-validation, OverSampling techniques but not achieved good results over the new input image.
Parameters used while training.
Training Samples - 800 images in each class

Training Samples - 70%
Validation Samples - 20%
Testing Samples - 10%

Testing Samples (Unseen data other than Training Samples) - 51 images in each class
Epochs - 10,000
It sounds like you’re overfitting the training data, and so you should research some approaches to regularisation of neural networks. I see you’ve used dropout, which is one of these, but may not be sufficient.
You could also consider dividing your training data into a training set and a validation set and halting training when performance on the validation set stops improving. This is called early stopping