A hyperparameter optimization toolbox for convenient and fast prototyping
Project description
A hyperparameter optimization and meta-learning toolbox for convenient and fast prototyping of machine-learning models.
Master status: | |
Dev status: | |
Code quality: | |
Latest versions: |
Hyperactive is primarly a hyperparameter optimization toolkit, that aims to simplify the model-selection and -tuning process. You can use any machine- or deep-learning package and it is not necessary to learn new syntax. Hyperactive offers high versatility in model optimization because of two characteristics:
- You can define any kind of model in the objective function. It just has to return a score/metric that gets maximized.
- The search space accepts not just int, float or str as data types but even functions, classes or any python objects.
For more information, visualization and details about the API check out the
website
Main features
- Thoroughly tested code base
- Compatible with any python machine-learning framework
- Optimize:
- Anything from simple models
to complex machine-learning-pipelines - Multi-level ensembles
- Deep neural network architecture
- Other optimization techniques (meta-optimization)
- Or any function you can specify with this API
- Anything from simple models
- Utilize state of the art optimization techniques like:
- Simulated annealing
- Evolution strategy
- Bayesian optimization
- High performance: Optimizer time is neglectable for most models
- Choose from a variety of different optimization extensions to improve the optimization
Optimization Techniques | Tested and Supported Packages | Optimization Extensions |
Local Search: Random Methods: Markov Chain Monte Carlo: Population Methods: Sequential Methods: | Machine Learning: Deep Learning: Distribution: |
Position Initialization:
Resource Allocation:
|
Installation
The most recent version of Hyperactive is available on PyPi:
pip install hyperactive
Roadmap
v2.0.0:heavy_check_mark:
- Change API
- Ray integration
v2.1.0:heavy_check_mark:
- Save memory of evaluations for later runs (long term memory)
- Warm start sequence based optimizers with long term memory
- Gaussian process regressors from various packages (gpy, sklearn, GPflow, ...) via wrapper
v2.2.0:heavy_check_mark:
- Add basic dataset meta-features to long term memory
- Add helper-functions for memory
- connect two different model/dataset hashes
- split two different model/dataset hashes
- delete memory of model/dataset
- return best known model for dataset
- return search space for best model
- return best parameter for best model
v2.3.0
- Tree-structured Parzen Estimator
- Multiple experimental SBOM
- Meta-Optimization of all optimizers
v2.4.0
- Spiral optimization
- Downhill-Simplex-Method
- Differential evolution
v2.5.0
- Helper-functions for early stopping
- Helper-functions for dataset approximation
Experimental algorithms
The following algorithms are of my own design and, to my knowledge, do not yet exist in the technical literature. If any of these algorithms already exist I would like you to share it with me in an issue.
Random Annealing
A combination between simulated annealing and random search.
Scatter Initialization
Inspired by hyperband optimization.
References
[1] Proxy Datasets for Training Convolutional Neural Networks
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file hyperactive-2.2.1-py3-none-any.whl
.
File metadata
- Download URL: hyperactive-2.2.1-py3-none-any.whl
- Upload date:
- Size: 47.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88b9e7b3c0fc65fae820333676d27c829a00322c487d7295d5994037753b64c9 |
|
MD5 | 7e8dfa1d53d23ad708d61f2978ff6c55 |
|
BLAKE2b-256 | 65b9e25df0785dc4784b4986c680bec9554709981ed3b1bb1682dcfe53bc9d7d |