30 open-source projects similar to optuna/optuna, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Optuna alternative.
Hyperopt is a Python library for hyperparameter optimization designed to minimize scalar-valued objective functions. It operates as a stochastic search space engine that finds optimal input parameters by searching through real-valued, discrete, and conditional spaces. The framework distinguishes itself through its support for complex search space configurations, allowing for conditional parameter hierarchies where specific hyperparameters are sampled only if their parent parameters meet certain criteria. It is built as an asynchronous optimization framework, decoupling the generation of searc
This is a scikit-learn automated machine learning framework designed to optimize model selection and hyperparameters. It functions as an automated model selector and hyperparameter optimization tool for classification and regression tasks, utilizing an automated ensemble builder to combine high-performing models for increased predictive accuracy. The system features a distributed search engine that uses Dask for parallel machine learning optimization across CPU cores or clusters. It implements a budget-based evaluation strategy through successive halving to prioritize promising model configur
NNI is an AutoML toolkit designed to automate machine learning lifecycles. It functions as a hyperparameter optimization framework, a neural architecture search tool, and a model compression suite. The project provides a distributed training orchestrator to manage machine learning workloads across local machines, remote servers, and cloud platforms. It enables the discovery of efficient model structures through reinforcement learning and one-shot optimization methods, while utilizing Bayesian and evolutionary algorithms to automate hyperparameter tuning. Additional capabilities include tools
TPOT is a Python automated machine learning tool and pipeline framework. It automatically searches, selects, and tunes machine learning algorithms and hyperparameters to identify the most effective model architecture. The system utilizes genetic programming to optimize these pipelines through evolutionary algorithms. To accelerate the search process, it functions as a multi-core evaluator that runs parallel training workflows across multiple processor cores. The framework supports the definition of custom objective functions to optimize pipelines based on specific performance metrics.
PyCaret is a Python AutoML platform and MLOps lifecycle manager designed to automate machine learning workflows. It functions as a low-code environment that leverages a scikit-learn native engine to execute preprocessing, training, and evaluation for tabular data. The platform distinguishes itself as an LLM-powered ML copilot, using large language model agents to analyze datasets, design experiment configurations, and explain model results. It also serves as a Kubernetes ML orchestrator and model registry, enabling the versioning of trained pipelines and their promotion to production API endp
This is a Bayesian optimization library for Python designed to find the maximum value of expensive black box functions. It operates as a global optimizer that uses probabilistic models to identify the peak value of unknown functions through iterative sampling. The tool is specifically designed for hyperparameter tuning in machine learning, where it maximizes model performance while minimizing the number of required training runs. It treats the target function as a black box, selecting optimal input parameters based on statistical priors to reduce manual trial and error. The system utilizes G
AutoGluon is an automated machine learning framework designed to optimize model selection and hyperparameter tuning across tabular, text, image, and time series data. It functions as an ensemble learning library and a tabular data prediction engine, aiming to build high-accuracy predictive models without manual algorithm selection. The framework integrates multimodal machine learning pipelines that combine disparate data types into a single representation using specialized encoders. It also includes a probabilistic time series forecaster that fits multiple statistical and deep learning models
Nevergrad is a gradient-free optimization library and hyperparameter optimization framework designed to find the minimum of objective functions without using derivatives. It serves as an asynchronous optimization engine that decouples parameter suggestions from result reporting to support parallel function evaluations. The project specializes in multi-objective optimization to identify Pareto fronts for competing goals and provides a suite for benchmarking the performance and convergence of different optimization routines. It supports black-box system optimization, enabling the tuning of exte
FLAML is an automated machine learning framework, hyperparameter optimization tool, and large language model agent orchestrator. It provides a system for model selection and tuning across various learners and datasets, while also offering a toolkit for optimizing the inference parameters and fine-tuning settings of large language models. The project features a meta-learning tuning system that analyzes historical task data to generate data-dependent default configurations, accelerating model convergence. It further enables the design of collaborative multi-agent systems through conversational
This is a Python scientific computing library for finding the global maximum of expensive black-box functions. It operates as a global optimization framework that identifies optimal input parameters within defined bounds to maximize a target output. The library utilizes Gaussian process regression to predict function values and uncertainty, guiding the search for optimal parameters. It employs a surrogate-model optimization approach to approximate high-cost objective functions, reducing the total number of required evaluations. The system manages the trade-off between exploration and exploit
CatBoost is a gradient boosting machine learning library used to train decision tree ensembles for regression, classification, and ranking tasks. It functions as a high-performance framework that provides a categorical data processor for transforming non-numeric features, a distributed trainer for large-scale datasets, and GPU acceleration to speed up model construction. The library distinguishes itself through native handling of categorical data and text features, removing the need for manual encoding. It includes a specialized model interpretability tool that leverages SHAP values and featu
This is a Python automated machine learning framework designed to automate the design and optimization of machine learning pipelines. It functions as a genetic programming pipeline optimizer and an automated feature selection tool, using evolutionary search to discover the most effective sequences of data processing and model steps. The project focuses on multi-objective optimization to balance competing performance metrics simultaneously. It employs a genetic selection process to identify impactful variables and remove noise from raw datasets, ensuring the resulting machine learning solution
Keras is a high-level deep learning framework designed for constructing and training neural networks through the composition of modular, functional layers. It serves as a comprehensive modeling toolkit that provides standardized procedures for defining, evaluating, and deploying complex architectures. By utilizing a directed acyclic graph approach, the framework allows users to build intricate models with multiple inputs, outputs, and shared layers, ensuring consistent numerical execution through functional state management. The project distinguishes itself as a multi-backend machine learning
Wandb is a centralized platform for machine learning experiment tracking, model registry management, and workflow orchestration. It provides a comprehensive suite of tools for logging, visualizing, and versioning training metrics, model artifacts, and hyperparameter sweeps to ensure reproducibility across development cycles. The platform also functions as an observability tool for large language model applications, enabling the tracing of execution steps, token usage, and reasoning processes. The project distinguishes itself through its event-driven automation capabilities, which allow users
h2o-3 is a distributed machine learning platform and automated machine learning framework designed for training and deploying predictive models using distributed in-memory computing. It functions as a deep learning framework and a distributed model scoring engine, capable of operating as a Kubernetes ML cluster to process large datasets in parallel. The platform distinguishes itself through automated machine learning capabilities that automatically select the best algorithms and hyperparameters to optimize model performance. It provides specialized deep learning toolkits for tasks including i
Smile is a comprehensive JVM machine learning library and statistical computing toolkit. It provides a suite of algorithms for classification, regression, and clustering, implemented natively for Java, Scala, and Kotlin. The project also functions as a deep learning framework, a natural language processing library, and an inference engine for large language models. The library distinguishes itself through GPU acceleration via LibTorch bindings and support for the ONNX model interchange format. It includes specialized capabilities for large language model inference, featuring Byte-Pair Encodin
This project is a support vector machine library implemented in C, providing an engine for classification and regression tasks. It functions as a machine learning kernel library and a statistical model validator used to categorize data points and predict continuous numerical values. The library allows for the definition of custom kernel functions to calculate similarity between data points in specialized datasets. It also includes tools for probabilistic modeling, such as estimating class membership, data density, and distribution boundaries. Broad capabilities cover model training for multi
Fastai is a high-level deep learning library built on PyTorch that provides a unified interface for managing the entire machine learning lifecycle. It functions as a comprehensive training toolkit, abstracting hardware management and automating complex training loops to simplify the construction and execution of neural network models. The framework is distinguished by its notebook-centric development environment and a type-dispatching data pipeline that automatically applies transformations based on input data formats. It emphasizes transfer learning through discriminative layer-wise optimiza
AutoGluon is an automated machine learning framework and multimodal library designed to automate the end-to-end pipeline from data preprocessing to high-accuracy model training and validation. It functions as an automated model trainer for tabular, image, text, and time series data, as well as a tool for time series forecasting and foundation model finetuning. The project is distinguished by its ability to jointly process and fuse different data types, allowing for the construction of multimodal neural networks that integrate images, text, and structured tables. It supports zero-shot inferenc
Skorch is a library that wraps PyTorch neural networks in a scikit-learn compatible interface, allowing deep learning models to be used within standard machine learning pipelines and hyperparameter optimization tools. It functions as a data adapter, training manager, and optimization tool that bridges the gap between deep learning modules and conventional machine learning workflows. The project distinguishes itself by providing a toolkit for automating the PyTorch training lifecycle, including integrated checkpointing, early stopping, and learning rate scheduling. It further enables transfer
Mmlspark is a distributed framework for executing machine learning models, data transformations, and AI service integrations across Apache Spark clusters. It functions as a distributed machine learning library and pipeline orchestrator, allowing users to integrate pre-trained cognitive services and custom models into large-scale batch and streaming workflows. The project is distinguished by its ability to incorporate external AI services and web APIs directly into big data pipelines for text and vision analysis. It provides a scalable model training framework that coordinates gradient boostin
XGBoost is a distributed machine learning library for implementing scalable gradient boosting decision trees used for regression, classification, and ranking. It functions as a predictive model framework and a cross-language toolkit, providing a core implementation with native bindings for Python, R, Java, Scala, and C++. The system is designed as a GPU-accelerated library that utilizes CUDA and NCCL to speed up the training of decision tree ensembles. It operates as a distributed framework capable of scaling training and prediction across multi-node clusters and GPU environments to process m
This project is an educational platform and research toolkit designed to teach deep learning through a combination of mathematical theory, visual diagrams, and executable code. It provides a comprehensive environment for building, training, and evaluating neural networks, grounding complex concepts in interactive computational notebooks that allow for hands-on experimentation. The framework distinguishes itself by interleaving theoretical foundations—including linear algebra, calculus, and probability—with practical implementations across multiple industry-standard libraries. It supports flex
Hyperparameter Experiments with TensorFlow and Keras
Hyper-parameter optimization for sklearn
A Hyperparameter Tuning Library for Keras
PyTorch is a machine learning framework centered on a GPU-ready tensor library that supports multi-dimensional array operations across both CPU and accelerator hardware. It provides a foundational infrastructure for mathematical computation and dynamic neural network construction, utilizing a tape-based automatic differentiation system that allows for flexible, non-static graph execution. The framework is designed for deep integration with Python, enabling natural usage alongside standard scientific computing ecosystems. It distinguishes itself through a comprehensive distributed training sui
Determined is an open-source machine learning platform that simplifies distributed training, hyperparameter tuning, experiment tracking, and resource management. Works with PyTorch and TensorFlow.