Не совсем верно, что вы должны тренироваться и проверять одни и те же данные, такие как массив или генератор, но вы не можете сделать это с помощью одной и той же функции.
Вы можете тренироваться в своем массивеи выполнить проверку на вашем генераторе, но для этого потребуется 2 разных вызова функций, и это означает, что вы не получите метрики проверки после каждой эпохи, если вы используете несколько эпох.Вы можете обойти это, с чем-то вроде:
for i in range(epochs):
model.fit(train_x, train_y, epochs=1, callbacks=[checkpointer])
loss = model.evaluate_generator(validation_data_flow)
print("Validation loss for epoch %s was %s" % (i, loss))