diff --git a/trainer/src/MacaonTrain.cpp b/trainer/src/MacaonTrain.cpp index 32468ad8a15d3a7e36c255dd8da6c86525b47186..efcab7922027de296531455e131686414582bd0a 100644 --- a/trainer/src/MacaonTrain.cpp +++ b/trainer/src/MacaonTrain.cpp @@ -82,6 +82,7 @@ int MacaonTrain::main() auto nbEpoch = variables["nbEpochs"].as<int>(); auto batchSize = variables["batchSize"].as<int>(); auto dynamicOracleInterval = variables["dynamicOracleInterval"].as<int>(); + bool saveEverything = dynamicOracleInterval > 0; auto rarityThreshold = variables["rarityThreshold"].as<float>(); bool debug = variables.count("debug") == 0 ? false : true; bool printAdvancement = !debug && variables.count("silent") == 0 ? true : false; @@ -199,8 +200,12 @@ int MacaonTrain::main() devScoresStr.pop_back(); devScoreMean /= devScores.size(); bool saved = devScoreMean >= bestDevScore; + if (!computeDevScore) saved = devScoreMean <= bestDevScore; + + if (saveEverything) + saved = true; if (saved) { bestDevScore = devScoreMean;