From 9566ae4cf6f70313b282dab046f1c0535564f4c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Monta=C3=B1ana=20G=C3=B3mez?= Date: Wed, 11 Dec 2024 12:45:16 +0100 Subject: [PATCH] Fix gridsearch discretize_algo mistake --- README.md | 9 ++++++++- lib/Files | 2 +- lib/argparse | 2 +- lib/catch2 | 2 +- lib/json | 2 +- lib/libxlsxwriter | 2 +- lib/mdlp | 1 + src/common/Datasets.cpp | 2 +- src/grid/GridSearch.cpp | 4 +++- src/reports/ReportConsole.cpp | 4 ++-- src/reports/ReportExcel.cpp | 4 ++-- 11 files changed, 22 insertions(+), 12 deletions(-) create mode 160000 lib/mdlp diff --git a/README.md b/README.md index 1f4d0a8..50180c7 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,14 @@ The solution is to erase the libstdc++ library from the miniconda installation a ### MPI -In Linux just install openmpi & openmpi-devel packages. Only if cmake can't find openmpi installation (like in Oracle Linux) set the following variable: +In Linux just install openmpi & openmpi-devel packages. + +```bash +source /etc/profile.d/modules.sh +module load mpi/openmpi-x86_64 +``` + +If cmake can't find openmpi installation (like in Oracle Linux) set the following variable: ```bash export MPI_HOME="/usr/lib64/openmpi" diff --git a/lib/Files b/lib/Files index a4329f5..a531692 160000 --- a/lib/Files +++ b/lib/Files @@ -1 +1 @@ -Subproject commit a4329f5f9dfdb18ee3faa63bd5b665f2f253b8d2 +Subproject commit a5316928d408266aa425f64131ab0f592b010a8d diff --git a/lib/argparse b/lib/argparse index cbd9fd8..e462ab9 160000 --- a/lib/argparse +++ b/lib/argparse @@ -1 +1 @@ -Subproject commit cbd9fd8ed675ed6a2ac1bd7142d318c6ad5d3462 +Subproject commit e462ab980c0852bd1df2ee1f4ec81826246b6f21 diff --git a/lib/catch2 b/lib/catch2 index 506276c..4e8d92b 160000 --- a/lib/catch2 +++ b/lib/catch2 @@ -1 +1 @@ -Subproject commit 506276c59217429c93abd2fe9507c7f45eb81072 +Subproject commit 4e8d92bf02f7d1c8006a0e7a5ecabd8e62d98502 diff --git a/lib/json b/lib/json index 378e091..960b763 160000 --- a/lib/json +++ b/lib/json @@ -1 +1 @@ -Subproject commit 378e091795a70fced276cd882bd8a6a428668fe5 +Subproject commit 960b763ecd144f156d05ec61f577b04107290137 diff --git a/lib/libxlsxwriter b/lib/libxlsxwriter index 6f2ac4a..cf887d6 160000 --- a/lib/libxlsxwriter +++ b/lib/libxlsxwriter @@ -1 +1 @@ -Subproject commit 6f2ac4af23879c3d660b0fe689f423c19f8457d1 +Subproject commit cf887d65ce31c74ce6fdc6f3c6163c1cc206e910 diff --git a/lib/mdlp b/lib/mdlp new file mode 160000 index 0000000..2db60e0 --- /dev/null +++ b/lib/mdlp @@ -0,0 +1 @@ +Subproject commit 2db60e007d70da876379373c53b6421f281daeac diff --git a/src/common/Datasets.cpp b/src/common/Datasets.cpp index 5bd3850..ca155b3 100644 --- a/src/common/Datasets.cpp +++ b/src/common/Datasets.cpp @@ -8,7 +8,7 @@ namespace platform { Datasets::Datasets(bool discretize, std::string sfileType, std::string discretizer_algorithm) : discretize(discretize), sfileType(sfileType), discretizer_algorithm(discretizer_algorithm) { - if (discretizer_algorithm == "none" && discretize) { + if ((discretizer_algorithm == "none" || discretizer_algorithm == "") && discretize) { throw std::runtime_error("Can't discretize without discretization algorithm"); } load(); diff --git a/src/grid/GridSearch.cpp b/src/grid/GridSearch.cpp index 8961a9e..c82e7f0 100644 --- a/src/grid/GridSearch.cpp +++ b/src/grid/GridSearch.cpp @@ -108,6 +108,7 @@ namespace platform { // Generate the hyperparamters combinations auto& dataset = datasets.getDataset(dataset_name); auto combinations = grid.getGrid(dataset_name); + dataset.load(); auto [X, y] = dataset.getTensors(); auto features = dataset.getFeatures(); auto className = dataset.getClassName(); @@ -353,7 +354,8 @@ namespace platform { tasks = json::parse(msg); delete[] msg; auto env = platform::DotEnv(); - auto datasets = Datasets(config.discretize, Paths::datasets(), env.get("discretiz_algo")); + auto datasets = Datasets(config.discretize, Paths::datasets(), env.get("discretize_algo")); + if (config_mpi.rank == config_mpi.manager) { // // 2a. Producer delivers the tasks to the consumers diff --git a/src/reports/ReportConsole.cpp b/src/reports/ReportConsole.cpp index a209c6d..7420f58 100644 --- a/src/reports/ReportConsole.cpp +++ b/src/reports/ReportConsole.cpp @@ -24,8 +24,8 @@ namespace platform { + " random seeds. " + data["date"].get() + " " + data["time"].get() ); sheader << headerLine(data["title"].get()); - std::string discretiz_algo = data.find("discretization_algorithm") != data.end() ? data["discretization_algorithm"].get() : "ORIGINAL"; - std::string algorithm = data["discretized"].get() ? " (" + discretiz_algo + ")" : ""; + std::string discretize_algo = data.find("discretization_algorithm") != data.end() ? data["discretization_algorithm"].get() : "ORIGINAL"; + std::string algorithm = data["discretized"].get() ? " (" + discretize_algo + ")" : ""; std::string smooth = data.find("smooth_strategy") != data.end() ? data["smooth_strategy"].get() : "ORIGINAL"; std::string stratified; try { diff --git a/src/reports/ReportExcel.cpp b/src/reports/ReportExcel.cpp index 8a70b6d..4e0abb2 100644 --- a/src/reports/ReportExcel.cpp +++ b/src/reports/ReportExcel.cpp @@ -68,8 +68,8 @@ namespace platform { worksheet_merge_range(worksheet, 3, 10, 3, 11, oss.str().c_str(), styles["headerSmall"]); oss.str(""); oss.clear(); - std::string discretiz_algo = data.find("discretization_algorithm") != data.end() ? data["discretization_algorithm"].get() : "mdlp"; - std::string algorithm = data["discretized"].get() ? " (" + discretiz_algo + ")" : ""; + std::string discretize_algo = data.find("discretization_algorithm") != data.end() ? data["discretization_algorithm"].get() : "mdlp"; + std::string algorithm = data["discretized"].get() ? " (" + discretize_algo + ")" : ""; oss << "Discretized: " << (data["discretized"].get() ? "True" : "False") << algorithm; worksheet_write_string(worksheet, 3, 12, oss.str().c_str(), styles["headerSmall"]); }