X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Fexecution%2Frunner.py;h=60e75a4ff8a5eecdf1208739d59f9500c58377be;hb=a3e02ea08e65fabe6104d4ba30ee635c42ebd4d1;hp=6757d7b5a6827578f78d6a784863870617901365;hpb=6c439bea6cf4d6af7512fc746dca75118bf39d39;p=nepi.git diff --git a/src/nepi/execution/runner.py b/src/nepi/execution/runner.py index 6757d7b5..60e75a4f 100644 --- a/src/nepi/execution/runner.py +++ b/src/nepi/execution/runner.py @@ -64,7 +64,7 @@ class ExperimentRunner(object): :param compute_metric_callback: function to invoke after each experiment run, to compute an experiment metric. It will be invoked with the ec and the run count as arguments, - and it must return the value of the computed metric: + and it must return a numeric value for the computed metric: metric = compute_metric_callback(ec, run) @@ -119,11 +119,12 @@ class ExperimentRunner(object): if compute_metric_callback: metric = compute_metric_callback(ec, run) - samples.append(metric) + if metric is not None: + samples.append(metric) - if run >= min_runs and evaluate_convergence_callback: - if evaluate_convergence_callback(ec, run, samples): - break + if run >= min_runs and evaluate_convergence_callback: + if evaluate_convergence_callback(ec, run, samples): + break del ec return run @@ -132,7 +133,7 @@ class ExperimentRunner(object): if len(samples) == 0: msg = "0 samples collected" raise RuntimeError, msg - + x = numpy.array(samples) n = len(samples) std = x.std()