Parameter and ConstrainedParameter
svetlanna.Parameter
Bases: Tensor
torch.Parameter-like tensor with an internal storage module.
This class is used to keep a trainable torch.nn.Parameter inside a
torch.nn.Module while presenting a torch.Tensor-like interface.
Parameters:
-
data(Any) –Initial value, should be a tensor or convertible to a tensor.
-
requires_grad(bool, default:True) –Whether the parameter requires gradients, by default True.
Examples:
You can use Parameter as a trainable parameter in any SVETlANNa
element when it is typed as
OptimizableFloat or
OptimizableTensor:
svetlanna.ConstrainedParameter
ConstrainedParameter(
data: Any,
min_value: Any,
max_value: Any,
bound_func: Callable[[Tensor], Tensor] = sigmoid,
inv_bound_func: Callable[[Tensor], Tensor] = logit,
requires_grad: bool = True,
)
Bases: Parameter
Parameter constrained to a bounded range.
The constraint is implemented by applying bound_func to the inner
parameter, mapping it to \([0, 1]\), and then scaling and shifting it to
(min_value, max_value).
Parameters:
-
data(Any) –Initial parameter value.
-
min_value(Any) –Minimum allowed value.
-
max_value(Any) –Maximum allowed value.
-
bound_func(Callable[[Tensor], Tensor], default:sigmoid) –Function that maps \(\mathbb{R}\to[0,1]\), by default
torch.sigmoid. -
inv_bound_func(Callable[[Tensor], Tensor], default:logit) –Inverse of
bound_func, by defaulttorch.logit. It is used once to compute the initial inner parameter value fromdata. -
requires_grad(bool, default:True) –Whether the parameter requires gradients, by default True.
Examples:
You can use ConstrainedParameter as a trainable parameter in any
SVETlANNa element when it is typed as
OptimizableFloat or
OptimizableTensor: