diff --git a/trainer/src/Trainer.cpp b/trainer/src/Trainer.cpp index 57cc4b01f94df75fd04df94148312875e1c73c15..8890b80fb512cd93620c64a3a93192e1895223d4 100644 --- a/trainer/src/Trainer.cpp +++ b/trainer/src/Trainer.cpp @@ -83,7 +83,7 @@ void Trainer::computeScoreOnDev() else { // Print current iter advancement in percentage - if (ProgramParameters::interactive && !ProgramParameters::featureExtraction) + if (ProgramParameters::interactive) { int totalSize = ProgramParameters::devTapeSize; int steps = devConfig->getHead(); @@ -223,7 +223,7 @@ void Trainer::doStepTrain() } // Print current iter advancement in percentage - if (ProgramParameters::interactive && !ProgramParameters::featureExtraction) + if (ProgramParameters::interactive) { int totalSize = ProgramParameters::iterationSize == -1 ? ProgramParameters::tapeSize : ProgramParameters::iterationSize; int steps = ProgramParameters::iterationSize == -1 ? trainConfig.getHead() : nbSteps; @@ -298,7 +298,7 @@ void Trainer::doStepTrain() if (ProgramParameters::featureExtraction) { auto features = tm.getCurrentClassifier()->getFeatureModel()->getFeatureDescription(trainConfig).featureValues(); - fprintf(stdout, "%s\t%s\n", oAction.c_str(), features.c_str()); + fprintf(stdout, "%s\t%s\t%s\n", tm.getCurrentClassifier()->getFeatureModel()->filename.c_str(), oAction.c_str(), features.c_str()); } if (TI.getEpoch() >= k && choiceWithProbability(ProgramParameters::dynamicProbability)) diff --git a/transition_machine/include/FeatureModel.hpp b/transition_machine/include/FeatureModel.hpp index f802ed67bb6c93b145cd8f3b463123c7d9c3e47a..25a7242bdae19d50d576c027a4413f71ad51ee5e 100644 --- a/transition_machine/include/FeatureModel.hpp +++ b/transition_machine/include/FeatureModel.hpp @@ -103,6 +103,11 @@ class FeatureModel public : + /// @brief The name of the FeatureModel file. + std::string filename; + + public : + /// @brief Tranform a Policy into the corresponding string. /// /// @param policy The Policy. diff --git a/transition_machine/src/FeatureModel.cpp b/transition_machine/src/FeatureModel.cpp index 1b0c01dfd7a877b7d29065bae615644435416f15..b4acf3164baf7593878f49187f773025a81f24af 100644 --- a/transition_machine/src/FeatureModel.cpp +++ b/transition_machine/src/FeatureModel.cpp @@ -21,6 +21,8 @@ FeatureModel::FeatureDescription & FeatureModel::getFeatureDescription(Config & FeatureModel::FeatureModel(const std::string & filename) { + this->filename = getFilenameFromPath(filename); + File file(filename, "r"); FILE * fd = file.getDescriptor(); char buffer[1024]; @@ -141,8 +143,8 @@ std::string FeatureModel::FeatureDescription::featureValues() std::string res; for (auto & feature : values) - for (auto & value : feature.values) - res += value + "\t"; + for (unsigned int i = 0; i < feature.values.size(); i++) + res += feature.values[i] + (i == feature.values.size()-1 ? "\t" : " "); if (!res.empty()) res.pop_back();