Papers › Optuna: A Next-generation Hyperparameter Optimization Framework

Optuna: A Next-generation Hyperparameter Optimization Framework

25 Jul 2019arXiv:1907.10902archive 2025-07-28

Takuya Akiba, Shotaro Sano, Toshihiko Yanase, Takeru Ohta, Masanori Koyama

The purpose of this study is to introduce new design-criteria for next-generation hyperparameter optimization software. The criteria we propose include (1) define-by-run API that allows users to construct the parameter search space dynamically, (2) efficient implementation of both searching and pruning strategies, and (3) easy-to-setup, versatile architecture that can be deployed for various purposes, ranging from scalable distributed computing to light-weight experiment conducted via interactive interface. In order to prove our point, we will introduce Optuna, an optimization software which is a culmination of our effort in the development of a next generation optimization software. As an optimization software designed with define-by-run principle, Optuna is particularly the first of its kind. We will present the design-techniques that became necessary in the development of the software that meets the above criteria, and demonstrate the power of our new design through experimental results and real world applications. Our software is available under the MIT license (https://github.com/pfnet/optuna/).

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1907.10902")

Code

Syntology Ran 0 of 20 code samples harvested from 6 repositories linked to this paper; 20 have no recorded run.

By repository: community (archive-listed): 20 samples from 6 repositories, 0 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

pfnet/optuna officialmentioned in papermentioned on GitHubtfMIT report
Automunge/AutoMunge mentioned on GitHubtfBSD-3-Clause report
crcrpar/benchmark-runner-ci mentioned on GitHubpytorchMIT report
crcrpar/ci-example-execution mentioned on GitHubtfMIT report
crcrpar/optuna-mirror mentioned on GitHubpytorchMIT report
himkt/optuna-test-rtds mentioned on GitHubpytorchMIT report
optuna/optuna mentioned on GitHubtfMIT report
optuna/optuna-integration mentioned on GitHubpytorchMIT report
rickyHong/optuna-repl mentioned on GitHubMIT report
yqian4/optuna mentioned on GitHubtfMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

20 samples harvested; 0 ran; 0 honoured the contract we drafted; 20 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

20unverified

Licence: 0 of the 20 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 6 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

deprecated crcrpar/benchmark-runner-ci/optuna/_deprecated.py community (archive-listed) unverified MIT (permissive) · e0f487fc31fe6108 · report
deprecated himkt/optuna-test-rtds/optuna/_deprecated.py community (archive-listed) unverified MIT (permissive) · a4522433f0feab75 · report
deprecated_class optuna/optuna/optuna/_deprecated.py community (archive-listed) unverified MIT (permissive) · 60cf3f75bd76f271 · report
deprecated_func optuna/optuna/optuna/_deprecated.py community (archive-listed) unverified MIT (permissive) · 68cb51930216821b · report
distribution_to_json optuna/optuna/optuna/distributions.py community (archive-listed) unverified MIT (permissive) · 300c3cdb36c77934 · report
distribution_to_json crcrpar/benchmark-runner-ci/optuna/distributions.py community (archive-listed) unverified MIT (permissive) · 66869b51e32b5239 · report
distribution_to_json rickyHong/optuna-repl/optuna/distributions.py community (archive-listed) unverified MIT (permissive) · fb81f851b70620a5 · report
experimental crcrpar/benchmark-runner-ci/optuna/_experimental.py community (archive-listed) unverified MIT (permissive) · dd56e0858ebc9987 · report
experimental yqian4/optuna/optuna/_experimental.py community (archive-listed) unverified MIT (permissive) · e50db8e806388c8f · report
get_all_study_summaries rickyHong/optuna-repl/optuna/study.py community (archive-listed) unverified MIT (permissive) · e8026cbbd4877929 · report
get_all_study_summaries yqian4/optuna/optuna/study.py community (archive-listed) unverified MIT (permissive) · 27ed2fee554587a5 · report
get_logger optuna/optuna/optuna/logging.py community (archive-listed) unverified MIT (permissive) · 532d732793640190 · report
get_logger crcrpar/benchmark-runner-ci/optuna/logging.py community (archive-listed) unverified MIT (permissive) · 81f35f190d0b3aff · report
get_logger rickyHong/optuna-repl/optuna/logging.py community (archive-listed) unverified MIT (permissive) · 16d3274a2492ce12 · report
get_logger yqian4/optuna/optuna/logging.py community (archive-listed) unverified MIT (permissive) · 2949bcda1225868b · report
json_to_distribution crcrpar/benchmark-runner-ci/optuna/distributions.py community (archive-listed) unverified MIT (permissive) · b62334a22f7ed6be · report
json_to_distribution crcrpar/ci-example-execution/optuna/distributions.py community (archive-listed) unverified MIT (permissive) · 6ce00ad175b2cf6c · report
json_to_distribution himkt/optuna-test-rtds/optuna/distributions.py community (archive-listed) unverified MIT (permissive) · 229382f84fdfc44b · report
json_to_distribution rickyHong/optuna-repl/optuna/distributions.py community (archive-listed) unverified MIT (permissive) · 79f8dae8e1591e73 · report
json_to_distribution yqian4/optuna/optuna/distributions.py community (archive-listed) unverified MIT (permissive) · 8b51061ba35119e6 · report

Tasks

Distributed ComputingHyperparameter Optimization

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

Pruning

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections