Metadata-Version: 2.0
Name: autotune
Version: 0.0.1
Summary: Hyperparameter tuning
Home-page: https://github.com/vzhong/autotune
Author: Victor Zhong
Author-email: victor@victorzhong.com
License: UNKNOWN
Description-Content-Type: UNKNOWN
Keywords: machine learning
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: GPUtil
Requires-Dist: numpy
Provides-Extra: dev
Requires-Dist: check-manifest; extra == 'dev'
Requires-Dist: nose; extra == 'dev'
Provides-Extra: test
Requires-Dist: coverage; extra == 'test'
Requires-Dist: nose; extra == 'test'

# autotune
Hyperparameter tuning on GPUs

[![Build Status](https://travis-ci.org/vzhong/autotune.svg?branch=master)](https://travis-ci.org/vzhong/autotune)

## Installation

```bash
pip install pip install git+git://github.com/vzhong/autotune.git
```

## Usage

You can use the binary:

```bash
autotune -h
```

Or use it programmatically:

```python
from autotune.tuner import RandomSearch
from autotune.spec import Spec

config = Spec.load('myconf.json')
tuner = RandomSearch('myprog.bin', config)
tuner.tune(2, out='output')
```

where `myconf.json` looks something like:

```json
{
  "foo": [-1, 1],
  "bar": [2.0, 3.0]
}
```

This will run 2 commands `myprog.bin --foo $FOO --bar $BAR` where `$FOO` is an integer sampled between `-1` and `1` and `$BAR` is a float sampled between `2.0` and `3.0`.
You can pass in an optional parameter `name='nickname'`, which will add to the command `--nickname $HASH`, where `$HASH` is a hash of the specific parameters used for this command.
You can also pass in an optional parameter `gpu=True`, which will queue jobs onto aavailable GPUs.
The command then becomes `CUDA_VISIBLE_DEVICES=$GPU myprog.bin --foo $FOO --bar $BAR --gpu 0`, where `$GPU` is a free GPU (e.g. no memory usage).


