The training accuracy looks strange for ~119 images.
Could you print np.unique(train_accu) and see how many “levels” there are.
It looks like only 4 levels in the plot.
Your model should overfit pretty easily, so I’m wondering why the accuracy is 0 sometimes.