torch_openreml.covariance.transform.TransformExp2¶
- class torch_openreml.covariance.transform.TransformExp2[source]¶
Bases:
TransformBase-2 exponential transform.
\[f(x) = 2^x\]Initialize base-2 exponential transform.
Methods
__call__(x)Apply base-2 exponential transform.
grad(x)Compute derivative of \(2^x\).
inverse(x)Apply inverse base-2 logarithm.
Attributes
- domain = 'ℝ'¶
Domain of the transform.
- codomain = 'ℝ⁺'¶
Codomain of the transform.
- __call__(x)[source]¶
Apply base-2 exponential transform.
- Parameters:
x (torch.Tensor) – Input tensor in \(\mathbb{R}\).
- Returns:
\(2^x\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformExp2 t = TransformExp2() x = torch.tensor([0.0, 1.0]) t(x)
tensor([1., 2.])
- inverse(x)[source]¶
Apply inverse base-2 logarithm.
- Parameters:
x (torch.Tensor) – Input tensor in \(\mathbb{R}_{+}\).
- Returns:
\(\log_{2}(x)\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformExp2 t = TransformExp2() x = torch.tensor([1.0, 2.0]) t.inverse(x)
tensor([0., 1.])
- grad(x)[source]¶
Compute derivative of \(2^x\).
Note
\[\frac{d}{dx} 2^x = 2^x \ln 2\]- Parameters:
x (torch.Tensor) – Input tensor.
- Returns:
\(2^x \ln 2\).
- Return type:
torch.Tensor
Example:
import torch from torch_openreml.covariance.transform import TransformExp2 t = TransformExp2() x = torch.tensor([1.0]) t.grad(x)
tensor([1.3863])