Skip to content

Tuner

🚨 Experimental

automodel

AutoModelV2

Search Hyperparameter for your Model

Examples:

tuner = Tuner()
cnns = tuner.suggest_complex("learner", cnn1, cnn2)
optimizers = tuner.choice("optimizer", "adam", "sgd")
loss = "crossentropyloss"
model = AutoModelV2(cnns)
model.hp_tune(tuner, autodataset, max_epochs=10)

Parameters:

Name Type Description Default
learner

tuner.

required
optimization_metric

metric on which to optimize model on

required
mode

max or min for optimization_metric

required

build_model(self, hparams, tuner)

build and compile Model

State (Enum)

An enumeration.

tuner

ComplexObject

Class to store and retrieve large size objects and convert it to ray.tune.Domain. Objects will be stored with ray.put and retrieved with ray.get.

to_choice(self)

converts to ray.tune Domain

Tuner

Supports ray.tune methods and provide an easy way for tuning large size complex objects like Models.

choice(self, key, *values)

Tune for categorical values

get_complex_object(self, key, idx)

Get registered complex object value from key at given index

scalar(self, key, value)

This sets a scalar value and will not be used for tuning

suggest_complex(self, key, *values)

Use this method when you want to search models or any large object. It will also update search space with the provided key.

Parameters:

Name Type Description Default
key str

hyperparameter name

required
*values Sequence

values for the hyperparameter

()

Returns:

Type Description
ComplexObject

ComplexObject

union(self, tuner)

Inplace Merge of two Tuners

update_search_space(self, k, v)

Update search space with value ray.tune(...) or gradsflow.tuner.ComplexObject

Parameters:

Name Type Description Default
k str

hyperparameter name

required
v Union[ray.tune.sample.Domain, gradsflow.tuner.tuner.ComplexObject]

hyperparameter value - ray.tune(...) or gradsflow.tuner.ComplexObject object.

required

Last update: September 29, 2021