I have realized that I do not quite understand the difference between calling either the __call__, call, or predict method of a Keras' model.
For example, we have a trained keras model. After calling the code:
# After training.
y_pred_1 = model(X_new)
y_pred_2 = model.call(X_new)
y_pred_3 = model.predict(X_new)
I expected that y_pred_1, y_pred_2, and y_pred_3 are all the same.
But it turned out that they are not the same.
Could you please explain to me the difference?