From d52e14e225ab783d7c211590718dd60cbfcad703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Schm=C3=B6lder?= Date: Mon, 26 Jun 2023 17:47:47 +0200 Subject: [PATCH] Add current_iteration option to callback args --- CADETProcess/optimization/optimizationProblem.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CADETProcess/optimization/optimizationProblem.py b/CADETProcess/optimization/optimizationProblem.py index d2168206b..3cc68e346 100644 --- a/CADETProcess/optimization/optimizationProblem.py +++ b/CADETProcess/optimization/optimizationProblem.py @@ -1536,6 +1536,7 @@ def evaluate_callbacks(self, ind, current_iteration=1, force=False): continue callback._ind = ind + callback._current_iteration = current_iteration try: self._evaluate(x, callback, force) @@ -3050,7 +3051,9 @@ class Callback(metaclass=StructMeta): Callable must implement function with the following signature: results : obj x or final result of evaluation toolchain. - individual : Individual, optional + _current_iteration: int + Current iteration. + _individual : Individual, optional Information about current step of optimzer. evaluation_object : obj, optional Current evaluation object. @@ -3129,6 +3132,8 @@ def __call__(self, request, evaluation_object): kwargs = self.kwargs signature = inspect.signature(self.callback).parameters + if 'current_iteration' in signature: + kwargs['current_iteration'] = self._current_iteration if 'individual' in signature: kwargs['individual'] = self._ind if 'evaluation_object' in signature: