Some suggestions from my side which will help you understand what might be the problem


Print the Accuracy numbers on the train data too in each iteration. This will help you understand whether there is an accuracy shift in the training data as well. You can see that the loss is changing but is it changing the accuracy metrics


Print the totalLoss of the Test Data too in each iteration. You can check whether there is a change in loss. If there is no change in loss then you might have to make changes to the features as the model is not able to learn properly