GitHub

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}")

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=''

Read the original on github.com ↗