torch_openreml.covariance.transform.TransformSigmoid¶
- class torch_openreml.covariance.transform.TransformSigmoid[source]¶
Bases:
TransformSigmoid transform mapping reals to the open unit interval.
\[f(x) = \frac{1}{1 + e^{-x}}\]Initialize the sigmoid transform.
Methods
__call__(x)Apply the sigmoid transform.
grad(x)Compute derivative of \(\sigma(x)\) for chain rule propagation.
inverse(x)Apply the inverse transform (logit).
Attributes
- domain = 'ℝ₀⁺'¶
Domain of the transform.
- codomain = '(0, 1)'¶
Codomain of the transform.
- __call__(x)[source]¶
Apply the sigmoid transform.
- Parameters:
x (torch.Tensor) – Input tensor in \(\mathbb{R}_{0+}\).
- Returns:
Element-wise \(\frac{1}{1 + e^{-x}}\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformSigmoid t = TransformSigmoid() x = torch.tensor([-2.0, 0.0, 2.0]) t(x)
tensor([0.1192, 0.5000, 0.8808])
- inverse(x)[source]¶
Apply the inverse transform (logit).
- Parameters:
x (torch.Tensor) – Input tensor in \((0, 1)\).
- Returns:
Element-wise \(\log\frac{x}{1 - x}\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformSigmoid t = TransformSigmoid() x = torch.tensor([0.1, 0.5, 0.9]) t.inverse(x)
tensor([-2.1972, 0.0000, 2.1972])
- grad(x)[source]¶
Compute derivative of \(\sigma(x)\) for chain rule propagation.
Note
\[\frac{d}{dx} \sigma(x) = \sigma(x)(1 - \sigma(x))\]- Parameters:
x (torch.Tensor) – Input tensor.
- Returns:
\(\sigma(x)(1 - \sigma(x))\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformSigmoid t = TransformSigmoid() x = torch.tensor([0.0, 1.0]) t.grad(x)
tensor([0.2500, 0.1966])