Проблема с генератором Keras Custom при оценке модели - PullRequest
0 голосов
/ 16 октября 2018

Я тренирую модель CNN LSTM с использованием Keras, и после того, как обучение было завершено, я попытался оценить модель по данным тестирования, как я делал это при тонкой настройке своей CNN, однако на этот раз появляется ошибка.

После того, как обучение было завершено, я попытался выполнить следующий фрагмент кода для оценки на моем тестовом наборе:

x, y = zip(*(testgenerator[i] for i in range(len(testgenerator))))

x_test, y_test = np.vstack(x), np.vstack(y)

loss, acc = Bi_LSTM.evaluate(x_test, y_test, batch_size=9)

print("Accuracy: " ,acc)
print("Loss: ", loss)

Я использовал этот код раньше, чтобы оценить свою точно настроенную модель, и у нее не было проблем,но теперь я получаю следующую ошибку:

TypeError: object of type 'generator' has no len()

Я пробовал несколько решений онлайн, таких как использование len (список (генератор)), но это не сработало.Это потому, что я использую собственный генератор?Как мне сделать оценку модели в этом случае?

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Я решил это с помощью другого метода.В этом случае мне не нужно извлекать значения для х, у:

loss, acc = Bi_LSTM.evaluate_generator(testgenerator, batch_size=9)
0 голосов
/ 16 октября 2018

Я думаю, что эта строка является проблемой

x, y = zip(*(testgenerator[i] for i in range(len(testgenerator))))

, потому что вы вызываете len для объекта генератора.Решение может быть, если вы просто создадите некоторый счетчик, увеличите его и будете использовать его как индекс в testgenerator[i]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...