diff options
author | Daniel Friesel <daniel.friesel@uos.de> | 2022-02-18 16:09:05 +0100 |
---|---|---|
committer | Daniel Friesel <daniel.friesel@uos.de> | 2022-02-18 16:09:05 +0100 |
commit | 05ef7cf244c84be698cdf83c5e18104d4ed5dc70 (patch) | |
tree | ba5539af75fbc81bbd5fc5d1efdd46d586d78a6b | |
parent | afbb5e789a3a25ee875333785149559af5e89970 (diff) |
move --info to cli as well
-rwxr-xr-x | bin/analyze-archive.py | 53 | ||||
-rwxr-xr-x | bin/analyze-kconfig.py | 11 | ||||
-rw-r--r-- | lib/cli.py | 28 |
3 files changed, 39 insertions, 53 deletions
diff --git a/bin/analyze-archive.py b/bin/analyze-archive.py index fef8005..f48afd8 100755 --- a/bin/analyze-archive.py +++ b/bin/analyze-archive.py @@ -357,7 +357,6 @@ if __name__ == "__main__": pta = None energymodel_export_file = None trace_export_dir = None - xv_method = None xv_count = 10 parser = argparse.ArgumentParser( @@ -518,10 +517,6 @@ if __name__ == "__main__": show_models = args.show_models show_quality = args.show_quality - if args.cross_validate: - xv_method, xv_count = args.cross_validate.split(":") - xv_count = int(xv_count) - if args.filter_param: args.filter_param = list( map(lambda x: x.split("="), args.filter_param.split(",")) @@ -641,50 +636,18 @@ if __name__ == "__main__": ) constructor_duration = time.time() - constructor_start - if xv_method: + if args.info: + dfatool.cli.print_info_by_name(model, by_name) + + if args.cross_validate: + xv_method, xv_count = args.cross_validate.split(":") + xv_count = int(xv_count) xv = CrossValidator( PTAModel, by_name, parameters, arg_count, force_tree=args.force_tree ) xv.parameter_aware = args.parameter_aware_cross_validation - - if args.info: - for state in model.states: - print("{}:".format(state)) - print(f""" Number of Measurements: {len(by_name[state]["power"])}""") - for param in model.parameters: - print( - " Parameter {} ∈ {}".format( - param, - model.attr_by_name[state][ - "power" - ].stats.distinct_values_by_param_name[param], - ) - ) - for transition in model.transitions: - print("{}:".format(transition)) - print( - f""" Number of Measurements: {len(by_name[transition]["duration"])}""" - ) - for param in model.parameters: - print( - " Parameter {} ∈ {}".format( - param, - model.attr_by_name[transition][ - "duration" - ].stats.distinct_values_by_param_name[param], - ) - ) - for i in range(model._num_args[transition]): - print( - " Argument {} ∈ {}".format( - i, - model.attr_by_name[transition][ - "duration" - ].stats.distinct_values_by_param_index[ - len(model.parameters) + i - ], - ) - ) + else: + xv_method = None if args.plot_unparam: for kv in args.plot_unparam.split(";"): diff --git a/bin/analyze-kconfig.py b/bin/analyze-kconfig.py index a2deaf7..e8b946a 100755 --- a/bin/analyze-kconfig.py +++ b/bin/analyze-kconfig.py @@ -199,6 +199,9 @@ def main(): ) constructor_duration = time.time() - constructor_start + if args.info: + dfatool.cli.print_info_by_name(model, by_name) + if args.cross_validate: xv_method, xv_count = args.cross_validate.split(":") xv_count = int(xv_count) @@ -292,14 +295,6 @@ def main(): smape = error["smape"] print(f"{name:15s} {attribute:20s} ± {mae:10.2} / {smape:5.1f}%") - if args.info: - for name in model.names: - print(f"{name}:") - print(f""" Number of Measurements: {len(by_name[name]["param"])}""") - for i, param in enumerate(model.parameters): - param_values = model.distinct_param_values_by_name[name][i] - print(f" Parameter {param} ∈ {param_values}") - if args.show_model_size: dfatool.cli.print_model_size(model) @@ -29,6 +29,34 @@ def print_static(model, static_model, name, attribute): ) +def print_info_by_name(model, by_name): + for name in model.names: + attr = list(model.attributes(name))[0] + print(f"{name}:") + print(f""" Number of Measurements: {len(by_name[name][attr])}""") + for param in model.parameters: + print( + " Parameter {} ∈ {}".format( + param, + model.attr_by_name[name][attr].stats.distinct_values_by_param_name[ + param + ], + ) + ) + if name in model._num_args: + for i in range(model._num_args[name]): + print( + " Argument {} ∈ {}".format( + i, + model.attr_by_name[name][ + attr + ].stats.distinct_values_by_param_index[ + len(model.parameters) + i + ], + ) + ) + + def print_analyticinfo(prefix, info): empty = "" print(f"{prefix}: {info.model_function}") |