Begin report all models
This commit is contained in:
parent
b30416364d
commit
c8597a794e
@ -9,7 +9,7 @@ namespace platform {
|
|||||||
|
|
||||||
string BestResults::build()
|
string BestResults::build()
|
||||||
{
|
{
|
||||||
auto files = loadFiles();
|
auto files = loadResultFiles();
|
||||||
if (files.size() == 0) {
|
if (files.size() == 0) {
|
||||||
cerr << Colors::MAGENTA() << "No result files were found!" << Colors::RESET() << endl;
|
cerr << Colors::MAGENTA() << "No result files were found!" << Colors::RESET() << endl;
|
||||||
exit(1);
|
exit(1);
|
||||||
@ -48,7 +48,7 @@ namespace platform {
|
|||||||
return "best_results_" + model + "_" + score + ".json";
|
return "best_results_" + model + "_" + score + ".json";
|
||||||
}
|
}
|
||||||
|
|
||||||
vector<string> BestResults::loadFiles()
|
vector<string> BestResults::loadResultFiles()
|
||||||
{
|
{
|
||||||
vector<string> files;
|
vector<string> files;
|
||||||
using std::filesystem::directory_iterator;
|
using std::filesystem::directory_iterator;
|
||||||
@ -56,7 +56,7 @@ namespace platform {
|
|||||||
auto fileName = file.path().filename().string();
|
auto fileName = file.path().filename().string();
|
||||||
if (fileName.find(".json") != string::npos && fileName.find("results_") == 0
|
if (fileName.find(".json") != string::npos && fileName.find("results_") == 0
|
||||||
&& fileName.find("_" + score + "_") != string::npos
|
&& fileName.find("_" + score + "_") != string::npos
|
||||||
&& fileName.find("_" + model + "_") != string::npos) {
|
&& (fileName.find("_" + model + "_") != string::npos || model == "any")) {
|
||||||
files.push_back(fileName);
|
files.push_back(fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -71,8 +71,12 @@ namespace platform {
|
|||||||
}
|
}
|
||||||
throw invalid_argument("Unable to open result file. [" + fileName + "]");
|
throw invalid_argument("Unable to open result file. [" + fileName + "]");
|
||||||
}
|
}
|
||||||
|
void BestResults::reportAll()
|
||||||
|
{
|
||||||
|
|
||||||
void BestResults::report()
|
}
|
||||||
|
|
||||||
|
void BestResults::reportSingle()
|
||||||
{
|
{
|
||||||
string bestFileName = path + bestResultFile();
|
string bestFileName = path + bestResultFile();
|
||||||
if (FILE* fileTest = fopen(bestFileName.c_str(), "r")) {
|
if (FILE* fileTest = fopen(bestFileName.c_str(), "r")) {
|
||||||
|
@ -9,9 +9,10 @@ namespace platform {
|
|||||||
public:
|
public:
|
||||||
explicit BestResults(const string& path, const string& score, const string& model) : path(path), score(score), model(model) {}
|
explicit BestResults(const string& path, const string& score, const string& model) : path(path), score(score), model(model) {}
|
||||||
string build();
|
string build();
|
||||||
void report();
|
void reportSingle();
|
||||||
|
void reportAll();
|
||||||
private:
|
private:
|
||||||
vector<string> loadFiles();
|
vector<string> loadResultFiles();
|
||||||
string bestResultFile();
|
string bestResultFile();
|
||||||
json loadFile(const string& fileName);
|
json loadFile(const string& fileName);
|
||||||
string path;
|
string path;
|
||||||
|
@ -9,7 +9,7 @@ using namespace std;
|
|||||||
argparse::ArgumentParser manageArguments(int argc, char** argv)
|
argparse::ArgumentParser manageArguments(int argc, char** argv)
|
||||||
{
|
{
|
||||||
argparse::ArgumentParser program("best");
|
argparse::ArgumentParser program("best");
|
||||||
program.add_argument("-m", "--model").default_value("").help("Filter results of the selected model)");
|
program.add_argument("-m", "--model").default_value("").help("Filter results of the selected model) (any for all models)");
|
||||||
program.add_argument("-s", "--score").default_value("").help("Filter results of the score name supplied");
|
program.add_argument("-s", "--score").default_value("").help("Filter results of the score name supplied");
|
||||||
program.add_argument("--build").help("build best score results file").default_value(false).implicit_value(true);
|
program.add_argument("--build").help("build best score results file").default_value(false).implicit_value(true);
|
||||||
program.add_argument("--report").help("report of best score results file").default_value(false).implicit_value(true);
|
program.add_argument("--report").help("report of best score results file").default_value(false).implicit_value(true);
|
||||||
@ -43,13 +43,22 @@ int main(int argc, char** argv)
|
|||||||
cerr << program;
|
cerr << program;
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
if (model == "any" && build) {
|
||||||
|
cerr << "Can't build best results file for all models. \"any\" is only valid for report" << endl;
|
||||||
|
cerr << program;
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
auto results = platform::BestResults(platform::Paths::results(), model, score);
|
auto results = platform::BestResults(platform::Paths::results(), model, score);
|
||||||
if (build) {
|
if (build) {
|
||||||
string fileName = results.build();
|
string fileName = results.build();
|
||||||
cout << Colors::GREEN() << fileName << " created!" << Colors::RESET() << endl;
|
cout << Colors::GREEN() << fileName << " created!" << Colors::RESET() << endl;
|
||||||
}
|
}
|
||||||
if (report) {
|
if (report) {
|
||||||
results.report();
|
if (model == "any") {
|
||||||
|
results.reportAll();
|
||||||
|
} else {
|
||||||
|
results.reportSingle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user