Validate via predict() or via fit()?
.fit --&gt; You can give Train data and Validation data as well so Train data is used for Training and Validation data is used for validating the Trained model at the end of each epoch.
.predict --&gt; It takes the only X and gives the output of the model.
.evaluate --&gt; It will take X, Y and will evaluate similar to an above evaluation in .fit but after training total model we will use this.
You can write
.evaluate = loss_function(.predict, y_true)
score(.predict, y_true)