-
Notifications
You must be signed in to change notification settings - Fork 660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HyperParameterOptimizer fails because bask task hyper parameters types are not copied over #975
Comments
Any update on this, or did you manage to find a less invasive workaround by any chance @reiffd7 ? |
Hello @reiffd7 and @phineasng, sorry for taking such long time. I believe we solved this issue (wrong casting of configuration values) in more recent ClearML versions. Try to install the latest version, which is 1.11.0, and please let us know whether it solves the bug |
Hi @AlexandruBurlacu , seems that in recent version this problem still exists. I created a new issue #1238 for this several days ago and today just found this issue is exactly what I have. |
Hi @wxdrizzle @reiffd7 ! We have prepared a fix for this issue and we will soon release it. |
Happy to know this. Thank you! I'll update once I can try the new release. |
Hi @reiffd7 @phineasng @wxdrizzle ! We have released an RC (and we will soon release an official version) that addresses this issue. Can you please try it out? To install it, do |
Hi @eugen-ajechiloae-clearml , I tried this and confirm that in my case it solved the problem perfectly. I'll close my issue. Thank you so much!!! |
Describe the bug
When I run HyperParameterOptimizer from clearml.automation, each child "experiment" task fails because the hyper parameter types are not copied over correctly. Each type for the hyper parameters is converted to strings.
base task:
GENERAL
optimization task:
GENERAL
To reproduce
Just followed the tutorial @ https://github.com/allegroai/clearml/blob/master/examples/optimization/hyper-parameter-optimization/hyper_parameter_optimizer.py
but replaced the base task id with one of my tasks.
Expected behaviour
I would expect the correct hyper parameter types to copy over from the base task to the hyper parameter search child task. I know that task.get_parameters() has a cast parameter that can be used to retrieve the correct types, but this does not seem to be an option when conducting a hyper parameter search. I was able to fix the issue locally by editing clearml/automation/job.py.
In line 410:
hyper_params = task.get_parameters(cast=True) if params_override is None else params_override
In line 541:
task_params = base_temp_task.get_parameters(cast=True, backwards_compatibility=False)
But, I would like to be able to pass cast=True to the HyperParameterOptimizer method.
Environment
The text was updated successfully, but these errors were encountered: