Neural Pipeline Search helps deep learning experts find the best neural pipeline.
Project description
Neural Pipeline Search (NePS)
NePS helps deep learning experts find the best neural pipeline with
- Hyperparameter Optimization (HPO) (example)
- (Hierarchical) Neural Architecture Search (NAS) (example)
- Joint Architecture and Hyperparameter Search (JAHS) (example, paper)
For efficiency and convenience NePS allows you to
- Input expert intuition to speed-up HPO, NAS, or JAHS (examples, paper)
- Asynchronously parallelize without code changes (documentation)
Note
As indicated with the v0.x.x
version number, NePS is early stage code and APIs might change in the future.
Documentation
Please have a look at our documentation and examples.
Installation
Using pip
pip install neural-pipeline-search
Usage
Using neps
always follows the same pattern:
- Define a
run_pipeline
function that evaluates architectures/hyperparameters for your problem - Define a search space
pipeline_space
of architectures/hyperparameters - Call
neps.run
to optimizerun_pipeline
overpipeline_space
In code, the usage pattern can look like this:
import neps
import logging
# 1. Define a function that accepts hyperparameters and computes the validation error
def run_pipeline(hyperparameter_a: float, hyperparameter_b: int):
validation_error = -hyperparameter_a * hyperparameter_b
return validation_error
# 2. Define a search space of hyperparameters; use the same names as in run_pipeline
pipeline_space = dict(
hyperparameter_a=neps.FloatParameter(lower=0, upper=1),
hyperparameter_b=neps.IntegerParameter(lower=1, upper=100),
)
# 3. Call neps.run to optimize run_pipeline over pipeline_space
logging.basicConfig(level=logging.INFO)
neps.run(
run_pipeline=run_pipeline,
pipeline_space=pipeline_space,
root_directory="usage_example",
max_evaluations_total=5,
)
For more details and features please have a look at our documentation and examples.
Analysing runs
See our documentation on analysing runs.
Alternatives
NePS does not cover your use-case? Have a look at some alternatives.
Contributing
Please see the documentation for contributors.
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 Distribution
Built Distribution
Hashes for neural-pipeline-search-0.6.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78a7024d2fce824e340fd84a1f8a30da73c40d072cd12ca77b884145b2fa42fa |
|
MD5 | 7f6298ae75fba437d1a378e91e86e7bb |
|
BLAKE2b-256 | 2f18622f1298ee31e538d78870b913d0339f69d6d891f80dc3ef64b5a0237391 |
Hashes for neural_pipeline_search-0.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56461fdc5109a9df393a1acfcb24e55e5b4b04487d17767eb8900f17683bc62d |
|
MD5 | 96e1b7b02789422065a6d840a331c2fd |
|
BLAKE2b-256 | e216eb48150731f6b8ef487fa65df34b1edad4023960b672a471ba2503f6db3e |