summaryrefslogtreecommitdiff
path: root/bin/analyze-archive.py
diff options
context:
space:
mode:
Diffstat (limited to 'bin/analyze-archive.py')
-rwxr-xr-xbin/analyze-archive.py59
1 files changed, 7 insertions, 52 deletions
diff --git a/bin/analyze-archive.py b/bin/analyze-archive.py
index 3a09b96..bd523c8 100755
--- a/bin/analyze-archive.py
+++ b/bin/analyze-archive.py
@@ -77,81 +77,36 @@ def print_model_quality(results):
print("{:20s} {:15s} {:.0f}".format(state_or_tran, key, result["mae"]))
-def format_quality_measures(result):
- if "smape" in result:
- return "{:6.2f}% / {:9.0f}".format(result["smape"], result["mae"])
- else:
- return "{:6} {:9.0f}".format("", result["mae"])
-
-
-def model_quality_table(header, result_lists, info_list):
- print(
- "{:20s} {:15s} {:19s} {:19s} {:19s}".format(
- "key",
- "attribute",
- header[0].center(19),
- header[1].center(19),
- header[2].center(19),
- )
- )
- for state_or_tran in result_lists[0].keys():
- for key in result_lists[0][state_or_tran].keys():
- buf = "{:20s} {:15s}".format(state_or_tran, key)
- for i, results in enumerate(result_lists):
- info = info_list[i]
- buf += " ||| "
- if (
- info is None
- or (
- key != "energy_Pt"
- and type(info(state_or_tran, key)) is not StaticFunction
- )
- or (
- key == "energy_Pt"
- and (
- type(info(state_or_tran, "power")) is not StaticFunction
- or type(info(state_or_tran, "duration"))
- is not StaticFunction
- )
- )
- ):
- result = results[state_or_tran][key]
- buf += format_quality_measures(result)
- else:
- buf += "{:7}----{:8}".format("", "")
- print(buf)
-
-
def model_summary_table(result_list):
buf = "transition duration"
for results in result_list:
if len(buf):
buf += " ||| "
- buf += format_quality_measures(results["duration_by_trace"])
+ buf += dfatool.cli.format_quality_measures(results["duration_by_trace"])
print(buf)
buf = "total energy "
for results in result_list:
if len(buf):
buf += " ||| "
- buf += format_quality_measures(results["energy_by_trace"])
+ buf += dfatool.cli.format_quality_measures(results["energy_by_trace"])
print(buf)
buf = "rel total energy "
for results in result_list:
if len(buf):
buf += " ||| "
- buf += format_quality_measures(results["rel_energy_by_trace"])
+ buf += dfatool.cli.format_quality_measures(results["rel_energy_by_trace"])
print(buf)
buf = "state-only energy "
for results in result_list:
if len(buf):
buf += " ||| "
- buf += format_quality_measures(results["state_energy_by_trace"])
+ buf += dfatool.cli.format_quality_measures(results["state_energy_by_trace"])
print(buf)
buf = "transition timeout "
for results in result_list:
if len(buf):
buf += " ||| "
- buf += format_quality_measures(results["timeout_by_trace"])
+ buf += dfatool.cli.format_quality_measures(results["timeout_by_trace"])
print(buf)
@@ -1038,7 +993,7 @@ if __name__ == "__main__":
)
if "table" in show_quality or "all" in show_quality:
- model_quality_table(
+ dfatool.cli.model_quality_table(
["static", "parameterized", "LUT"],
[static_quality, analytic_quality, lut_quality],
[None, param_info, None],
@@ -1051,7 +1006,7 @@ if __name__ == "__main__":
sub_lut_quality = submodel.assess(sub_lut_model)
sub_param_model, sub_param_info = submodel.get_fitted()
sub_analytic_quality = submodel.assess(sub_param_model)
- model_quality_table(
+ dfatool.cli.model_quality_table(
["static", "parameterized", "LUT"],
[sub_static_quality, sub_analytic_quality, sub_lut_quality],
[None, sub_param_info, None],