From f48d9d5a912cb336d3de4398d2a46560ee35be00 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Sun, 17 Mar 2024 15:01:50 +0200 Subject: [PATCH] Fix HPO crashes when optimizing for single value scalars (#1221) --- clearml/automation/optimization.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/clearml/automation/optimization.py b/clearml/automation/optimization.py index 08fa2c7c..dea2e250 100644 --- a/clearml/automation/optimization.py +++ b/clearml/automation/optimization.py @@ -2034,7 +2034,10 @@ class HyperParameterOptimizer(object): if job_id in completed_jobs: if value != completed_jobs[job_id][0]: iteration_value = self._objective_metric.get_current_raw_objective(job_id) - iteration = [it_[0] if it_ else -1 for it_ in iteration_value] + if iteration_value: + iteration = [it_[0] if it_ else -1 for it_ in iteration_value] + else: + iteration = [-1] completed_jobs[job_id] = ( value, iteration, @@ -2049,7 +2052,10 @@ class HyperParameterOptimizer(object): pairs.append((i, value)) labels.append(str(params)[1:-1]) iteration_value = self._objective_metric.get_current_raw_objective(job_id) - iteration = [it_[0] if it_ else -1 for it_ in iteration_value] + if iteration_value: + iteration = [it_[0] if it_ else -1 for it_ in iteration_value] + else: + iteration = [-1] completed_jobs[job_id] = ( value, iteration,