From 85f34c7c18fea6dcee12ac3cf3cee4b47b2bdf19 Mon Sep 17 00:00:00 2001 From: Hielke Walinga Date: Fri, 12 Apr 2024 12:45:58 +0200 Subject: [PATCH] Make inputdata object earlier available when starting active learning. --- source/active_learning/active_learning_main.cpp | 13 ++++++------- source/active_learning/active_learning_main.h | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/source/active_learning/active_learning_main.cpp b/source/active_learning/active_learning_main.cpp index c2394d77..335cd099 100644 --- a/source/active_learning/active_learning_main.cpp +++ b/source/active_learning/active_learning_main.cpp @@ -70,14 +70,13 @@ std::unique_ptr active_learning_main_func::get_parser(ifstream& input_st } } -inputdata active_learning_main_func::get_inputdata() const { +inputdata* active_learning_main_func::get_inputdata() const { ifstream input_stream = get_inputstream(); - inputdata id; - inputdata_locator::provide(&id); + inputdata* id = inputdata_locator::get(); auto input_parser = get_parser(input_stream); - id.read(input_parser.get()); + id->read(input_parser.get()); input_stream.close(); return id; } @@ -133,6 +132,8 @@ unique_ptr active_learning_main_func::select_oracle_class(shared * */ void active_learning_main_func::run_active_learning() { + inputdata id; + inputdata_locator::provide(&id); assertm(ENSEMBLE_RUNS > 0, "nruns parameter must be larger than 0 for active learning."); // Setting some initialization for learning from SQLDB. @@ -194,14 +195,12 @@ void active_learning_main_func::run_active_learning() { if (ACTIVE_SUL) { LOG_S(INFO) << "We do not want to run the input file, alphabet and input data must be inferred from SUL."; - inputdata id; - inputdata_locator::provide(&id); sul->pre(id); algorithm->run(id); } else { LOG_S(INFO) << "We only want to read the inputdata when we learn passively or from sequences."; - inputdata id = get_inputdata(); + get_inputdata(); sul->pre(id); algorithm->run(id); diff --git a/source/active_learning/active_learning_main.h b/source/active_learning/active_learning_main.h index 09d8d5cf..f7e7590e 100644 --- a/source/active_learning/active_learning_main.h +++ b/source/active_learning/active_learning_main.h @@ -21,7 +21,7 @@ #include class active_learning_main_func { private: - inputdata get_inputdata() const; + inputdata* get_inputdata() const; ifstream get_inputstream() const; std::unique_ptr get_parser(ifstream& input_stream) const; unique_ptr my_sqldb;