#pragma once #include #include #include #include namespace platform { using json = nlohmann::ordered_json; class HyperParameters { public: HyperParameters() = default; explicit HyperParameters(const std::vector& datasets, const json& hyperparameters_); explicit HyperParameters(const std::vector& datasets, const std::string& hyperparameters_file); ~HyperParameters() = default; bool notEmpty(const std::string& key) const { return !hyperparameters.at(key).empty(); } void check(const std::vector& valid, const std::string& fileName); json get(const std::string& fileName); private: std::map hyperparameters; }; } /* namespace platform */