From 14e38e8a463e569644786dda2071716f621e4cdc Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Sun, 10 Jan 2021 13:03:17 +0200 Subject: [PATCH] Make HPO example more readable --- .../hyper_parameter_optimizer.py | 34 ++++++++----------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/examples/optimization/hyper-parameter-optimization/hyper_parameter_optimizer.py b/examples/optimization/hyper-parameter-optimization/hyper_parameter_optimizer.py index 84ae1acd..744962c2 100644 --- a/examples/optimization/hyper-parameter-optimization/hyper_parameter_optimizer.py +++ b/examples/optimization/hyper-parameter-optimization/hyper_parameter_optimizer.py @@ -5,27 +5,19 @@ from clearml.automation import ( DiscreteParameterRange, HyperParameterOptimizer, RandomSearch, UniformIntegerParameterRange) -aSearchStrategy = None - -if not aSearchStrategy: +# trying to load Bayesian optimizer package +try: + from clearml.automation.optuna import OptimizerOptuna # noqa + aSearchStrategy = OptimizerOptuna +except ImportError as ex: try: - from clearml.automation.optuna import OptimizerOptuna - aSearchStrategy = OptimizerOptuna - except ImportError as ex: - pass - -if not aSearchStrategy: - try: - from clearml.automation.hpbandster import OptimizerBOHB + from clearml.automation.hpbandster import OptimizerBOHB # noqa aSearchStrategy = OptimizerBOHB except ImportError as ex: - pass - -if not aSearchStrategy: - logging.getLogger().warning( - 'Apologies, it seems you do not have \'optuna\' or \'hpbandster\' installed, ' - 'we will be using RandomSearch strategy instead') - aSearchStrategy = RandomSearch + logging.getLogger().warning( + 'Apologies, it seems you do not have \'optuna\' or \'hpbandster\' installed, ' + 'we will be using RandomSearch strategy instead') + aSearchStrategy = RandomSearch def job_complete_callback( @@ -59,6 +51,10 @@ if not args['template_task_id']: args['template_task_id'] = Task.get_task( project_name='examples', task_name='Keras HP optimization base').id +# Set default queue name for the Training tasks themselves. +# later can be overridden in the UI +execution_queue = '1xGPU' + # Example use case: an_optimizer = HyperParameterOptimizer( # This is the experiment we want to optimize @@ -89,7 +85,7 @@ an_optimizer = HyperParameterOptimizer( # more are coming soon... optimizer_class=aSearchStrategy, # Select an execution queue to schedule the experiments for execution - execution_queue='1xGPU', + execution_queue=execution_queue, # Optional: Limit the execution time of a single experiment, in minutes. # (this is optional, and if using OptimizerBOHB, it is ignored) time_limit_per_job=10.,