Как использовать метод оценки по обратному вызову Keras - PullRequest
0 голосов
/ 08 марта 2020

Я пытался использовать эту реализацию декодера CT C для проблемы распознавания речи, но у нее есть несколько проблем. Например, вы не можете передать метри c для оценки во время обучения при компиляции, только явно вызвав метод model.evaluate из-за способа, которым был разработан декодер. Например, вместо того, чтобы передавать model.fit(X_train, y_train), как это, мы должны передать model.fit(x = [X_train, y_train, X_train_timesteps, y_train_labels], y = X_train_len).

Поэтому я хочу создать обратный вызов для вызова model.evaluate в каждую эпоху во время обучения. Вот что я пробовал:

class EvalOnEachEpoch(Callback):
    def __init__(self, val_input):
        super().__init__()

    def on_epoch_end(self, batch, logs=None):
        self.model.evaluate(self.model.input)

Но я получаю следующую ошибку: ValueError: When feeding symbolic tensors to a model, we expect the tensors to have a static batch size. Got tensor with shape: (None, 1200, 200).

Что мне делать? Заранее спасибо.

...