Я использую Elephas для обучения автокодировщика изображений tensorflow / keras распределенным образом. Поскольку я пытаюсь понять, что происходит, я запускаю его двумя способами:
- Запускаю 20-итерацию l oop с обучением 10 эпох на каждой итерации. Я использую
save
и load_spark_model
, чтобы убедиться, что я не потеряю состояние из-за обучения в предыдущей итерации. - Выполните 2 итерации l oop с обучением для 100 эпох на каждой итерации.
Я бегаю в al oop, чтобы сохранить промежуточные изображения и посмотреть, как идет обучение. Я ожидал, что конечный результат для обоих подходов (обучение на 200 эпох) будет одинаковым независимо от других параметров, таких как размер пакета или скорость обучения. Я обнаружил, что результаты второго подхода намного лучше. (Извините, я не записывал mse, но есть большая разница визуально, когда я прогнозирую на невидимых изображениях). Я понимаю, что могут быть некоторые различия из-за разных инициализаций моделей, но я запускал его несколько раз, и результаты стабильно лучше для подхода 2. Почему результаты могут отличаться?