Кажется, проблема связана с использованием разных оптимизаторов. Использование тензорного потока.keras.optimizers.Adam позволил процессору работать правильно, в то время как использование тензорного потока.рэд.АдамОптимизатор работал очень медленно.
Однако проблему становится все труднее исправить при использовании функции fit_generator и объекта ImageDataGenerator для дополнения данных (в отличие от только функции «подгонки»). Кажется, что ImageDataGenerator, функциональный API-интерфейс keras и аппаратное обеспечение TPU не очень хорошо работают вместе. Tf.keras.optimizers.Adam будет иметь ошибки времени выполнения, а tf.train.AdamOptimizer работает так же быстро, как и процессор. Я думаю, что решение здесь состоит в том, чтобы использовать другой фреймворк с графическим процессором или попробовать тензорный поток без кера.