Skip to main content

A simple tool for automatic parameter tuning.

Project description

DI-toolkit

pipeline status coverage report

A simple tool for automatic parameter tuning.

Installation

You can simply install it with pip command line from the official PyPI site.

pip install DI-toolkit

For more information about installation, you can refer to Installation.

Quick Start for HPO

Here is a simple example

import random
import sys
import time

from ditk.hpo import hpo, R, M, choice, uniform, randint


@hpo
def opt_func(v):  # this function is still usable after decorating
    x, y = v['x'], v['y']
    time.sleep(0.1)
    print("This [u]time's[/] config:", v)  # stdout will be captured
    print("This is print line in stderr", file=sys.stderr)  # stderr will be captured
    if random.random() < 0.5:  # randomly raise exception
        raise ValueError('Fxxk this shxt')  # retry is supported

    return {
        'result': x * y,
        'sum': x + y,
    }


if __name__ == '__main__':
    print(opt_func.random()  # random algorithm
          .max_steps(30)  # max steps
          .minimize(R['result'])  # the maximize/minimize target you need to optimize,
          .concern(M['time'], 'time_cost')  # extra concerned values (from metrics)
          .concern(R['sum'], 'sum')  # extra concerned values (from return value of function)
          .stop_when(R['result'] <= -800)  # conditional stop is supported
          .spaces(  # search spaces
        {
            'x': uniform(-10, 110),  # continuous space
            'y': randint(-10, 20),  # integer based space
            'z': {
                't': choice(['a', 'b', 'c', 'd', 'e']),  # enumerate space
            },
        }
    ).run())

Contributing

We appreciate all contributions to improve DI-toolkit, both logic and system designs. Please refer to CONTRIBUTING.md for more guides.

License

DI-toolkit released under the Apache 2.0 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

DI-toolkit-0.0.1.tar.gz (22.0 kB view hashes)

Uploaded Source

Built Distribution

DI_toolkit-0.0.1-py3-none-any.whl (30.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page