I am working on image classification using CNNs and the pretrained model VGG16, my dataset has 3 classes with almost 900 images per class. after traning for 5 epochs my model reached 1 accuracy with 0.00073 train-loss , val-loss=0.00000, val-accuracy=1. Is it normal to reach 100% accuracy ? I have to add that my images per class are very similar so this makes the learning easier. The evaluation on my test set is: 100% accuracy, loss = 0.0000. Here is my traning and learning curves.
Given that you are using transfer learning from a very large model, and the images you have in each class is very similar with each other, and very distinct from images in other classes, I guess it is possible to get %100 accuracy.
I don't see any problems in your screenshots. Validation is run at the end of each epoch so it is expected to get better results from training, especially in the first run. You might want to keep a separate "Test Data" which you never use in training and validation - I mean which the model never sees, and use it at the very end to confirm your result.
Use the images you kept to simply make predictions with you final model. Check this article for a description of training, validation and test sets. Or this reference on TensorFlow Documentation which describes evaluation process in detail.
100% accuracy with a 0.000 loss function is usually a bag sign in image classification. This usually means that your model is overfitting.
Overfitting is the production of an analysis that corresponds too closely or exactly to a particular set of data, and may therefore fail to fit additional data or predict future observations reliably,
You've also that the images are very similar to each other which also proves that the results produced are because of overfitting.
Refer to "How to Avoid Overfitting in Deep Learning Neural Networks" to fix this issue.
Sounds like it could be a normalization problem if you're getting such high accuracy. Have a look at the file types in your image classes. If one class is exclusively png and another jpg it could be the compression that the model differentiates on.
I have had a project where JPEG quality ended up causing a model to achieve 100% accuracy but that could be fixed with PIL.
Without seeing your data I can't say what issue you may have but I would go back and look at my data closely if I were you. Also try your model on a test set too.
If you're sure your data is fine and your model still achieves such high accuracy on your test set then nothing to worry about.