I'm training a ResNet-20 with my own dataset with five classes. In debugging process, I noticed that even I put the training and validation data the same and pre-processings are the same, the accuracy of these two are not the same as expected (~90% for train and ~70% for test). The batch size is 128 for both training and testing.
What's more, when I test the same debugging process ( same train and validation data) on standard cifar dataset, with proper parameters, the accuracy are consistent. On the other hand, improper solver parameters on cifar data give similar learning behavior as my data.
Now I'd like to know if it's more of a problem of my training code based on the fact that the accuracy should always be consistent or is this observation normal.
I'm new to CNN and any thought would be helpful. Thanks.