diff options
author | Birte Kristina Friesel <birte.friesel@uos.de> | 2023-12-20 12:16:51 +0100 |
---|---|---|
committer | Birte Kristina Friesel <birte.friesel@uos.de> | 2023-12-20 12:16:51 +0100 |
commit | c4c14295b205a8a780fc625b7c3bf6e2be96a0ee (patch) | |
tree | 2f052bc59b6715e7b8bf9f3bd223d350c0bb972f /bin | |
parent | 66c2fe62fbde3344161e1de385760cf41284045a (diff) |
Do not run XV on LUT model; it's not helpful.
--show-quality=table now always compares LUT (training data) to model
(training or XV) and static (training or XV)
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/analyze-archive.py | 25 | ||||
-rwxr-xr-x | bin/analyze-kconfig.py | 22 | ||||
-rwxr-xr-x | bin/analyze-log.py | 8 |
3 files changed, 22 insertions, 33 deletions
diff --git a/bin/analyze-archive.py b/bin/analyze-archive.py index d939c44..64792fd 100755 --- a/bin/analyze-archive.py +++ b/bin/analyze-archive.py @@ -626,15 +626,7 @@ if __name__ == "__main__": if len(show_models): print("--- LUT ---") lut_model = model.get_param_lut() - - if xv_method == "montecarlo": - lut_quality, _ = xv.montecarlo( - lambda m: m.get_param_lut(fallback=True), xv_count - ) - elif xv_method == "kfold": - lut_quality, _ = xv.kfold(lambda m: m.get_param_lut(fallback=True), xv_count) - else: - lut_quality = model.assess(lut_model) + lut_quality = model.assess(lut_model) if len(show_models): print("--- param model ---") @@ -772,9 +764,11 @@ if __name__ == "__main__": if "table" in show_quality or "all" in show_quality: dfatool.cli.model_quality_table( - ["static", "parameterized", "LUT"], - [static_quality, analytic_quality, lut_quality], - [None, param_info, None], + lut=lut_quality, + model=analytic_quality, + static=static_quality, + model_info=param_info, + xv_method=xv_method, ) if args.with_substates: for submodel in model.submodel_by_name.values(): @@ -785,9 +779,10 @@ if __name__ == "__main__": sub_param_model, sub_param_info = submodel.get_fitted() sub_analytic_quality = submodel.assess(sub_param_model) dfatool.cli.model_quality_table( - ["static", "parameterized", "LUT"], - [sub_static_quality, sub_analytic_quality, sub_lut_quality], - [None, sub_param_info, None], + lut=sub_lut_quality, + model=sub_analytic_quality, + static=sub_static_quality, + model_info=sub_param_info, ) if "overall" in show_quality or "all" in show_quality: diff --git a/bin/analyze-kconfig.py b/bin/analyze-kconfig.py index 0900255..7eb63c8 100755 --- a/bin/analyze-kconfig.py +++ b/bin/analyze-kconfig.py @@ -418,6 +418,7 @@ def main(): static_model = model.get_static() try: lut_model = model.get_param_lut() + lut_quality = model.assess(lut_model) except RuntimeError as e: if args.force_tree: # this is to be expected @@ -425,6 +426,7 @@ def main(): else: logging.warning(f"Skipping LUT model: {e}") lut_model = None + lut_quality = None if args.export_csv: for name in model.names: @@ -444,24 +446,12 @@ def main(): static_quality, _ = xv.montecarlo( lambda m: m.get_static(), xv_count, static=True ) - if lut_model: - lut_quality, _ = xv.montecarlo( - lambda m: m.get_param_lut(fallback=True), xv_count, static=True - ) - else: - lut_quality = None xv.export_filename = args.export_xv analytic_quality, xv_analytic_models = xv.montecarlo( lambda m: m.get_fitted()[0], xv_count ) elif xv_method == "kfold": static_quality, _ = xv.kfold(lambda m: m.get_static(), xv_count, static=True) - if lut_model: - lut_quality, _ = xv.kfold( - lambda m: m.get_param_lut(fallback=True), xv_count, static=True - ) - else: - lut_quality = None xv.export_filename = args.export_xv analytic_quality, xv_analytic_models = xv.kfold( lambda m: m.get_fitted()[0], xv_count @@ -521,9 +511,11 @@ def main(): else: print("Model error on training data:") dfatool.cli.model_quality_table( - ["static", "parameterized", "LUT"], - [static_quality, analytic_quality, lut_quality], - [None, param_info, None], + lut=lut_quality, + model=analytic_quality, + static=static_quality, + model_info=param_info, + xv_method=xv_method, ) if not args.show_quality: diff --git a/bin/analyze-log.py b/bin/analyze-log.py index 4a74116..4f5e420 100755 --- a/bin/analyze-log.py +++ b/bin/analyze-log.py @@ -284,9 +284,11 @@ def main(): else: print("Model error on training data:") dfatool.cli.model_quality_table( - ["static", "parameterized", "LUT"], - [static_quality, analytic_quality, lut_quality], - [None, param_info, None], + lut=lut_quality, + model=analytic_quality, + static=static_quality, + model_info=param_info, + xv_method=xv_method, ) if args.export_model: |