hparam — Model Optimizer 0.27.1 (original) (raw)
Standard hyperparameter class for regular symbol.
Classes
Hparam | A base hyperparameter of a DynamicModule. |
---|
class Hparam
Bases: object
A base hyperparameter of a DynamicModule.
An example of such a Hparam could be an hparam with identity dependencies.
ActiveSlice
alias of Union
[slice
, LongTensor
]
Importance
alias of Optional
[Tensor
]
ImportanceEstimator
alias of Callable
[[], Optional
[Tensor
]]
__init__(choices, original=None)
Initializes Hparam with original value and choices.
Parameters:
- choices (Sequence [ tuple [ int , ... ] | int | float | CustomHPType ]) –
- original (tuple [ int , ... ] | int | float | CustomHPType | None) –
Return type:
None
property active_: tuple[int, ...] | int | float | CustomHPType_
Return the currently active value.
property active_slice_: slice | LongTensor_
Return the currently active sorted indices or slice corresponding to the active value.
property choices_: Sequence[tuple[int, ...] | int | float | CustomHPType]_
Return available choices.
enforce_order(order=None)
Store a reference to this order and enforce the order for active_slice.
This function enables the user to enforce an order how the active_slice is generated.
Example
If the hparam has active value 16 and the max value is 32, the active_slice by default will be slice(16)
, which is equivalent to range(16)
(although faster). When order is set active_slice will instead return self._order[:16]
.
TODO: will we ever need a cycle detector here?
Parameters:
order (Tensor | None) –
Return type:
None
property importance_: Tensor | None_
Computes and returns the normalized importance among the features the hparam represents.
Note that the importance is represented as a 1d-tensor with the length equal to the max choice (Hparam.max) of the hparam.
For example, if the hparam represents the number of in_channels to a Conv2d layer, the importance should be a 1d-tensor of importance score with length equal to the number of in_channels.
Note that each module should register appropriate importance callbacks to compute the actual importance associated with the hparam choices. If there is no notion of importance for the hparam, this function returns None.
property is_configurable
Return whether the hparam is configurable.
property is_sortable
Return whether hparam in sortable.
property max_: tuple[int, ...] | int | float | CustomHPType_
Return max value from among choices.
property min_: tuple[int, ...] | int | float | CustomHPType_
Return min value from among choices.
property original_: tuple[int, ...] | int | float | CustomHPType_
Return original value from among choices.
register_importance(importance_estimator)
Register importance estimator for the hparam.
This estimator does not take any arguments and should return a single argument ( optional 1d-tensor) representing the importance among features the hparam represents. If the return argument is a tensor, the length of the tensor must be equal to the max choice (Hparam.max) of the hparam.
Parameters:
importance_estimator (Callable [ [ ] , Tensor | None ]) –