From 6c852124efe6473a5c962de0091709129d6fcde3 Mon Sep 17 00:00:00 2001 From: Juha Reunanen Date: Fri, 8 Nov 2019 12:32:42 +0200 Subject: [PATCH] Revert some of the earlier change --- dlib/dnn/trainer.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/dlib/dnn/trainer.h b/dlib/dnn/trainer.h index 7eeaea251..852d98d69 100644 --- a/dlib/dnn/trainer.h +++ b/dlib/dnn/trainer.h @@ -1068,18 +1068,15 @@ namespace dlib return true; } - // if we haven't seen much data yet then just say false. - if (gradient_updates_since_last_sync < 30) + // if we haven't seen much data yet then just say false. Or, alternatively, if + // it's been too long since the last sync then don't reload either. + if (gradient_updates_since_last_sync < 30 || previous_loss_values.size() < 2*gradient_updates_since_last_sync) return false; // Now look at the data since a little before the last disk sync. We will // check if the loss is getting better or worse. running_gradient g; - const size_t first_index - = previous_loss_values.size() < 2 * gradient_updates_since_last_sync - ? 0 - : previous_loss_values.size() - 2 * gradient_updates_since_last_sync; - for (size_t i = first_index; i < previous_loss_values.size(); ++i) + for (size_t i = previous_loss_values.size() - 2*gradient_updates_since_last_sync; i < previous_loss_values.size(); ++i) g.add(previous_loss_values[i]); // if the loss is very likely to be increasing then return true