Classification Accuracy in Keras I'm using two different functions to calculate the accuracy of my deep learning model and I am confused which one is which. 

The first one is 

    loss, accuracy = model.evaluate(x_train, y_train, verbose=0)
    print('Accuracy: %f' % (accuracy))
    print('Loss: %f' % (loss))

    Accuracy: 0.731495
    Loss: 1.136258


And the second way is to obtain the accuracy:

test_accuracy = history2.history['val_acc']


Accuracy is 0.731 and test_accuracy is around 0.21
Which is one is my models' accuracy
The accuracy given by Keras is the training accuracy. This is not a proper measure of the performance of your classifier, as it is not fair to measure accuracy with the data that has been fed to the NN. On the other hand, the test accuracy is a more fair measure of the real performance. As there is a big gap between them, you are overfitting very badly, and you should regularize your model. Consider using dropout or weight decay.