From 7a3adaf4a916406f69c22a39a69b6069775b4b74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Montan=CC=83ana?= Date: Fri, 8 Mar 2024 12:27:28 +0100 Subject: [PATCH] Remove source bayesnet & pyclassifiers libraries dependency --- .gitmodules | 6 +++--- CMakeLists.txt | 6 +++++- Makefile | 2 +- gitmodules | 3 --- lib/PyClassifiers | 1 - lib/folding | 1 + lib/libxlsxwriter | 2 +- sample/CMakeLists.txt | 2 +- src/CMakeLists.txt | 25 +++++++++++-------------- src/main/Models.h | 18 +++++++++--------- tests/CMakeLists.txt | 5 +++-- tests/TestPlatform.cc | 2 +- 12 files changed, 36 insertions(+), 37 deletions(-) delete mode 160000 lib/PyClassifiers create mode 160000 lib/folding diff --git a/.gitmodules b/.gitmodules index 167ad9e..427ad5a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,6 +14,6 @@ path = lib/mdlp url = https://github.com/rmontanana/mdlp update = merge -[submodule "lib/PyClassifiers"] - path = lib/PyClassifiers - url = git@github.com:rmontanana/PyClassifiers +[submodule "lib/folding"] + path = lib/folding + url = https://github.com/rmontanana/folding diff --git a/CMakeLists.txt b/CMakeLists.txt index efe5d6a..733a6d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,14 +70,18 @@ endif (ENABLE_CLANG_TIDY) # External libraries - dependencies of Platform # --------------------------------------------- -add_git_submodule("lib/PyClassifiers") add_git_submodule("lib/argparse") +add_git_submodule("lib/mdlp") find_library(XLSXWRITER_LIB NAMES libxlsxwriter.dylib libxlsxwriter.so PATHS ${Platform_SOURCE_DIR}/lib/libxlsxwriter/lib) message("XLSXWRITER_LIB=${XLSXWRITER_LIB}") +find_library(PyClassifiers NAMES libPyClassifiers PyClassifiers) +find_library(BayesNet NAMES libBayesNet BayesNet) + # Subdirectories # -------------- +add_subdirectory(lib/Files) add_subdirectory(config) add_subdirectory(src) add_subdirectory(sample) diff --git a/Makefile b/Makefile index 1266f51..5a2cf9e 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ SHELL := /bin/bash f_release = build_release f_debug = build_debug app_targets = b_best b_list b_main b_manage b_grid -test_targets = unit_tests_bayesnet unit_tests_platform +test_targets = unit_tests_platform n_procs = -j 16 define ClearTests diff --git a/gitmodules b/gitmodules index 27772a6..39cd6d1 100644 --- a/gitmodules +++ b/gitmodules @@ -23,9 +23,6 @@ url = https://github.com/jmcnamara/libxlsxwriter.git main = main update = merge -[submodule "lib/PyClassifiers"] - path = lib/PyClassifiers - url = https://github.com/rmontanana/PyClassifiers [submodule "lib/folding"] path = lib/folding url = https://github.com/rmontanana/Folding diff --git a/lib/PyClassifiers b/lib/PyClassifiers deleted file mode 160000 index 11ee490..0000000 --- a/lib/PyClassifiers +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 11ee490c1c0e8017dd9b53a68a4db6514bba43ad diff --git a/lib/folding b/lib/folding new file mode 160000 index 0000000..37316a5 --- /dev/null +++ b/lib/folding @@ -0,0 +1 @@ +Subproject commit 37316a54e0d558555ae02ae95c8bb083ec063874 diff --git a/lib/libxlsxwriter b/lib/libxlsxwriter index f6d73b0..b0c76b3 160000 --- a/lib/libxlsxwriter +++ b/lib/libxlsxwriter @@ -1 +1 @@ -Subproject commit f6d73b0ae13de14e8f23afab76ee188d4b18e71d +Subproject commit b0c76b3396f32b2f1b53781a5caea084cadd94d3 diff --git a/sample/CMakeLists.txt b/sample/CMakeLists.txt index 63148de..652c81d 100644 --- a/sample/CMakeLists.txt +++ b/sample/CMakeLists.txt @@ -5,8 +5,8 @@ include_directories( ${Python3_INCLUDE_DIRS} ${Platform_SOURCE_DIR}/lib/Files ${Platform_SOURCE_DIR}/lib/argparse/include + ${Platform_SOURCE_DIR}/lib/folding ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/src - ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/folding ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/mdlp ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/json/include ${CMAKE_BINARY_DIR}/configured_files/include diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0d1bf56..af0fb18 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,23 +1,17 @@ include_directories( ## Libs - ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/src - ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/src/classifiers - ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/src/ensembles - ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/src/bayesian_network - ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/src/feature_selection - ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/src/utils - ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/folding - ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/mdlp - ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/json/include - ${Platform_SOURCE_DIR}/lib/PyClassifiers/src ${Platform_SOURCE_DIR}/lib/Files + ${Platform_SOURCE_DIR}/lib/folding ${Platform_SOURCE_DIR}/lib/mdlp ${Platform_SOURCE_DIR}/lib/argparse/include ${Platform_SOURCE_DIR}/lib/json/include ${Platform_SOURCE_DIR}/lib/libxlsxwriter/include ${Python3_INCLUDE_DIRS} ${MPI_CXX_INCLUDE_DIRS} + ${TORCH_INCLUDE_DIRS} ${CMAKE_BINARY_DIR}/configured_files/include + /usr/local/include/bayesnet + /usr/local/include/pyclassifiers ## Platform ${Platform_SOURCE_DIR}/src/common ${Platform_SOURCE_DIR}/src/best @@ -30,14 +24,16 @@ include_directories( # b_best set(best_sources b_best.cc BestResults.cc Statistics.cc BestResultsExcel.cc) list(TRANSFORM best_sources PREPEND best/) -add_executable(b_best ${best_sources} main/Result.cc reports/ReportExcel.cc reports/ReportBase.cc reports/ExcelFile.cc common/Datasets.cc common/Dataset.cc) +add_executable( + b_best ${best_sources} main/Result.cc + reports/ReportExcel.cc reports/ReportBase.cc reports/ExcelFile.cc common/Datasets.cc common/Dataset.cc) target_link_libraries(b_best Boost::boost "${TORCH_LIBRARIES}" "${XLSXWRITER_LIB}" ArffFiles mdlp) # b_grid set(grid_sources b_grid.cc GridSearch.cc GridData.cc) list(TRANSFORM grid_sources PREPEND grid/) add_executable(b_grid ${grid_sources} main/HyperParameters.cc main/Models.cc common/Datasets.cc common/Dataset.cc) -target_link_libraries(b_grid PyClassifiers ${MPI_CXX_LIBRARIES} ArffFiles) +target_link_libraries(b_grid ${MPI_CXX_LIBRARIES} "${PyClassifiers}" "${BayesNet}" ArffFiles mdlp ${Python3_LIBRARIES} "${TORCH_LIBRARIES}" ${LIBTORCH_PYTHON} Boost::python Boost::numpy) # b_list set(list_sources b_list.cc DatasetsExcel.cc) @@ -49,12 +45,13 @@ target_link_libraries(b_list "${TORCH_LIBRARIES}" "${XLSXWRITER_LIB}" ArffFiles set(main_sources b_main.cc Experiment.cc Models.cc HyperParameters.cc) list(TRANSFORM main_sources PREPEND main/) add_executable(b_main ${main_sources} common/Datasets.cc common/Dataset.cc reports/ReportConsole.cc reports/ReportBase.cc main/Result.cc) -target_link_libraries(b_main PyClassifiers BayesNet ArffFiles mdlp) +target_link_libraries(b_main "${PyClassifiers}" "${BayesNet}" ArffFiles mdlp ${Python3_LIBRARIES} "${TORCH_LIBRARIES}" ${LIBTORCH_PYTHON} Boost::python Boost::numpy) # b_manage set(manage_sources b_manage.cc ManageResults.cc CommandParser.cc Results.cc) list(TRANSFORM manage_sources PREPEND manage/) -add_executable(b_manage ${manage_sources} main/Result.cc +add_executable( + b_manage ${manage_sources} main/Result.cc reports/ReportConsole.cc reports/ReportExcel.cc reports/ReportExcelCompared.cc reports/ReportBase.cc reports/ExcelFile.cc common/Datasets.cc common/Dataset.cc ) diff --git a/src/main/Models.h b/src/main/Models.h index 7c7c2a6..f347211 100644 --- a/src/main/Models.h +++ b/src/main/Models.h @@ -2,15 +2,15 @@ #define MODELS_H #include #include "BaseClassifier.h" -#include "AODE.h" -#include "TAN.h" -#include "KDB.h" -#include "SPODE.h" -#include "TANLd.h" -#include "KDBLd.h" -#include "SPODELd.h" -#include "AODELd.h" -#include "BoostAODE.h" +#include "ensembles/AODE.h" +#include "ensembles/AODELd.h" +#include "ensembles/BoostAODE.h" +#include "classifiers/TAN.h" +#include "classifiers/KDB.h" +#include "classifiers/SPODE.h" +#include "classifiers/TANLd.h" +#include "classifiers/KDBLd.h" +#include "classifiers/SPODELd.h" #include "STree.h" #include "ODTE.h" #include "SVC.h" diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index d0a401b..3066c7e 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -3,9 +3,10 @@ if(ENABLE_TESTING) include_directories( ${Platform_SOURCE_DIR}/src ${Platform_SOURCE_DIR}/lib/argparse/include - ${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/mdlp + ${Platform_SOURCE_DIR}/lib/mdlp ${Platform_SOURCE_DIR}/lib/Files - ${CMAKE_BINARY_DIR}/configured_files/include + /usr/local/include/bayesnet + /usr/local/include/pyclassifiers ) set(TEST_SOURCES_PLATFORM TestUtils.cc TestPlatform.cc) add_executable(${TEST_PLATFORM} ${TEST_SOURCES_PLATFORM}) diff --git a/tests/TestPlatform.cc b/tests/TestPlatform.cc index 37f3c32..35fed79 100644 --- a/tests/TestPlatform.cc +++ b/tests/TestPlatform.cc @@ -12,5 +12,5 @@ TEST_CASE("Test Python Classifiers score", "[PyClassifiers]") { std::string version = { project_version.begin(), project_version.end() }; - REQUIRE(version == "1.0.2"); + REQUIRE(version == "1.0.4"); } \ No newline at end of file