-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Optuna GSoC 2021
Optuna is an open source hyperparameter optimization framework to automate hyperparameter search. Optuna provides eager search spaces for automated search for optimal hyperparameters using Python conditionals, loops, and syntax, state-of-the-art algorithms to efficiently search large spaces and prune unpromising trials for faster results, and easy parallelization for hyperparameter searches over multiple threads or processes without modifying code.
Optuna is participating in GSoC 2021 as a member of NumFOCUS.
For coding on Optuna, a solid basis in Python coding will be required. Experience working with Git and github.com will also be useful. If you're interested in applying, we recommend you take a look at the Optuna github repository and try your hand at some of the Contribution Welcome labelled issues. We will evaluate applications largely based on your contributions to Optuna and other open source projects.
To contact us, please email us at optuna@preferred.jp
There is a lot of room for improvements in terms of UI or testing.
- Increase multi-objective study support to keep the dashboard up to date with the latest Optuna abilities
- Add unit tests or integration tests (with puppeteer/headless chrome) for the React.js application
- Find graph layout issues and fix them (e.g. pass long hyperparameter names like 20 or more characters))
@c-bata
Medium
You need to know:
- Web API development with Python and Bottle framework
- Modern JavaScript (TypeScript, React.js, React-router, Recoil)
Check contribution-welcome
GitHub issues after reading the source code of React.js application.
Realtime Web Dashboard helps users to understand an optimization progress and the relationships between hyper-parameters with a slight effort. Implementing web features is an important skill that can transfer to many other projects. Build relationships with coders in a top tier startup in Japan.
There are several areas in the standard operation of Optuna as a open source project that could be improved. For example:
- Add performance checks into the Continuous Integration (CI) scripts using kurobako to make sure new code doesn't slow down Optuna
-
pip
specifications are going to be changed from giving warnings about version inconsistencies to causing errors, which could impact Optuna in many places. Review the packages Optuna relies on to remove version inconsistency problems. - Make an automated check to see when the pypi version for the Optuna dependencies are updated. When updated, install the new version as an example, and run an integration test. If that is successful, create a PR for to update that new version in future Optuna tests.
@Crissman
Medium
You need know:
- Python
- Familiarity with CI, github actions, and testing
- Open Source projects
Review the existing tests and scripts for Optuna CI in .circleci/config.yml. Review the operation of CircleCI, kurobako or github actions, depending on your interests.
Smoothly running testing and integration with other sources helps for integrating new code rapidly and smoothly. Development operations is critical for the smooth running of large open source projects, and the skills you can learn in improving the operations of Optuna will be applicable to many other projects. Build relationships with coders in a top tier startup in Japan.