Hi I'm trying to train an ANN model to classify images containing these characters: 0,1,2,3,4,T,X,S eg. etc... so something like the classification of records of the MNIST dataset but using my generated images (not handwritten). I generate ~10000 records that have to be divided in the training set and in the test set: n = 10000 X_train, y_train = generate_typed(typed_alphabet_resized.astype('uint8'), int(n*0.8)) X_test, y_test = generate_typed_test(typed_alphabet_resized.astype('uint8'), int(n*0.3)) generate_typed and generate_typed_test are pretty much the same function, the sole difference is the augmentation applied to images: for generate_typed_test the only augmentation applied is scale(1,3) while for generate_typed: augmentation_seq = iaa.Sequential([ iaa.Sometimes(0.3, iaa.GaussianBlur(sigma=(0, .1))), iaa.Sometimes(0.3, iaa.AdditiveGaussianNoise(loc=0, scale=(0.0, 0.05*255), per_channel=0.2)), iaa.Affine(scale=(1, 3)), ], random_order=True) I did that to make the model more generalized as possibile. But really the kind of images the model is supposed to work on in the real world might just (sometimes) be zoomed in or be slightly less centered. However even if I use these two different functions, the images I got are very very similar. Now, the problem is: I got a bigger accuracy on the test set than on the training set, and I really can't understand why and how to fix it. It seems like that the accuracy of my model doesn't matter, if my model has around 80% of accura…

Full article content could not be extracted automatically. Read the original below.