Несколько дней назад они обновили google colab до новой версии tenorflow 1.14.0-rc1, и теперь способ использования tpu с keras сильно изменился, и я больше не могу использовать функцию модели keras train_on_batch , только функция подгонки, даже train_generator не работает. Знаете ли вы какой-нибудь обходной путь?
Что нужно учитывать:
1 Я пытался установить предыдущую версию обратно на colab (1.13.1), мой старый код работал, но теперь обучение было намного медленнее, чем раньше, примерно в 10-20 раз медленнее, поэтому в моем случае это было невозможно.
2 Я пытался использовать функцию подгонки, как если бы это была train_on_batch (только одна эпоха с одним шагом), это было очень медленно, потому что обучение tpu делает какую-то инициализацию в начале функции, если эта инициализация будет сделано только один раз с несколькими подходящими вызовами, которые были бы идеальными, но это не так.
3 Мне действительно нужно использовать train_on_batch, а не функцию подгонки, я обучаю GAN, которому нужно использовать эту функцию (серия с генератором, а затем серия с дискриминатором снова и снова).
если вы хотите увидеть пример кода с ошибкой:
https://drive.google.com/open?id=1MDQlw3Z8v9C8SfYz_r6uJcis9odqAsE1
Функция train_on_batch не должна выдавать никаких ошибок, но она выдает и не показывает точно, о чем идет речь, похоже, что-то связанное с нетерпеливым исполнением.