Обратный вызов в tf.keras, который сохраняет мои контролируемые значения и lr при использовании ReduceLROnPlateau для каждой эпохи в отдельном файле .csv - PullRequest
0 голосов
/ 31 марта 2020

Я использую Google Colab для обучения моего NN в Tensorflow (tf.keras) V.1.15.2, и после некоторых эпох, когда в stdout много текста, я получаю:

Буферизованные данные были обрезаны после достижения предела размера вывода

Я знаю, что это нормально, и обучение продолжается, но есть проблема, с которой я сталкиваюсь: я использую adam как мой оптимизатор без затухающего фактора и моего обратного вызова в моем model.fit_generator:

callbacks=[ModelCheckpoint('/some/file/somewhere/dot.whatever',
                                                   save_best_only=True,
                                                   verbose=0,
                                                   monitor=monitor), 
                                                   ReduceLROnPlateau(monitor=monitor, patience=reduce_lr, verbose=1),
                                                   EarlyStopping(monitor=monitor, patience=15, verbose=1)])`

, но, как вы можете видеть, я полагаюсь на ReduceLROnPlateau , чтобы уменьшить мою скорость обучения но это не сохраняется в обратном вызове ModelCheckpoint . Поэтому, когда я загружаю свою модель, самая последняя скорость обучения, если применяется ReduceLROnPlateau, теряется, и загрузка весов моей модели или возобновление обучения, не зная, какой была моя скорость обучения, не имеет никакого смысла. Теперь я погуглил эту проблему и обнаружил: https://github.com/keras-team/keras/issues/1872 или Keras: Добавить переменные в индикатор выполнения или https://github.com/azavea/raster-vision/issues/4

Но ничего из они делают то, что я или многие другие люди, очевидно, хотят. Может ли кто-нибудь с техническим ноу-хау предоставить решение или специальный обратный вызов, который сохраняет мои логи (мои нервы!), Включая все мои потери и неточности (для обучения и проверки) и мою скорость обучения в эпоху на основе моды, даже если я использую ReduceLROnPlateau ???

ура,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...