did.kernels¶
kernels.py
Implements generic Kernel module as well as Abel and Gaussian kernels.
Module Contents¶
Functions¶
|
Wrapper for torch.cdist with exponent 2. |
|
Kernel function for Abel kernel defined as: |
|
Kernel function for Gaussian kernel defined as: |
-
class
did.kernels.Kernel(kernel_name, kernel_fn, kernel_params)¶ Bases:
torch.nn.ModuleGeneric Kernel nn.Module.
Implements a validate_input static method and forward.
-
static
validate_input(x)¶ Validate input, else add dimension in front.
- Parameters
x (torch.Tensor) – Input tensor to validate.
- Returns
Validated input tensor, or unsqueezed at 0 dimension.
- Return type
torch.Tensor
-
forward(self, x, y)¶
-
static
-
did.kernels.sq_dist(X1, X2)¶ Wrapper for torch.cdist with exponent 2.
\(\Vert X_1 - X_2\Vert^2_2\)
- Parameters
X1 (torch.Tensor with size (n, d))
X2 (torch.Tensor with size (m, d))
- Returns
- Return type
torch.Tensor with size (n, m)
-
did.kernels.abel_kernel(X1, X2, a=1.0)¶ Kernel function for Abel kernel defined as:
\(k(x, y) = \exp(-a\Vert x - y\Vert_2)\).
- Parameters
X1 (torch.Tensor with size (n, d))
X2 (torch.Tensor with size (m, d))
a (float, parameter)
- Returns
- Return type
torch.Tensor with size (n, m)
-
did.kernels.gaussian_kernel(X1, X2, sigma=1.0)¶ Kernel function for Gaussian kernel defined as:
\(k(x, y) = \exp\left(-\frac{\Vert x - y\Vert_2 ^2}{2 \sigma^2}\right)\).
- Parameters
X1 (torch.Tensor with size (n, d))
X2 (torch.Tensor with size (m, d))
sigma (float, bandwidth parameter)
- Returns
- Return type
torch.Tensor with size (n, m)