Skip to content

Instantly share code, notes, and snippets.

@thepycoder
Created February 28, 2022 14:16
Show Gist options
  • Save thepycoder/b64a4e9bf35c4d146f775d026ae609ba to your computer and use it in GitHub Desktop.
Save thepycoder/b64a4e9bf35c4d146f775d026ae609ba to your computer and use it in GitHub Desktop.
from clearml.automation import UniformParameterRange, UniformIntegerParameterRange, DiscreteParameterRange
from clearml.automation import HyperParameterOptimizer
from clearml.automation import GridSearch
from clearml import Task
task = Task.init(project_name='HPO Code',
task_name='basic dict optimizer',
task_type=Task.TaskTypes.optimizer,
reuse_last_task_id=False)
optimizer = HyperParameterOptimizer(
# specifying the task to be optimized, task must be in system already so it can be cloned
base_task_id='7b2a17a528594c7a93861e77eb056f89',
# setting the hyper-parameters to optimize
hyper_parameters=[
UniformIntegerParameterRange('General/epochs', min_value=2, max_value=12, step_size=5),
UniformParameterRange('General/lr', min_value=0.0001, max_value=0.01, step_size=0.002),
DiscreteParameterRange('General/comments', ['Wow', 'Such Optimization', 'Very Hyper'])
],
# setting the objective metric we want to maximize/minimize
objective_metric_title='Optimization Metric',
objective_metric_series='model_output',
objective_metric_sign='max',
# setting optimizer
optimizer_class=GridSearch,
# configuring optimization parameters
execution_queue='default',
max_number_of_concurrent_tasks=10,
optimization_time_limit=60.,
compute_time_limit=120,
total_max_jobs=20,
min_iteration_per_job=0,
max_iteration_per_job=150000,
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment