Manual Random Parameter Search
The manual_random_param_search_example.py script demonstrates a random parameter search by automating the execution of a task multiple times, each time with a different set of random hyperparameters.
This example accomplishes the automated random parameter search by doing the following:
- Creating a template Task named
Keras HP optimization base. To create it, run the base_template_keras_simple.py script. This task must be executed first, so it will be stored in the server, and then it can be accessed, cloned, and modified by another Task. - Creating a parameter dictionary, which is connected to the Task by calling
Task.connect()so that the parameters are logged by ClearML. - Adding the random search hyperparameters and parameters defining the search (e.g., the task name, and number of times to run the task).
- Creating a Task object referencing the template task,
Keras HP optimization base. SeeTask.get_task. - For each set of parameters:
- Cloning the Task object. See
Task.clone. - Getting the newly cloned Task's parameters. See
Task.get_parameters. - Setting the newly cloned Task's parameters to the search values in the parameter dictionary (Step 1). See
Task.set_parameters. - Enqueuing the newly cloned Task to execute. See
Task.enqueue.
- Cloning the Task object. See
When the example script runs, it creates a task named Random Hyper-Parameter Search Example in
the examples project. This starts the parameter search, and creates the tasks:
Keras HP optimization base 0Keras HP optimization base 1Keras HP optimization base 2.
When these tasks are completed, their results can be compared.
