Ошибка формы только при тренировке ТПУ модели Keras

Во-первых, это не мой код. Я просто изменил его, чтобы иметь возможность обучать его на ТПУ. Оригинальный автор здесь. Я могу запустить его на GPU-ускоренной среде выполнения на совместном ноутбуке, но кажется, что он сломается, когда я использую TPU-ускоренную среду выполнения.

Вот моя тетрадь. Это просто дает мне ошибку, что функция активации имеет неправильный размер.

ValueError: Error when checking target: expected activation_21 to have shape (1,) but got array with shape (205,)

Я был бы признателен за любую помощь, которую смогу получить, потратив около 3 часов на отладку.

1 ответ

Решение

Поскольку вы кодируете метки одним щелчком и, следовательно, они не разрежены, вам нужно использовать 'categoryor_accuracy' в качестве метрики:

model.compile(..., metrics=['categorical_accuracy'])

или более кратко используйте "точность", чтобы позволить Keras вывести правильную метрику на основе используемой функции потерь (которая в этом случае будет 'categorical_accuracy' так как вы используете categorical_crossentropy как функция потерь):

model.compile(..., metrics=['accuracy'])
Другие вопросы по тегам