From 6825ac2877635bb055de46c7115ed8ab471560ad Mon Sep 17 00:00:00 2001 From: Daniel Friesel <daniel.friesel@uos.de> Date: Wed, 24 Jul 2019 14:31:54 +0200 Subject: Improve debugging --- lib/dfatool.py | 2 +- lib/utils.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/dfatool.py b/lib/dfatool.py index 43e5c9e..c44f4de 100755 --- a/lib/dfatool.py +++ b/lib/dfatool.py @@ -523,7 +523,7 @@ class ParamStats: class TimingData: """ - Loader for timing model traces measured with on-board timers. + Loader for timing model traces measured with on-board timers using ``harness.OnboardTimerHarness``. Excpets a specific trace format and UART log output (as produced by generate-dfa-benchmark.py). Prunes states from output. (TODO) diff --git a/lib/utils.py b/lib/utils.py index effbd46..f31aa8e 100644 --- a/lib/utils.py +++ b/lib/utils.py @@ -195,11 +195,15 @@ def _corr_by_param(by_name, state_or_trans, attribute, param_index): param_values = np.array(list((map(lambda x: x[param_index], by_name[state_or_trans]['param'])))) try: return np.corrcoef(by_name[state_or_trans][attribute], param_values)[0, 1] - except FloatingPointError as fpe: + except FloatingPointError: # Typically happens when all parameter values are identical. # Building a correlation coefficient is pointless in this case # -> assume no correlation return 0. + except ValueError: + print('[!] Exception in _corr_by_param(by_name, state_or_trans={}, attribute={}, param_index={})'.format(state_or_trans, attribute, param_index)) + print('[!] while executing np.corrcoef(by_name[{}][{}]={}, {}))'.format(state_or_trans, attribute, by_name[state_or_trans][attribute], param_values)) + raise else: return 0. -- cgit v1.2.3