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.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a4b992cd9a3eb76a85915eeba76591800446e8ad5bd91ffdb1a0ecac4b4f8ed |
|
MD5 | 4221b50b3ccba53090455872fe203f1c |
|
BLAKE2b-256 | a9d8d5b59078aefa6fead09151cbc20f303c0a6a010c1aa2fc32ab1603229828 |
Hashes for neural_pipeline_search-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7b1f600ef61c43872faa21f1d2fdc47800ba9f14eddec57f552fb5eeaf8018b |
|
MD5 | d1903993cf76a901196b19e8a338d124 |
|
BLAKE2b-256 | 1a2bdd158d4e3c3d03de68fad467e0af498ffac21199a54b297ebfd9b44c207e |