← 开源
optuna

optuna-examples

Examples for https://github.com/optuna/optuna

TutorialsTool-specific tutorialsPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
863
Star
201
Fork
+0
本周
80
贡献者
创建于 2021-05-10 · 更新于 2026-10-04 · 今日第 12836 名
主要开发者
README

Optuna Examples

This page contains a list of example codes written with Optuna.

Simplest Codeblock

import optuna


def objective(trial):
    x = trial.suggest_float("x", -100, 100)
    return x ** 2


if __name__ == "__main__":
    study = optuna.create_study()
    # The optimization finishes after evaluating 1000 times or 3 seconds.
    study.optimize(objective, n_trials=1000, timeout=3)
    print(f"Best params is {study.best_params} with value {study.best_value}")

[!NOTE] If you are interested in a quick start of Optuna Dashboard with in-memory storage, please take a look at this example.

[!TIP] Couldn't find your usecase? FAQ might be helpful for you to implement what you want. In this example repository, you can also find the examples for the following scenarios:

  1. Objective function with additional arguments, which is useful when you would like to pass arguments besides trial to your objective function.

  2. Manually provide trials with sampler, which is useful when you would like to force certain parameters to be sampled.

  3. Callback to control the termination criterion of study, which is useful when you would like to define your own termination criterion other than n_trials or timeout.

Examples for Diverse Problem Setups

Here are the URLs to the example codeblocks to the corresponding setups.

Simple Black-box Optimization

Multi-Objective Optimization

Machine Learning (Incl. LightGBMTuner and OptunaSearchCV)

If you are looking for an example of reinforcement learning, please take a look at the following:

Pruning

The following example demonstrates how to implement pruning logic with Optuna.

In addition, integration modules are available for the following libraries, providing simpler interfaces to utilize pruning.

Samplers

If you are interested in defining a user-defined sampler, here is an example:

Terminator

Visualization

Distributed Optimization

MLOps Platform

External Projects Using Optuna

Running with Optuna's Docker images?

Our Docker images for most examples are available with the tag ending with -dev. For example, PyTorch Simple can be run via:

$ docker run --rm -v $(pwd):/prj -w /prj optuna/optuna:py3.11-dev python pytorch/pytorch_simple.py

Additionally, our visualization example can also be run on Jupyter Notebook by opening localhost:8888 in your browser after executing the following:

$ docker run -p 8888:8888 --rm optuna/optuna:py3.11-dev jupyter notebook --allow-root --no-browser --port 8888 --ip 0.0.0.0 --NotebookApp.token='' --NotebookApp.password=''