trw.hparams.params

Module Contents

Classes

HyperParam

Represent an hyper-parameter

DiscreteValue

Discrete value. This can be useful to select one choice among many

DiscreteMapping

Map discrete value to another discrete value

DiscreteInteger

Represent an integer hyper-parameter

DiscreteBoolean

Represent a boolean hyper-parameter

ContinuousUniform

Represent a continuous hyper-parameter

ContinuousPower

Represent a continuous power hyper-parameter

HyperParameters

Holds a repository a set of hyper-parameters

HyperParameterRepository

Holds the current hyper-parameters

Functions

create_discrete_value(name: str, default_value: Any, values: List[Any]) → Any

create_discrete_mapping(name: str, default_value: Any, mapping: Dict[Any, Any]) → Any

create_discrete_integer(name: str, default_value: Any, min_range: int, max_range: int) → Any

create_boolean(name: str, default_value: Any) → bool

create_continuous_uniform(name: str, default_value: float, min_range: float, max_range: float) → float

create_continuous_power(name: str, default_value: float, exponent_min: float, exponent_max: float) → float

register_hparam(hparam: HyperParam) → Any

Create a hyper-parameter and record it in the HyperParameterRepository repository

Attributes

logger

trw.hparams.params.logger
class trw.hparams.params.HyperParam(name: str, default_value: Any, current_value: Any = None)

Bases: abc.ABC

Represent an hyper-parameter

set_value(self, value: Any) None

Set the current value of an hyper-parameter

Parameters

value – the new current value

get_value(self) Any

return the current value of an hyper-parameter

abstract randomize(self) None

Randomize the current value of an hyper-parameter

class trw.hparams.params.DiscreteValue(name: str, default_value: Any, values: List[Any])

Bases: HyperParam

Discrete value. This can be useful to select one choice among many

set_value(self, value: Any) None

Set the current value of an hyper-parameter

Parameters

value – the new current value

randomize(self)

Randomize the current value of an hyper-parameter

__repr__(self)

Return repr(self).

trw.hparams.params.create_discrete_value(name: str, default_value: Any, values: List[Any]) Any
class trw.hparams.params.DiscreteMapping(name: str, default_value: Any, mapping: Dict[Any, Any])

Bases: HyperParam

Map discrete value to another discrete value

e.g., this can be useful to test activation function as hyper-parameter

set_value(self, value: Any)

Set the current value of an hyper-parameter

Parameters

value – the new current value

get_value(self)

return the current value of an hyper-parameter

randomize(self)

Randomize the current value of an hyper-parameter

__repr__(self)

Return repr(self).

trw.hparams.params.create_discrete_mapping(name: str, default_value: Any, mapping: Dict[Any, Any]) Any
class trw.hparams.params.DiscreteInteger(name: str, default_value: int, min_range: int, max_range: int)

Bases: HyperParam

Represent an integer hyper-parameter

randomize(self) None

Randomize the current value of an hyper-parameter

__repr__(self)

Return repr(self).

trw.hparams.params.create_discrete_integer(name: str, default_value: Any, min_range: int, max_range: int) Any
class trw.hparams.params.DiscreteBoolean(name, default_value)

Bases: HyperParam

Represent a boolean hyper-parameter

randomize(self) None

Randomize the current value of an hyper-parameter

__repr__(self)

Return repr(self).

trw.hparams.params.create_boolean(name: str, default_value: Any) bool
class trw.hparams.params.ContinuousUniform(name: str, default_value: float, min_range: float, max_range: float)

Bases: HyperParam

Represent a continuous hyper-parameter

randomize(self) None

Randomize the current value of an hyper-parameter

__repr__(self)

Return repr(self).

trw.hparams.params.create_continuous_uniform(name: str, default_value: float, min_range: float, max_range: float) float
class trw.hparams.params.ContinuousPower(name: str, default_value: float, exponent_min: float, exponent_max: float)

Bases: HyperParam

Represent a continuous power hyper-parameter

This type of distribution can be useful to test e.g., learning rate hyper-parameter. Given a random number x generated from uniform interval (min_range, max_range), return 10 ** x

Examples

>>> hp1 = ContinuousPower('hp1', default_value=0.1, exponent_min=-5, exponent_max=-1)
``hp1.get_value()`` would return a value in the range(1e-1, 1e-5)
randomize(self) None

Randomize the current value of an hyper-parameter

__repr__(self)

Return repr(self).

trw.hparams.params.create_continuous_power(name: str, default_value: float, exponent_min: float, exponent_max: float) float
class trw.hparams.params.HyperParameters(hparams: Optional[Dict[str, HyperParam]] = None, randomize_at_creation: bool = False, hparams_to_randomize: Optional[List[str]] = None)

Holds a repository a set of hyper-parameters

hparam_to_be_randomized(self, haparam_name: str) bool
create(self, hparam: HyperParam) Any

Create an hyper parameter if it is not already present. If it is present, the given hparam is ignored

Parameters

hparam – the hyper-parameter

Returns

the hyper parameter value

randomize(self) None

Set hyper-parameter to a random value

__getitem__(self, name: str)
get_value(self, name: str) Any

Return the current value of an hyper-parameter

__str__(self)

Return str(self).

__repr__(self)

Return repr(self).

__len__(self)
class trw.hparams.params.HyperParameterRepository

Holds the current hyper-parameters

current_hparams :HyperParameters
static reset(new_hparams: Optional[HyperParameters] = None) None

Replace the existing hyper parameters by a new one

Parameters

new_hparams – the new hyper-parameters

trw.hparams.params.register_hparam(hparam: HyperParam) Any

Create a hyper-parameter and record it in the HyperParameterRepository repository

Parameters

hparam – the hyper-parameter to be created

Returns

the value of the hyper-parameter