Skip to content
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

None values passed as strings when tuning YOlO8 model hyper-parameters #1175

Open
yashtiwari96 opened this issue Dec 19, 2023 · 4 comments
Open
Labels
bug Something isn't working

Comments

@yashtiwari96
Copy link

Describe the bug

A clear and concise description of what the bug is.
I have trained a simple ultralytics yolov8 model using coco128 model. I am trying to tune this hyper parameters using the script provided by clearml. Some of these hyper-parameters are None values and they need to stay like that. However, clearml is injecting this as string type "None" which is causing type error.
image
image

To reproduce

Exact steps to reproduce the bug. Provide example code if possible.
image

Expected behaviour

What is the expected behaviour? What should've happened but didn't?
The automated tuning process should pas None as None but not as a string type

Environment

  • Server type (self hosted \ app.clear.ml)
  • ClearML SDK Version
  • ClearML Server Version (Only for self hosted). Can be found on the bottom right corner of the settings screen.
  • Python Version
  • OS (Windows \ Linux \ Macos)

Related Discussion

If this continues a slack thread, please provide a link to the original slack thread.

@yashtiwari96 yashtiwari96 added the bug Something isn't working label Dec 19, 2023
@eugen-ajechiloae-clearml
Copy link
Collaborator

Hi @yashtiwari96 ! What clearml version are you using? Also, how exactly did you obtain the base task? Could you also screenshot the configuration section of the base task and hover over the type of line_width?

@yashtiwari96
Copy link
Author

yashtiwari96 commented Dec 20, 2023

image
I have updated my clearml server yesterday to check if the issue was resolved but there is its still the same. From my understanding the problem is in loading parameters when tuning the model. the None values are converted to empty strings '' which is causing this issue.
I have verified this by cloning a task and fetching the parameters by using cloned_task.get_parameters() function. On converting the empty string to None my program is working fine. However, running a manual hyper-parameter search has a lot of disadvantages and I am not able to utilize the auto hyper-parameter optimization features

@eugen-ajechiloae-clearml
Copy link
Collaborator

@yashtiwari96 Note that task.get_parameters will cast all parameters to string automatically. If you wish to cast them to the right type, use cast=True: task.get_parameters(cast=True)

@yashtiwari96
Copy link
Author

yashtiwari96 commented Dec 20, 2023

I am using the hyperparameter optimization from clearml.automation where it automatically creates tasks and fetches parameters from the base task id provided. Thus, I can’t make this change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants