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

Support for python 3.7 #18

Closed
bouthilx opened this issue Jun 30, 2022 · 7 comments
Closed

Support for python 3.7 #18

bouthilx opened this issue Jun 30, 2022 · 7 comments

Comments

@bouthilx
Copy link

Hello!

Is there any issue with current implementation to support python 3.7? DEHB used to work with Oríon using 3.7 until last weekend. For some reason pip was not enforcing the dependency on '>=3.8' since February and started doing so previous weekend. Would it be possible to change the python dependency to '>=3.7' or some changes would be required to DEHB's code?

Thank you!

@eddiebergman
Copy link
Contributor

Hi @bouthilx,

I'm not sure for the exact reason that DEHB doesn't support python 3.7 but you should upgrade in the near future. Numpy, scipy, scikit-learn and the general python machine learning stack has started dropping support for 3.7.

Best,
Eddie

@bouthilx
Copy link
Author

bouthilx commented Jul 1, 2022

Hi @eddiebergman,

We do support 3.8 and 3.9 (ref) as well but hoped we could support 3.7 a little further. I just saw that numpy dropped support for 3.7, did not know that many other libraries too. That's a compelling argument. 😅 By the way, this request was not for a specific user (me) but rather for our integration of DEHB in the library Oríon.

Thanks!
Xavier

@eddiebergman
Copy link
Contributor

Oh if that's the case then I would basically advocate to drop python 3.7 and encourage users to upgrade, it reaches end of life next year while numpy already reached there.

@Neeratyoy
Copy link
Collaborator

Hello @bouthilx

Would it be possible to change the python dependency to '>=3.7' or some changes would be required to DEHB's code?

As you can see we don't have test cases to handle this case explicitly and the python version check quite likely comes from the base python DEHB was developed on (and therefore tested). I am not sure if anything will break. The single-worker DEHB version should run fine actually. However, the distributed Dask setting might throw issues owing to dependency checks with Dask.

Do you think there's a way to address this without necessarily pushing a new pip version with a downgraded python dependency? Could Orion work off a branch which I could create with the min dependency set to 3.7?

@bouthilx
Copy link
Author

bouthilx commented Jul 5, 2022

Thank you both for your help. I verified ubuntu's default python version as a reference and 3.8 is supported since 20.04, which includes 2 LTS versions (20.04 and 22.04). This sounds reasonable as a base version. We are having issues supporting 3.10 but that is not related to DEHB (weird conda packaging issue: Epistimio/orion#690). Supporting 3.8 and 3.9 only feels a bit constraining.

I created a fork of DEHB for now with support for 3.7 (https://github.com/bouthilx/DEHB) but that's far from ideal. We'll point back to main DEHB repo as soon as we drop support for 3.7.

Do you have plans to upload DEHB on PyPI?

@Neeratyoy
Copy link
Collaborator

Do you have plans to upload DEHB on PyPI?

We recently did that! :D

I created a fork of DEHB for now with support for 3.7

That does look like the best workaround for now. Once 3.7 support is dropped for Orion, DEHB should be a standard dependency that can pip be installed I hope! In that case, I think it is okay to close the issue for now?

A side note, thanks for including this in Orion! In case you have some DEHB user statistics or any example benchmarking DEHB on Orion and can share them with us, that'd be great! Of course, no compulsion and this request is purely out of curiosity. :)

@bouthilx
Copy link
Author

bouthilx commented Jul 7, 2022

We recently did that! :D

Awesome, I didn't know!

That does look like the best workaround for now. Once 3.7 support is dropped for Orion, DEHB should be a standard dependency that can pip be installed I hope! In that case, I think it is okay to close the issue for now?

Yes, we can close this issue. The only work to do is on our side.

A side note, thanks for including this in Orion! In case you have some DEHB user statistics or any example benchmarking DEHB on Orion and can share them with us, that'd be great! Of course, no compulsion and this request is purely out of curiosity. :)

We don't collect statistics as of now but will likely start doing so in the near future. Happy to share! We also have an integration with BOHB (from HpBandster). I recently noticed it is not maintained anymore unfortunately. I see there is interested work being done on SMAC3 that would make it easier to integrate it with Oríon, which could be used instead of HpBandster for BOHB: automl/SMAC3#859. Looking forward to making them work together too. :)

We are looking into HPOBench to benchmark our algorithms and wrappers (including DEHB). Happy to share results when we have our benchmark integration ready. :)

@bouthilx bouthilx closed this as completed Jul 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants