From 93b372dfe244bb6d936411bd0b98f0ec74717d6e Mon Sep 17 00:00:00 2001
From: Franck Dary <franck.dary@lis-lab.fr>
Date: Wed, 17 Jun 2020 22:23:46 +0200
Subject: [PATCH] Corrected order of trainStrategy applications : removed
 possibility of parameter reset before dynamic example extracting

---
 trainer/src/MacaonTrain.cpp | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/trainer/src/MacaonTrain.cpp b/trainer/src/MacaonTrain.cpp
index 9227e72..21529bf 100644
--- a/trainer/src/MacaonTrain.cpp
+++ b/trainer/src/MacaonTrain.cpp
@@ -205,7 +205,7 @@ int MacaonTrain::main()
           if (entry.is_regular_file())
             std::filesystem::remove(entry.path());
     }
-    if (trainStrategy[currentEpoch].count(Trainer::TrainAction::ExtractGold))
+    if (trainStrategy[currentEpoch].count(Trainer::TrainAction::ExtractGold) or trainStrategy[currentEpoch].count(Trainer::TrainAction::ExtractDynamic))
     {
       machine.setDictsState(Dict::State::Open);
       trainer.createDataset(goldConfig, debug, modelPath/"examples/train", currentEpoch, trainStrategy[currentEpoch].count(Trainer::TrainAction::ExtractDynamic));
@@ -227,16 +227,6 @@ int MacaonTrain::main()
 
       machine.getClassifier()->resetOptimizer();
     }
-    if (trainStrategy[currentEpoch].count(Trainer::TrainAction::ExtractDynamic))
-    {
-      machine.setDictsState(Dict::State::Open);
-      trainer.createDataset(goldConfig, debug, modelPath/"examples/train", currentEpoch, trainStrategy[currentEpoch].count(Trainer::TrainAction::ExtractDynamic));
-      if (!computeDevScore)
-      {
-        machine.setDictsState(Dict::State::Closed);
-        trainer.createDataset(devGoldConfig, debug, modelPath/"examples/dev", currentEpoch, trainStrategy[currentEpoch].count(Trainer::TrainAction::ExtractDynamic));
-      }
-    }
     if (trainStrategy[currentEpoch].count(Trainer::TrainAction::Save))
     {
       saved = true;
-- 
GitLab