Ошибка формы только при тренировке ТПУ модели 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'])