How to handle the discontinuation of `scikit-optimize`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 279
- Forks
- 177
- PR merge metrics
- No merged PRs in 30d
Description
scikit-optimize, which we use in the PtychographyOptimizer, is now discontinued. There have been no releases in quite some time, and now the repo is archived. While it is still available and not causing problems at the moment, I would anticipate this to cause problems down the line, so we should come up with a plan for handling this.
Some options I think are worth considering:
- Switch GP optimization to use gp-cam. gp-cam is very full featured and probably more performant than scikit-optimize (and a Berkeley Lab project!), but it will take some work to reproduce the convenient interface and plotting that we currently get from scikit-optimize.
- If the license permits, pull the necessary scikit-opt components directly into py4DSTEM and maintain them here.
- Switch to another hyperparameter tuning library, such as Optuna or Hyperopt
- Do nothing and hope for the best? 😅
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the PtychographyOptimizer and its current scikit-optimize usage. Compare the proposed gp-cam, vendoring, Optuna, and Hyperopt paths, including how the current interface and plotting are used. Done means selecting and documenting a maintenance or replacement plan with a defined migration scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100