Я пытался использовать эту реализацию декодера 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)
.
Что мне делать? Заранее спасибо.