Add info to invalid hyperparameter exception
This commit is contained in:
parent
4f3a04058f
commit
26d3a57782
@ -1,5 +1,6 @@
|
|||||||
#include "HyperParameters.h"
|
#include "HyperParameters.h"
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
#include <sstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
namespace platform {
|
namespace platform {
|
||||||
@ -10,6 +11,14 @@ namespace platform {
|
|||||||
hyperparameters[item] = hyperparameters_;
|
hyperparameters[item] = hyperparameters_;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// https://www.techiedelight.com/implode-a-vector-of-strings-into-a-comma-separated-string-in-cpp/
|
||||||
|
std::string join(std::vector<std::string> const& strings, std::string delim)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
std::copy(strings.begin(), strings.end(),
|
||||||
|
std::ostream_iterator<std::string>(ss, delim.c_str()));
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
HyperParameters::HyperParameters(const std::vector<std::string>& datasets, const std::string& hyperparameters_file)
|
HyperParameters::HyperParameters(const std::vector<std::string>& datasets, const std::string& hyperparameters_file)
|
||||||
{
|
{
|
||||||
// Check if file exists
|
// Check if file exists
|
||||||
@ -34,7 +43,8 @@ namespace platform {
|
|||||||
json result = hyperparameters.at(fileName);
|
json result = hyperparameters.at(fileName);
|
||||||
for (const auto& item : result.items()) {
|
for (const auto& item : result.items()) {
|
||||||
if (find(valid.begin(), valid.end(), item.key()) == valid.end()) {
|
if (find(valid.begin(), valid.end(), item.key()) == valid.end()) {
|
||||||
throw std::invalid_argument("Hyperparameter " + item.key() + " is not valid. Passed Hyperparameters are: " + result.dump(4));
|
throw std::invalid_argument("Hyperparameter " + item.key() + " is not valid. Passed Hyperparameters are: "
|
||||||
|
+ result.dump(4) + "\n Valid hyperparameters are: {" + join(valid, ",") + "}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user