# optuna/optuna

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/optuna-optuna).**

13,545 stars · 1,246 forks · Python · mit

## Links

- GitHub: https://github.com/optuna/optuna
- Homepage: https://optuna.org
- awesome-repositories: https://awesome-repositories.com/repository/optuna-optuna.md

## Topics

`distributed` `hyperparameter-optimization` `machine-learning` `parallel` `python`

## Description

Optuna is a Python-based hyperparameter optimization framework designed to automate the search for optimal machine learning model configurations. It functions as a Bayesian optimization library that systematically tests parameter combinations to maximize or minimize objective functions, streamlining the model development process through iterative evaluation.

The project distinguishes itself through a define-by-run dynamic construction model, which allows users to build complex, conditional search spaces using standard programming logic. Its architecture is highly modular, featuring a pluggable sampling system that supports interchangeable search strategies and an asynchronous pruning mechanism that monitors intermediate results to terminate underperforming trials early, thereby conserving computational resources.

Beyond its core optimization capabilities, the framework provides extensive support for distributed execution, allowing users to scale parameter searches across multiple processes or networked machines using shared storage backends. It includes comprehensive tools for managing optimization lifecycles, performing multi-objective tuning, and analyzing parameter importance to identify the most influential variables in a model.

The library is available for installation via standard package managers and provides a suite of visualization and logging utilities to monitor study progress and evaluate results.

## Tags

### Artificial Intelligence & ML

- [Hyperparameter Optimization](https://awesome-repositories.com/f/artificial-intelligence-ml/model-optimization/training-efficiency/hyperparameter-optimization.md) — Provides a Python library for automating the search for optimal machine learning model parameters using dynamic search spaces. ([source](https://optuna.readthedocs.io/en/stable/reference/integration.html))
- [Bayesian Optimization Libraries](https://awesome-repositories.com/f/artificial-intelligence-ml/bayesian-optimization-libraries.md) — Employs advanced Bayesian sampling algorithms to navigate complex parameter landscapes and identify the most effective model settings.
- [Automated Machine Learning Tools](https://awesome-repositories.com/f/artificial-intelligence-ml/automated-machine-learning-tools.md) — Streamlines model development by iteratively testing parameter combinations and refining configurations based on performance metrics.
- [Search Pruning](https://awesome-repositories.com/f/artificial-intelligence-ml/model-optimization/compression-techniques/model-pruning/search-pruning.md) — Provides automated early termination of underperforming trials to save computational resources during hyperparameter search.
- [Optimization Visualizers](https://awesome-repositories.com/f/artificial-intelligence-ml/performance-visualization/optimization-visualizers.md) — Generates interactive charts to visualize optimization results and parameter relationships. ([source](https://cdn.jsdelivr.net/gh/optuna/optuna@master/README.md))
- [Distributed Training Optimizers](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-training-optimizers.md) — Scales hyperparameter tuning across multiple processes or machines to accelerate the discovery of high-performing model architectures.
- [Dynamic Search Space Construction](https://awesome-repositories.com/f/artificial-intelligence-ml/dynamic-search-space-construction.md) — Allows building complex, conditional search spaces imperatively using standard programming logic during execution.
- [Early Stopping Monitors](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/training-monitoring-and-profiling/training-observability-systems/training-monitoring-tools/training-safety-monitors/early-stopping-monitors.md) — Stops underperforming training runs early using automated pruning algorithms to save computational resources. ([source](https://optuna.readthedocs.io/en/stable/reference/pruners.html))
- [Parameter Sampling](https://awesome-repositories.com/f/artificial-intelligence-ml/model-parameters/parameter-sampling.md) — Suggests categorical, integer, or floating point values for model parameters, supporting logarithmic scaling and discretization. ([source](https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/002_configurations.html))
- [Search Space Definition](https://awesome-repositories.com/f/artificial-intelligence-ml/search-space-definition.md) — Specifies ranges and types for model parameters using standard programming constructs to build complex optimization configurations. ([source](https://optuna.readthedocs.io/en/stable/reference/distributions.html))
- [Training Callbacks](https://awesome-repositories.com/f/artificial-intelligence-ml/training-callbacks.md) — Provides hooks into training loops to monitor progress and trigger early termination of underperforming trials. ([source](https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/003_efficient_optimization_algorithms.html))
- [Hyperparameter Suggestions](https://awesome-repositories.com/f/artificial-intelligence-ml/hyperparameter-optimizers/hyperparameter-suggestions.md) — Provides an interface within an objective function to request parameter values for evaluation during optimization. ([source](https://optuna.readthedocs.io/en/stable/reference/trial.html))
- [Hyperparameter Study Management](https://awesome-repositories.com/f/artificial-intelligence-ml/hyperparameter-study-management.md) — Organizes and manages collections of trials to track the progress and history of hyperparameter search tasks. ([source](https://optuna.readthedocs.io/en/stable/reference/cli.html))
- [Training Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/distributed-and-scaling-strategies/training-integrations.md) — Connects to external model training workflows to systematically test different configurations. ([source](https://cdn.jsdelivr.net/gh/optuna/optuna@master/README.md))
- [Multi-Objective Tuning](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/fine-tuning-and-customization/model-fine-tuning/multi-objective-tuning.md) — Enables finding optimal parameter sets that balance multiple competing performance metrics simultaneously during the training process.
- [Sampling Strategies](https://awesome-repositories.com/f/artificial-intelligence-ml/sampling-strategies.md) — Applies various algorithms to determine the next set of hyperparameters to test, including Bayesian and evolutionary methods. ([source](https://optuna.readthedocs.io/en/stable/reference/samplers/index.html))
- [Optimization Benchmarkers](https://awesome-repositories.com/f/artificial-intelligence-ml/benchmarks/optimization-benchmarkers.md) — Constructs standardized tasks to measure optimization algorithm performance. ([source](https://optuna.github.io/optunahub/tutorials_for_contributors.html))
- [Distributed Training](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-training-frameworks/distributed-training.md) — Supports scaling hyperparameter search across multiple processes and networked machines to accelerate model configuration discovery.
- [Optimization Lifecycle Management](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/distributed-and-scaling-strategies/training-integrations/optimization-lifecycle-management.md) — Tracks performance metrics and controls the tuning process by connecting directly to training workflows. ([source](https://optuna.readthedocs.io/en/stable/py-modindex.html))
- [Optimization Objective Configuration](https://awesome-repositories.com/f/artificial-intelligence-ml/optimizer-configurations/optimization-objective-configuration.md) — Defines the direction of a search task and sets constraints such as maximum trial counts to control parameter tuning. ([source](https://optuna.readthedocs.io/en/stable/reference/study.html))
- [Automated Sampler Selection](https://awesome-repositories.com/f/artificial-intelligence-ml/optimizer-selection-guides/automated-sampler-selection.md) — Chooses the most appropriate optimization algorithm based on the search space and objective requirements. ([source](https://optuna.readthedocs.io/en/stable/reference/samplers/index.html))

### Data & Databases

- [Hyperparameter](https://awesome-repositories.com/f/data-databases/data-pipelines/data-quality-monitors/impact-analyzers/hyperparameter.md) — Identifies influential variables to focus future optimization efforts. ([source](https://optuna.readthedocs.io/en/stable/reference/index.html))
- [Distributed State Persistence](https://awesome-repositories.com/f/data-databases/distributed-state-persistence.md) — Maintains study results and trial history across distributed environments and sessions. ([source](https://optuna.readthedocs.io/en/stable/py-modindex.html))
- [Optimization History Stores](https://awesome-repositories.com/f/data-databases/persistent-storage-backends/optimization-history-stores.md) — Stores study and trial data in relational databases or files to maintain state. ([source](https://optuna.readthedocs.io/en/stable/reference/storages.html))
- [Optimization State Persistence](https://awesome-repositories.com/f/data-databases/relational-database-persistence/optimization-state-persistence.md) — Stores trial history and study metadata in external databases to enable distributed execution and cross-session persistence.
- [Trial Pruning](https://awesome-repositories.com/f/data-databases/state-pruning/trial-pruning.md) — Interrupts trial execution when intermediate results indicate poor performance, allowing the system to reclaim resources. ([source](https://optuna.readthedocs.io/en/stable/reference/exceptions.html))
- [Relational Database Persistence](https://awesome-repositories.com/f/data-databases/relational-database-persistence.md) — Persists optimization studies using relational databases to ensure continuity. ([source](https://optuna.readthedocs.io/en/stable/tutorial/index.html))
- [Optimization Plot Customizers](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/statistical-plotting-libraries/plot-axis-customizers/optimization-plot-customizers.md) — Returns editable figure objects for custom visualization layouts. ([source](https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/005_visualization.html))
- [Search Space Compatibility](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-serialization/schema-compatibility-validators/search-space-compatibility.md) — Compares hyperparameter search spaces to determine compatibility for warm-starting or resuming optimization trials. ([source](https://optuna.readthedocs.io/en/stable/reference/distributions.html))

### Development Tools & Productivity

- [Hyperparameter Search Algorithms](https://awesome-repositories.com/f/development-tools-productivity/search-optimization/hyperparameter-search-algorithms.md) — Selects optimal model parameters by applying various sampling algorithms that narrow the search space based on previous trial results. ([source](https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/003_efficient_optimization_algorithms.html))
- [Automated Parameter Searches](https://awesome-repositories.com/f/development-tools-productivity/search-optimization/automated-parameter-searches.md) — Runs automated grid or random searches for optimal model settings while maintaining compatibility with training workflows. ([source](https://optuna.readthedocs.io/en/stable/reference/integration.html))
- [Optimization Sessions](https://awesome-repositories.com/f/development-tools-productivity/session-management/optimization-sessions.md) — Tracks and organizes multiple execution trials within a study object to retrieve results and performance metrics. ([source](https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/001_first.html))
- [Machine Learning Pipelines](https://awesome-repositories.com/f/development-tools-productivity/task-pipeline-managers/machine-learning-pipelines.md) — Integrates systematic parameter tuning into machine learning workflows to automate the identification of optimal model architectures.
- [Optimization Logic Overrides](https://awesome-repositories.com/f/development-tools-productivity/parallel-execution/custom-parallel-task-execution/execution-logic-overrides/optimization-logic-overrides.md) — Allows implementation of user-defined sampling strategies and pruning rules to tailor the search process. ([source](https://optuna.readthedocs.io/en/stable/tutorial/index.html))

### Software Engineering & Architecture

- [Optimization Extenders](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces/custom-module-implementations/module-functionality-extenders/visualization-extenders/optimization-extenders.md) — Provides a pluggable architecture for implementing custom samplers, pruners, and training callbacks. ([source](https://optuna.github.io/optunahub/tutorials_for_contributors.html))
- [Optimization Objectives](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/graphql-performance-optimizers/optimization-objectives.md) — Finds optimal parameter sets that balance multiple competing performance metrics simultaneously during model training. ([source](https://optuna.readthedocs.io/en/stable/tutorial/index.html))
- [Pluggable Samplers](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/modular-decoupled-design/decoupled-architectures/pluggable-samplers.md) — Decouples parameter suggestion logic from the execution engine to allow for interchangeable search strategies.
- [Optimization Termination](https://awesome-repositories.com/f/software-engineering-architecture/human-in-the-loop-workflows/optimization-termination.md) — Stops the search process when estimated potential improvement falls below statistical error thresholds. ([source](https://optuna.readthedocs.io/en/stable/reference/terminator.html))
- [State Management](https://awesome-repositories.com/f/software-engineering-architecture/state-management.md) — Tracks the execution status and lifecycle of evaluation processes to ensure proper control of the optimization flow. ([source](https://optuna.readthedocs.io/en/stable/reference/trial.html))
- [Search Configurations](https://awesome-repositories.com/f/software-engineering-architecture/configuration-serializers/search-configurations.md) — Converts hyperparameter distribution definitions into portable formats for storage and later restoration. ([source](https://optuna.readthedocs.io/en/stable/reference/distributions.html))
- [Custom Sampler Implementations](https://awesome-repositories.com/f/software-engineering-architecture/middleware/custom-middleware-implementations/custom-sampler-implementations.md) — Defines user-specific sampling logic by extending base classes to support unique optimization requirements. ([source](https://optuna.readthedocs.io/en/stable/reference/samplers/index.html))

### Web Development

- [Optimization Trials](https://awesome-repositories.com/f/web-development/performance-optimizations/computational-parallelization/parallel-search-engines/optimization-trials.md) — Distributes parameter search trials across multiple processes or machines to accelerate the discovery of optimal configurations. ([source](https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/004_distributed.html))

### Part of an Awesome List

- [Automated Machine Learning](https://awesome-repositories.com/f/awesome-lists/ai/automated-machine-learning.md) — Flexible framework for hyperparameter optimization.
- [General Machine Learning](https://awesome-repositories.com/f/awesome-lists/ai/general-machine-learning.md) — Software framework for automatic hyperparameter optimization.
- [Machine Learning](https://awesome-repositories.com/f/awesome-lists/ai/machine-learning.md) — Hyperparameter optimization framework.
- [Machine Learning Libraries](https://awesome-repositories.com/f/awesome-lists/ai/machine-learning-libraries.md) — Hyperparameter optimization framework.
- [Optimization](https://awesome-repositories.com/f/awesome-lists/ai/optimization.md) — Hyperparameter optimization framework for machine learning.
- [Automated Machine Learning](https://awesome-repositories.com/f/awesome-lists/devtools/automated-machine-learning.md) — Automatic hyperparameter optimization framework for machine learning.

### DevOps & Infrastructure

- [Distributed Locks](https://awesome-repositories.com/f/devops-infrastructure/distributed-locks.md) — Coordinates distributed trials using locking mechanisms to ensure data consistency. ([source](https://optuna.readthedocs.io/en/stable/reference/storages.html))
- [Distributed Optimization Synchronization](https://awesome-repositories.com/f/devops-infrastructure/distributed-locks/distributed-optimization-synchronization.md) — Coordinates multiple parallel optimization processes through shared storage backends and locking mechanisms.
- [Worker Scaling](https://awesome-repositories.com/f/devops-infrastructure/worker-scaling.md) — Distributes optimization tasks across multiple parallel processes or machines to accelerate parameter search. ([source](https://cdn.jsdelivr.net/gh/optuna/optuna@master/README.md))
- [Trial Artifact Persisters](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure/storage-data-persistence/trial-artifact-persisters.md) — Uploads trial output files to storage backends for record-keeping. ([source](https://optuna.readthedocs.io/en/stable/reference/artifacts.html))

### System Administration & Monitoring

- [Parameter Importance Assessors](https://awesome-repositories.com/f/system-administration-monitoring/health-monitoring/assessment-health-monitors/parameter-importance-assessors.md) — Displays the relative impact of hyperparameters on performance metrics. ([source](https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/005_visualization.html))
- [Training Hooks](https://awesome-repositories.com/f/system-administration-monitoring/execution-callbacks/training-hooks.md) — Integrates with training loops via event-driven hooks to monitor progress and inject control signals.

### Programming Languages & Runtimes

- [Objective Function Execution](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/functional/objective-function-execution.md) — Runs an objective function repeatedly with varying input parameters to identify the values that minimize or maximize the function output. ([source](https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/001_first.html))
