Skip to content
Snippets Groups Projects
Commit a8613b8b authored by Franck Dary's avatar Franck Dary
Browse files

Improved model selection when using dynamic oracle

parent f2e0e3da
Branches
No related tags found
No related merge requests found
......@@ -82,7 +82,6 @@ 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;
......@@ -145,9 +144,9 @@ int MacaonTrain::main()
if (buffer != std::fgets(buffer, 1024, f))
break;
float devScoreMean = std::stof(util::split(buffer, '\t').back());
if (computeDevScore and devScoreMean > bestDevScore)
if (computeDevScore and (devScoreMean > bestDevScore or currentEpoch == dynamicOracleInterval))
bestDevScore = devScoreMean;
if (!computeDevScore and devScoreMean < bestDevScore)
if (!computeDevScore and (devScoreMean < bestDevScore or currentEpoch == dynamicOracleInterval))
bestDevScore = devScoreMean;
currentEpoch++;
}
......@@ -204,7 +203,7 @@ int MacaonTrain::main()
if (!computeDevScore)
saved = devScoreMean <= bestDevScore;
if (saveEverything)
if (currentEpoch == dynamicOracleInterval)
saved = true;
if (saved)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment