diff --git a/trainer/src/MacaonTrain.cpp b/trainer/src/MacaonTrain.cpp index 63a32dee856f515641752cd91d0f48740e9fb314..9227e7222095465eb3589c77e35737b183c9b9f2 100644 --- a/trainer/src/MacaonTrain.cpp +++ b/trainer/src/MacaonTrain.cpp @@ -207,9 +207,13 @@ int MacaonTrain::main() } if (trainStrategy[currentEpoch].count(Trainer::TrainAction::ExtractGold)) { + 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::ResetParameters) or trainStrategy[currentEpoch].count(Trainer::TrainAction::ResetOptimizer)) { @@ -225,9 +229,13 @@ int MacaonTrain::main() } 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)) { diff --git a/trainer/src/Trainer.cpp b/trainer/src/Trainer.cpp index 66efbfebe9059525ad96d492e6798b29364cd61f..ff4f1a3088577afbd8c9bc1139a3ac0e1ca79495 100644 --- a/trainer/src/Trainer.cpp +++ b/trainer/src/Trainer.cpp @@ -22,7 +22,6 @@ void Trainer::createDataset(BaseConfig & goldConfig, bool debug, std::filesystem SubConfig config(goldConfig, goldConfig.getNbLines()); machine.trainMode(false); - machine.setDictsState(Dict::State::Open); extractExamples(config, debug, dir, epoch, dynamicOracle);